]> matita.cs.unibo.it Git - helm.git/commitdiff
import of a sample for cosimo
authorEnrico Tassi <enrico.tassi@inria.fr>
Wed, 8 Jul 2009 09:56:26 +0000 (09:56 +0000)
committerEnrico Tassi <enrico.tassi@inria.fr>
Wed, 8 Jul 2009 09:56:26 +0000 (09:56 +0000)
helm/software/matita/tests/esempio_oliboni.ma [new file with mode: 0644]

diff --git a/helm/software/matita/tests/esempio_oliboni.ma b/helm/software/matita/tests/esempio_oliboni.ma
new file mode 100644 (file)
index 0000000..aca0151
--- /dev/null
@@ -0,0 +1,65 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+include "logic/equality.ma".
+include "nat/nat.ma".
+
+universe constraint Type[0] < Type[1].
+universe constraint Type[1] < Type[2].
+universe constraint CProp[0] < CProp[1].
+universe constraint CProp[1] < CProp[2].
+universe constraint Type[0] ≤ CProp[0].
+universe constraint CProp[0] ≤ Type[0].
+universe constraint Type[1] ≤ CProp[1].
+universe constraint CProp[1] ≤ Type[1].
+universe constraint Type[2] ≤ CProp[2].
+universe constraint CProp[2] ≤ Type[2].
+
+ninductive A : Type[0] ≝ 
+ | K : nat → A
+ | W : nat → A.
+nlet rec A_rect (Q_:∀x_3:A.Type[0]) H_K H_W x_3 on x_3 :Q_ x_3≝
+match x_3 with [K x_4⇒H_K x_4|W x_5⇒H_W x_5].
+
+nlemma yy : ∀x,y. K x = W y → False.
+#x; #y; #H; 
+nchange with 
+  (match K x return λ_.Prop with [ K _ ⇒ False | W _ ⇒ True]);
+nrewrite > H; nwhd; napply I;
+nqed.  
+  
+nlemma xx : ∀x,y. K x = K y → x = y.
+# x; #y; #H;
+nchange with 
+  (match K x return λ_.Prop with [ K a ⇒ a = y | W b ⇒ b = y]);
+nrewrite > H; nwhd; napply (refl_eq ??);
+nqed.
+
+naxiom P : Prop.
+
+nlemma ww : ∀a,b:A. a = b → P.
+#a; #b;
+ncases a; ncases b;
+#x; #y; #H;
+##[  
+
+##| nelim (yy ?? H);
+##| nelim (yy ?? H);
+
+##]
+
+
+
+  
\ No newline at end of file