Creates a Theory backed by an indexed data structure, containing the given clauses
Let developers easily create a Theory backed by an indexed data structure, while avoiding variables names clashing by using a different Scope for each Clause