(* Note: there are two other conceivable conclusions from the above premises: "joins b b" and "join_sub b a".  Neither must follow, since neither is true on the bools, but also neither is a contradiction since both are true on Z *)

Lemma join_sub_joins'  {A} `{HA: Perm_alg A}:
forall {a a' b b' : A},
join_sub a a' -> join_sub b b' -> joins a' b' -> joins a b.