diff options
author | Enrico Tassi <gareuselesinge@debian.org> | 2015-07-15 13:15:50 +0200 |
---|---|---|
committer | Enrico Tassi <gareuselesinge@debian.org> | 2015-07-15 13:15:50 +0200 |
commit | e347929583f820a2cc0296597b6382309e930989 (patch) | |
tree | cdc3f18fc5c66a9d3d7cc8404c6a295169e41fcc /test-suite/bugs/closed/3703.v | |
parent | c01be74d81a5466c58f8dc6c568db286b0979997 (diff) | |
parent | 0aa2544d04dbd4b6ee665b551ed165e4fb02d2fa (diff) |
Merge tag 'upstream/8.5_beta2+dfsg' into test
Upstream version 8.5~beta2+dfsg
Diffstat (limited to 'test-suite/bugs/closed/3703.v')
-rw-r--r-- | test-suite/bugs/closed/3703.v | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test-suite/bugs/closed/3703.v b/test-suite/bugs/closed/3703.v new file mode 100644 index 00000000..72825007 --- /dev/null +++ b/test-suite/bugs/closed/3703.v @@ -0,0 +1,32 @@ +Require Import TestSuite.admit. +(* File reduced by coq-bug-finder from original input, then from 6746 lines to 4190 lines, then from 29 lines to 18 lines, then fro\ +m 30 lines to 19 lines *) +(* coqc version trunk (October 2014) compiled on Oct 7 2014 12:42:41 with OCaml 4.01.0 + coqtop version cagnode16:/afs/csail.mit.edu/u/j/jgross/coq-trunk,trunk (2313bde0116a5916912bebbaca77d291f7b2760a) *) +Record PreCategory := { identity : forall x, x -> x }. +Definition set_cat : PreCategory := @Build_PreCategory (fun T x => x). +Module UnKeyed. + Global Unset Keyed Unification. + Goal forall (T : Type) (g0 g1 : T) (k : T) (H' : forall x : T, k = @identity set_cat T x), + ((fun x : T => x) g0) = ((fun x : T => x) g1). + intros T g0 g1 k H'. + change (identity _ _) with (fun y : T => y) in H'; + rewrite <- H' || fail "too early". + Undo. + rewrite <- H'. + admit. + Defined. +End UnKeyed. +Module Keyed. + Global Set Keyed Unification. + Declare Equivalent Keys (fun x => _) identity. + Goal forall (T : Type) (g0 g1 : T) (k : T) (H' : forall x : T, k = @identity set_cat T x), + ((fun x : T => x) g0) = ((fun x : T => x) g1). + intros T g0 g1 k H'. + change (identity _ _) with (fun y : T => y) in H'; + rewrite <- H' || fail "too early". + Undo. + rewrite <- H'. + admit. + Defined. +End Keyed.
\ No newline at end of file |