File tree Expand file tree Collapse file tree 1 file changed +21
-0
lines changed
Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ Require Import ExtLib.Core.RelDec.
44Require Import ExtLib.Structures.Monoid.
55Require Import ExtLib.Structures.Reducible.
66Require Import ExtLib.Tactics.Consider.
7+ Require Import ExtLib.Tactics.Injection.
78
89Set Implicit Arguments .
910Set Strict Implicit .
@@ -180,6 +181,26 @@ Section ListEq.
180181
181182End ListEq.
182183
184+ Global Instance Injective_cons T (a : T) b c d : Injective (a :: b = c :: d) :=
185+ { result := a = c /\ b = d }.
186+ inversion 1; auto.
187+ Defined .
188+
189+ Global Instance Injective_cons_nil T (a : T) b : Injective (a :: b = nil) :=
190+ { result := False }.
191+ inversion 1; auto.
192+ Defined .
193+
194+ Global Instance Injective_nil_cons T (a : T) b : Injective (nil = a :: b) :=
195+ { result := False }.
196+ inversion 1; auto.
197+ Defined .
198+
199+ Global Instance Injective_nil_nil T : Injective (nil = @nil T) :=
200+ { result := True }.
201+ auto.
202+ Defined .
203+
183204Lemma eq_list_eq
184205: forall T (a b : T) (pf : a = b) (F : _ -> Type) val,
185206 match pf in _ = x return list (F x) with
You can’t perform that action at this time.
0 commit comments