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.