]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/bin/recomm/recommGcrGroundArith.ml
update in ground
[helm.git] / matita / matita / contribs / lambdadelta / bin / recomm / recommGcrGroundArith.ml
diff --git a/matita/matita/contribs/lambdadelta/bin/recomm/recommGcrGroundArith.ml b/matita/matita/contribs/lambdadelta/bin/recomm/recommGcrGroundArith.ml
new file mode 100644 (file)
index 0000000..091cc7f
--- /dev/null
@@ -0,0 +1,24 @@
+module T = RecommTypes
+module R = RecommPccFor
+
+let step k st outs ins =
+  if st <> T.OO then k st outs ins else
+  match ins with
+  | "ARITHMETICAL" :: "PROPERTIES" :: tl -> k T.OK ("PROPERTIES" :: "ARITHMETICAL" :: outs) tl
+  | "STRICT" :: "ORDER" :: tl -> k T.OK ("ORDER" :: "STRICT" :: outs) tl
+  | "ORDER" :: tl -> k T.OK ("ORDER" :: outs) tl
+  | "MAXIMUM" :: tl -> k T.OK ("MAXIMUM" :: outs) tl
+  | "MAXIMUN" :: tl -> k T.OK ("MAXIMUM" :: outs) tl
+  | "LEFT" :: "SUBTRACTION" :: tl -> k T.OK ("SUBTRACTION" :: "LEFT" :: outs) tl
+  | "SUBTRACTION" :: tl -> k T.OK ("SUBTRACTION" :: outs) tl
+  | "ADDITION" :: tl -> k T.OK ("ADDITION" :: outs) tl
+  | "PREDECESSOR" :: tl -> k T.OK ("PREDECESSOR" :: outs) tl
+  | "SUCCESSOR" :: tl -> k T.OK ("SUCCESSOR" :: outs) tl
+  | "NAT-INJECTION" :: tl -> k T.OK ("NAT-INJECTION" :: outs) tl
+  | "TRICHOTOMY" :: "OPERATOR" :: tl -> k T.OK ("OPERATOR" :: "TRICHOTOMY" :: outs) tl
+  | "ITERATED" :: "FUNCTION" :: tl -> k T.OK ("FUNCTION" :: "ITERATED" :: outs) tl
+  | "DISCRIMINATOR" :: tl -> k T.OK ("DISCRIMINATOR" :: outs) tl
+  | _ -> k T.OO outs ins
+
+let main =
+  R.register_r step