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 same_silhouette_trans {A} `{Perm_alg A}: forall a b c, same_silhouette a b -> same_silhouette b c -> same_silhouette a c.