Quasi-Inverse (of a function) Given f : X -> Y, a function g is a quasi-inverse if: g : Z -> X, where ran(f) Z Y, and f g f = f
Quasi-Inverse (of a function) Examples: f(x) = x 2 g 1 (x) = sqrt(x) g 2 (x) = -sqrt(x) f(x) = x g(x) = x + , where 0 1.
Features of Quasi-Inverses Weaker conditions than for inverse Still recovers some of the original If an inverse f exists: a single quasi-inverse g exists g = f
Quasi-Inverse (of a mapping) Problem: What’s a good analogous quasi-inverse definition for schema mappings?
Quasi-Inverse (of a mapping) Idea: Parameterize the idea of “inverse” w.r.t. equivalence relations ~ 1, ~ 2 on schema instances.
Quasi-Inverse: Preliminaries S´ is a replica of S. Instance I´ is a replica of I. For mapping M = (S, S´, ), Inst(M) = set of all (I 1, I 2 ) such that I 1 and I 2 are instances of S, S´ (resp.) and satisfy . Id = (S, S´, id ), where id contains R(x) -> R(x) for all R in S. Note: I 1 (Inst(Id)) I 2 if I 1 ´ I 2.
Quasi-Inverse: Preliminaries Note: M’ is an inverse of M if Inst(Id) = Inst(M’ · M). For a binary relation D, let I 1 D[~ 1, ~ 2 ] I 2 if there exist J 1, J 2 such that (I 1, I 2 ) ~ (1,2) (J 1, J 2 ) and J 1 D J 2.
Quasi-Inverse (of a mapping) Formal definition: Given a mapping M = (S, T, ), M´ = (T, S, ´) is a (~ 1, ~ 2 )-inverse of M iff Inst(Id)[~ 1, ~ 2 ] = Inst(M’ · M)[~ 1, ~ 2 ].
Quasi-Inverse (of a mapping) Again, M = (S, S´, ). Let Sol(M, I) be the set of solutions for instance I under M: all J such that (I, J) satisfy . Let (I 1 ~ M I 2 ) Sol(M, I 1 ) = Sol(M, I 2 ). M’ is a quasi-inverse of M means: M’ is a (~ M, ~ M )-inverse of M.