]> matita.cs.unibo.it Git - helm.git/commitdiff
...
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Tue, 28 Aug 2012 13:25:55 +0000 (13:25 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Tue, 28 Aug 2012 13:25:55 +0000 (13:25 +0000)
matita/matita/lib/extraction.ma

index c06357f33003d58f89a9010a114ae34a59c1ca4e..66386cb3bd2ebe77ac74d4d3f101920269c45a0f 100644 (file)
@@ -118,6 +118,11 @@ definition ttest11 ≝ λf:ttest11_aux True. f I.
 
 definition ttest12 ≝ λf:True → nat. f I.
 
+(*BUG: assertion failure here! difficult case for head application
+axiom ttest13_a: ∀T:Type[1]. T → nat.
+definition ttest13_b ≝ ttest13_a nat O.
+definition ttest13_c ≝ ttest13_a Prop True.*)
+
 (*GENERAL BUG: name clashes when binders shadow each other in CIC*)
 
 (*BUG: for OCaml: cofixpoint not distinguished from fixpoints*)
@@ -187,12 +192,18 @@ inductive eq (A:Type[1]) (a:A) : A → Prop ≝ refl: eq A a a.
 definition cast_bug1 ≝
  λH:eq Type[0] bool nat. S (match H return λA:Type[0].λ_.A with [ refl ⇒ true ]).
 
+(*
+(*BUG: Here we use eq_rect_Type0 in its poly-kinded form, but we only extracted
+   the one-kinded form. Require coercions *)
+definition cast_bug1' ≝
+ λH:eq Type[0] bool nat. S (eq_rect_Type0 Type[0] bool (λA:Type[0].λ_.A) true nat H).
+*)
+
 (* requires coercion in all branches *)
 definition cast_bug2 ≝
- λb.
   match true return λb.match b with [ true ⇒ nat → nat | false ⇒ bool ] with
    [ true ⇒ S | false ⇒ false ]
   O.
   
 (*BUG: try singleton elimination with constructor arguments to show bug in
- DeBrujin indexes *)
+ DeBrujin indexes *)
\ No newline at end of file