]> matita.cs.unibo.it Git - helm.git/commitdiff
added some match examples/regtests
authorStefano Zacchiroli <zack@upsilon.cc>
Thu, 22 Jan 2004 12:27:02 +0000 (12:27 +0000)
committerStefano Zacchiroli <zack@upsilon.cc>
Thu, 22 Jan 2004 12:27:02 +0000 (12:27 +0000)
helm/ocaml/cic_disambiguation/tests/match.txt

index 0003a0c2317e07925c2dbb2088afb600e3c1f60b..3d2ed238ce905d4c0f9d2a06779bd94ae7c3c536 100644 (file)
@@ -1,18 +1,39 @@
-[nat]
+[\lambda x:nat.
+  [\lambda y:nat. Set]
+    match x:nat with [ O \Rightarrow nat | (S x) \Rightarrow bool ]]
+match (S O):nat with
+[ O \Rightarrow O
+| (S x) \Rightarrow false ]
+
+[\lambda z:nat. \lambda h:(le O z). (eq nat O O)]
+match (le_n O): le with
+[ le_n \Rightarrow (refl_equal nat O)
+| (le_S x y) \Rightarrow (refl_equal nat O) ]
+
+(*
+[\lambda z:nat. \lambda h:(le 1 z). (le 0 z)]
+match (le_S 2 (le_n 1)): le with
+[ le_n \Rightarrow (le_S 1 (le_n 0))
+| (le_S x y) \Rightarrow y ]
+*)
+
+[\lambda z:nat. \lambda h:(le 0 z). (le 0 (S z))]
+match (le_S 0 0 (le_n 0)): le with
+[ le_n \Rightarrow (le_S 0 0 (le_n 0))
+| (le_S x y) \Rightarrow (le_S 0 (S x) (le_S 0 x y)) ]
+
+[\lambda x:bool. nat]
 match true:bool with
 [ true \Rightarrow O
-| false \Rightarrow (S O)
-]
+| false \Rightarrow (S O) ]
 
-[nat]
+[\lambda x:nat. nat]
 match O:nat with
 [ O \Rightarrow O
-| (S x) \Rightarrow (S (S x))
-]
+| (S x) \Rightarrow (S (S x)) ]
 
-[nat]
+[\lambda x:list. list]
 match nil:list with
 [ nil \Rightarrow nil
-| (cons x y) \Rightarrow (cons x y)
-]
+| (cons x y) \Rightarrow (cons x y) ]