X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic%2FhelmLibraryObjects.ml;h=88ff7574d9920fabdf2b71d2d8042d53daca5dd8;hb=26cace1b5a8a80b83d6a974c222ef1a07d561c30;hp=913fc9ef30f68ae0516b7dc56918a380b1ae63fb;hpb=f88549d5f75107867c34e2300bd4199d4d6e80b2;p=helm.git diff --git a/helm/ocaml/cic/helmLibraryObjects.ml b/helm/ocaml/cic/helmLibraryObjects.ml index 913fc9ef3..88ff7574d 100644 --- a/helm/ocaml/cic/helmLibraryObjects.ml +++ b/helm/ocaml/cic/helmLibraryObjects.ml @@ -120,6 +120,7 @@ module Reals = let rgt_URI = uri rgt_SURI let rtheory_URI = uri "cic:/Coq/Reals/Rbase/RTheory.con" let rinv_r1_URI = uri "cic:/Coq/Reals/Rbase/Rinv_R1.con" + let pow_URI = uri "cic:/Coq/Reals/Rfunctions/pow.con" let r = const r_URI let rplus = const rplus_URI @@ -146,18 +147,51 @@ module Peano = let ge_URI = uri ge_SURI let lt_SURI = "cic:/Coq/Init/Peano/lt.con" let lt_URI = uri lt_SURI - let gt_SURI = "cic:/Coq/Init/Peano/lt.con" + let gt_SURI = "cic:/Coq/Init/Peano/gt.con" let gt_URI = uri gt_SURI - let lt_URI = uri "cic:/Coq/Init/Peano/lt.con" let plus = const plus_URI let mult = const mult_URI let pred = const pred_URI end +module BinPos = + struct + let positive_SURI = "cic:/Coq/NArith/BinPos/positive.ind" + let positive_URI = uri positive_SURI + let xI = mutconstruct positive_URI 0 1 + let xO = mutconstruct positive_URI 0 2 + let xH = mutconstruct positive_URI 0 3 + let pplus_SURI = "cic:/Coq/NArith/BinPos/Pplus.con" + let pplus_URI = uri pplus_SURI + let pplus = const pplus_URI + let pminus_SURI = "cic:/Coq/NArith/BinPos/Pminus.con" + let pminus_URI = uri pminus_SURI + let pminus = const pminus_URI + let pmult_SURI = "cic:/Coq/NArith/BinPos/Pmult.con" + let pmult_URI = uri pmult_SURI + let pmult = const pmult_URI + end + module BinInt = struct + let zmult_URI = uri "cic:/Coq/ZArith/BinInt/Zmult.con" + let zmult = const zmult_URI let zplus_SURI = "cic:/Coq/ZArith/BinInt/Zplus.con" + let zplus_URI = uri zplus_SURI + let zplus = const zplus_URI + let zminus_SURI = "cic:/Coq/ZArith/BinInt/Zminus.con" + let zminus_URI = uri zminus_SURI + let zminus = const zminus_URI + let z_SURI = "cic:/Coq/ZArith/BinInt/Z.ind" + let z_URI = uri z_SURI + let z0 = mutconstruct z_URI 0 1 + let zpos = mutconstruct z_URI 0 2 + let zneg = mutconstruct z_URI 0 3 + let zopp_SURI = "cic:/Coq/ZArith/BinInt/Zopp.con" + let zopp_URI = uri zopp_SURI + let zopp = const zopp_URI + let zpower_URI = uri "cic:/Coq/ZArith/Zpower/Zpower.con" end (** {2 Helpers for creating common terms} @@ -182,3 +216,12 @@ let build_real n = in aux n +let build_bin_pos n = + if n < 1 then raise NegativeInteger; + let rec aux = function + | 1 -> BinPos.xH + | n when n mod 2 = 0 -> Cic.Appl [ BinPos.xO; aux (n / 2) ] + | n -> Cic.Appl [ BinPos.xI; aux (n / 2) ] + in + aux n +