Require Export List.
Require Lt.
Definition all_equiv (l: list Prop) :=
forall x y, In x l -> In y l -> (x <-> y).
Definition all_equiv'_aux (l: list Prop) : Prop.
Definition all_equiv' (l: list Prop) : Prop.
*)
Definition stronger (l1 l2 : list Prop) :=
forall x y, In x l1 -> In y l2 -> (x -> y).
Definition all_equiv_under (l1 l2 : list Prop) :=
forall x y z, In x l1 -> In y l2 -> In z l2 -> (x -> (y <-> z)).

Lemma all_equiv3_stronger3__all_equiv : forall l1 l2 l3,
l1 <> nil -> l2 <> nil -> l3 <> nil ->
all_equiv l1 -> all_equiv l2 -> all_equiv l3 ->
stronger l1 l2 -> stronger l2 l3 ->  stronger l3 l1 ->
all_equiv (l1++l2++l3).