fact: Fixpoint Forall_forall1_transparent {A} (P : A -> Prop) (l : list A) {struct l} : Forall P l -> forall x, In x l -> P x := match l as l return Forall P l -> forall x, In x l -> P x with | nil => fun _ _ f => match f : False with end | x::xs => fun H x' H' => match H' with | or_introl H'' => eq_rect x P (Forall_forall1_transparent_helper_1 H eq_refl) _ H'' | or_intror H'' => @Forall_forall1_transparent A P xs (Forall_forall1_transparent_helper_2 H eq_refl) _ H'' end end.
imports: Coq.Lists.List Coq.ZArith.ZArith Coq.Lists.SetoidList Coq.Setoids.Setoid Coq.Classes.RelationClasses Coq.Program.Program Coq.Classes.Morphisms Fiat.Common.Tactics.SplitInContext Fiat.Common.Tactics.Combinators Fiat.Common.Tactics.FreeIn Fiat.Common.Tactics.SetoidSubst Fiat.Common.Tactics.BreakMatch Fiat.Common.Tactics.Head Fiat.Common.Tactics.FoldIsTrue Fiat.Common.Tactics.SpecializeBy Fiat.Common.Tactics.DestructHyps Fiat.Common.Tactics.DestructSig Fiat.Common.Tactics.DestructHead Fiat.Common.Coq__8_4__8_5__Compat