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_impl3__all_equiv : forall l1 l2 l3 x y x' y' x'' y'',
all_equiv l1 -> all_equiv l2 -> all_equiv l3 ->
In x l1 -> In y l2 -> (x -> y) ->
In x' l2 -> In y' l3 -> (x' -> y') ->
In x'' l3 -> In y'' l1 -> (x'' -> y'') ->
all_equiv (l1++l2++l3).