Instance Perm_preimage  : @Perm_alg _  Join_preimage.
Instance Sep_preimage {SAb: Sep_alg B}: Sep_alg A.
Instance Disj_preimage {SAb: Sep_alg B}{DAb: Disj_alg B} : Disj_alg A.
End sa_preimage.
Existing Instance Join_preimage.
Existing Instance Perm_preimage.
Existing Instance Sep_preimage.
Existing Instance Sing_preimage.
Existing Instance Canc_preimage.
Existing Instance Disj_preimage.
Section SepAlgBijection.
Variables (A: Type) (Ja: Join A)(PAa: Perm_alg A).
Variable B:Type .
Variable bij : bijection A B.
Instance Join_bij: Join B := fun (x y z : B) => join (bij_g _ _ bij x) (bij_g _ _ bij y) (bij_g _ _ bij z).

Lemma Perm_bij  : Perm_alg B.
Instance Sep_bij {SAa: Sep_alg A} : Sep_alg B.