Definition sub_silhouette {A} `{Perm_alg A} (a b: A) : Prop :=
    forall c, joins c b -> joins c a.Definition same_silhouette {A} `{Perm_alg A} (a b: A) : Prop :=
    forall c, joins c a <-> joins c b.

Lemma sub_silhouette_trans {A} `{Perm_alg A}: forall a b c, sub_silhouette a b -> sub_silhouette b c -> sub_silhouette a c.