Data integration systems are formally defined as a tuple formula_1 where formula_2 is the global (or mediated) schema, formula_3 is the heterogeneous set of source schemas, and formula_4 is the mapping that maps queries between the source and the global schemas. Both formula_2 and formula_3 are expressed in languages over alphabets composed of symbols for each of their respective relations. The mapping formula_4 consists of assertions between queries over formula_2 and queries over formula_3. When users pose queries over the data integration system, they pose queries over formula_2 and the mapping then asserts connections between the elements in the global schema and the source schemas.