Module KL := KL'.
Instance Join_nat_F: Join (nat * F predicate) :=
Join_prod nat  (Join_equiv nat) (F predicate) _.
Instance Perm_nat_F : Perm_alg (nat * F predicate) :=
@Perm_prod nat _ _ _ (Perm_equiv _) (Perm_F _).
Instance Sep_nat_F: Sep_alg (nat * F predicate) :=
@Sep_prod nat _ _ _ (Sep_equiv _) (Sep_F predicate).
Instance Join_knot : Join knot :=
Join_preimage knot (nat * F predicate) Join_nat_F unsquash.
Instance Perm_knot : Perm_alg knot :=
Perm_preimage _ _ _ _ unsquash squash squash_unsquash unsquash_squash_join_hom.
Instance Sep_knot: Sep_alg knot :=
Sep_preimage _ _ _  unsquash squash squash_unsquash unsquash_squash_join_hom.

Lemma age_join1 :
forall x y z x' : K'.knot,
join x y z ->
age x x' ->
exists y' : K'.knot,
exists z' : K'.knot, join x' y' z' /\ age y y' /\ age z z'.