diff options
| author | Matthieu Sozeau | 2014-07-03 18:51:13 +0200 |
|---|---|---|
| committer | Matthieu Sozeau | 2014-07-03 18:53:17 +0200 |
| commit | e7ba2a9be24823503495e959f0dffc131e99801b (patch) | |
| tree | db0a3979974c88e101804438cfb89c1ddc70742d /test-suite/bugs/opened | |
| parent | f2327aa3c69f1695f99e2ccbfe00c4e54e56e7d2 (diff) | |
Fix eta expansion of primitive records (HoTT bug #78), which now fails cleanly when called
on partially applied constructors. Also protect evar_conv from that case.
Diffstat (limited to 'test-suite/bugs/opened')
| -rw-r--r-- | test-suite/bugs/opened/HoTT_coq_078.v | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/test-suite/bugs/opened/HoTT_coq_078.v b/test-suite/bugs/opened/HoTT_coq_078.v deleted file mode 100644 index a2c97d0675..0000000000 --- a/test-suite/bugs/opened/HoTT_coq_078.v +++ /dev/null @@ -1,45 +0,0 @@ -Set Implicit Arguments. -Require Import Logic. - -(*Global Set Universe Polymorphism.*) -Global Set Asymmetric Patterns. -Local Set Primitive Projections. - -Local Open Scope type_scope. - -Record prod (A B : Type) : Type := - pair { fst : A; snd : B }. - -Arguments pair {A B} _ _. - -Notation "x * y" := (prod x y) : type_scope. -Notation "( x , y , .. , z )" := (pair .. (pair x y) .. z) : core_scope. - -Generalizable Variables X A B f g n. - -Inductive paths {A : Type} (a : A) : A -> Type := - idpath : paths a a. - -Arguments idpath {A a} , [A] a. - -Notation "x = y :> A" := (@paths A x y) : type_scope. -Notation "x = y" := (x = y :>_) : type_scope. - -Definition transport {A : Type} (P : A -> Type) {x y : A} (p : x = y) (u : P x) : P y := - match p with idpath => u end. - -Definition transport_prod' {A : Type} {P Q : A -> Type} {a a' : A} (p : a = a') - (z : P a * Q a) - : transport (fun a => P a * Q a) p z = (transport _ p (fst z), transport _ p (snd z)) - := match p as p' return transport (fun a0 => P a0 * Q a0) p' z = (transport P p' (fst z), transport Q p' (snd z)) with - | idpath => idpath - end. (* success *) - -Fail Definition transport_prod {A : Type} {P Q : A -> Type} {a a' : A} (p : a = a') - (z : P a * Q a) - : transport (fun a => P a * Q a) p z = (transport _ p (fst z), transport _ p (snd z)) - := match p with - | idpath => idpath - end. -(** Toplevel input, characters 15-255: -Error: Conversion test raised an anomaly *) |
