X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fcontribs%2Fassembly%2Ffreescale%2Ffreescale_ocaml%2Fmatita_nat_nat.ml;fp=helm%2Fsoftware%2Fmatita%2Fcontribs%2Fassembly%2Ffreescale%2Ffreescale_ocaml%2Fmatita_nat_nat.ml;h=dfefaeb2dcfc2344f4e0733554c7ef6f8b213bbd;hb=ecdb00b94db5abc2f7df2dcbaa76b1b5639ebaee;hp=0000000000000000000000000000000000000000;hpb=dc58e20b610718080da9a4bdb4db4ac7780be8f9;p=helm.git diff --git a/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_nat.ml b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_nat.ml new file mode 100644 index 000000000..dfefaeb2d --- /dev/null +++ b/helm/software/matita/contribs/assembly/freescale/freescale_ocaml/matita_nat_nat.ml @@ -0,0 +1,31 @@ +type nat = +O + | S of nat +;; + +let nat_rec = +(function p -> (function f -> let rec aux = +(function n -> +(match n with + O -> p + | S(n1) -> (f n1 (aux n1))) +) in aux)) +;; + +let nat_rect = +(function p -> (function f -> let rec aux = +(function n -> +(match n with + O -> p + | S(n1) -> (f n1 (aux n1))) +) in aux)) +;; + +let pred = +(function n -> +(match n with + O -> O + | S(p) -> p) +) +;; +