(* 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_trans {A} `{HA: Perm_alg A}: forall {a b c},
join_sub a c -> joins c b -> joins a b.