(* MOVE THIS ONE ELSEWHERE! *)
Definition cjoins {A} {JA: Join A} (a b : A) : Type := {c : A | join a b c}.(* MOVE THIS ONE ELSEWHERE! *)
Definition cjoin_sub {A} {JA: Join A} (a c : A) : Type := {b : A | join a b c}.

Lemma psub_joins {A} {JA: Join A} {PA: Perm_alg A} {Pos_A: Pos_alg A}{DA: Disj_alg A} : forall a b, join_sub a b -> joins a b -> False.