]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic/helmLibraryObjects.ml
gt URL pointed to lt
[helm.git] / helm / ocaml / cic / helmLibraryObjects.ml
index 3ff0163d2c6880b4520af7c8698e5c66ce092a4b..88ff7574d9920fabdf2b71d2d8042d53daca5dd8 100644 (file)
@@ -96,15 +96,20 @@ module Reals =
     let r_URI = uri "cic:/Coq/Reals/Rdefinitions/R.con"
     let rplus_SURI = "cic:/Coq/Reals/Rdefinitions/Rplus.con"
     let rplus_URI = uri rplus_SURI
-    let rminus_URI = uri "cic:/Coq/Reals/Rdefinitions/Rminus.con"
-    let rmult_URI = uri "cic:/Coq/Reals/Rdefinitions/Rmult.con"
-    let rdiv_URI = uri "cic:/Coq/Reals/Rdefinitions/Rdiv.con"
+    let rminus_SURI = "cic:/Coq/Reals/Rdefinitions/Rminus.con"
+    let rminus_URI = uri rminus_SURI
+    let rmult_SURI = "cic:/Coq/Reals/Rdefinitions/Rmult.con"
+    let rmult_URI = uri rmult_SURI
+    let rdiv_SURI = "cic:/Coq/Reals/Rdefinitions/Rdiv.con"
+    let rdiv_URI = uri rdiv_SURI
     let ropp_SURI = "cic:/Coq/Reals/Rdefinitions/Ropp.con"
     let ropp_URI = uri ropp_SURI
     let rinv_SURI = "cic:/Coq/Reals/Rdefinitions/Rinv.con"
     let rinv_URI = uri rinv_SURI
-    let r0_URI = uri "cic:/Coq/Reals/Rdefinitions/R0.con"
-    let r1_URI = uri "cic:/Coq/Reals/Rdefinitions/R1.con"
+    let r0_SURI = "cic:/Coq/Reals/Rdefinitions/R0.con"
+    let r0_URI = uri r0_SURI
+    let r1_SURI = "cic:/Coq/Reals/Rdefinitions/R1.con"
+    let r1_URI = uri r1_SURI
     let rle_SURI = "cic:/Coq/Reals/Rdefinitions/Rle.con"
     let rle_URI = uri rle_SURI
     let rge_SURI = "cic:/Coq/Reals/Rdefinitions/Rge.con"
@@ -115,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
@@ -129,8 +135,10 @@ module Peano =
   struct
     let plus_SURI = "cic:/Coq/Init/Peano/plus.con"
     let plus_URI = uri plus_SURI
-    let minus_URI = uri "cic:/Coq/Init/Peano/minus.con"
-    let mult_URI = uri "cic:/Coq/Init/Peano/mult.con"
+    let minus_SURI = "cic:/Coq/Init/Peano/minus.con"
+    let minus_URI = uri minus_SURI
+    let mult_SURI = "cic:/Coq/Init/Peano/mult.con"
+    let mult_URI = uri mult_SURI
     let pred_URI = uri "cic:/Coq/Init/Peano/pred.con"
     let le_SURI = "cic:/Coq/Init/Peano/le.ind"
     let le_URI = uri le_SURI
@@ -139,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}
@@ -175,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
+