Instance Join_preimage: Join A :=
          fun a b c => join (f a) (f b) (f c).Instance Perm_preimage  : @Perm_alg _  Join_preimage.Instance Sep_preimage {SAb: Sep_alg B}: Sep_alg A.Instance Sing_preimage {SAb: Sep_alg B}{Sing_b: Sing_alg B}: Sing_alg A.Instance Canc_preimage {SAb: Sep_alg B}{CAb: Canc_alg B} : Canc_alg A.Instance Disj_preimage {SAb: Sep_alg B}{DAb: Disj_alg B} : Disj_alg A.Instance Join_bij: Join B := fun (x y z : B) => join (bij_g _ _ bij x) (bij_g _ _ bij y) (bij_g _ _ bij z).

(* Specifications: *)
Lemma Perm_bij : Perm_alg B.