]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/tests/first.ma
first snapshot of separate compilation
[helm.git] / helm / matita / tests / first.ma
diff --git a/helm/matita/tests/first.ma b/helm/matita/tests/first.ma
new file mode 100644 (file)
index 0000000..d75f372
--- /dev/null
@@ -0,0 +1,25 @@
+set "baseuri" "cic:/matita/tests/first/".
+
+inductive nat : Set \def
+  | O : nat
+  | S : nat \to nat.
+
+inductive eq (A:Set): A \to A \to Prop \def
+  refl: \forall x:A.eq A x x. 
+
+inductive list (A:Set) : Set \def
+  | nil : list A
+  | cons : A \to list A \to list A.
+alias symbol "cast" (instance 0) = "type cast".
+
+let rec list_len (A:Set) (l:list A) on l \def
+  [\lambda x.nat]
+  match (l:list A) with 
+  [ nil \Rightarrow O
+  | (cons a tl) \Rightarrow S (list_len A tl)].
+  
+theorem stupid: \forall A:Set.eq ? (list_len A (nil ?)) O.
+intros.
+normalize.
+apply refl.
+qed.