+++ /dev/null
-
-(* NOTATION *)
-
-let symbol_table = Hashtbl.create 503 ;;
-let lookup_symbol = Hashtbl.find symbol_table ;;
-
-let idref id t = CicAst.AttributedTerm (`IdRef id, t) ;;
-
-let add_symbol uri mnemonic =
- Hashtbl.add symbol_table uri
- (fun aid sid args ast_of_acic ->
- idref aid (CicAst.Appl
- (idref sid (CicAst.Symbol (mnemonic, 0)) :: List.map ast_of_acic args)))
-;;
-
-(* eq *)
-Hashtbl.add symbol_table HelmLibraryObjects.Logic.eq_XURI
- (fun aid sid args ast_of_acic ->
- idref aid (CicAst.Appl
- (idref sid (CicAst.Symbol ("eq", 0)) ::
- List.map ast_of_acic (List.tl args)))) ;;
-
-(* and *)
-add_symbol HelmLibraryObjects.Logic.and_XURI "and" ;;
-
-(* or *)
-add_symbol HelmLibraryObjects.Logic.or_XURI "or" ;;
-
-(* iff *)
-add_symbol HelmLibraryObjects.Logic.iff_SURI "iff" ;;
-
-(* not *)
-add_symbol HelmLibraryObjects.Logic.not_SURI "not" ;;
-
-(* Rinv *)
-add_symbol HelmLibraryObjects.Reals.rinv_SURI "inv" ;;
-
-(* Ropp *)
-add_symbol HelmLibraryObjects.Reals.ropp_SURI "opp" ;;
-
-(* exists *)
-Hashtbl.add symbol_table HelmLibraryObjects.Logic.ex_XURI
- (fun aid sid args ast_of_acic ->
- match (List.tl args) with
- [Cic.ALambda (_,n,s,t)] ->
- idref aid
- (CicAst.Binder (`Exists, (n, Some (ast_of_acic s)), ast_of_acic t))
- | _ -> raise Not_found);;
-
-(* leq *)
-add_symbol HelmLibraryObjects.Peano.le_XURI "leq" ;;
-add_symbol HelmLibraryObjects.Reals.rle_SURI "leq" ;;
-
-(* lt *)
-add_symbol HelmLibraryObjects.Peano.lt_SURI "lt" ;;
-add_symbol HelmLibraryObjects.Reals.rlt_SURI "lt" ;;
-
-(* geq *)
-add_symbol HelmLibraryObjects.Peano.ge_SURI "geq" ;;
-add_symbol HelmLibraryObjects.Reals.rge_SURI "geq" ;;
-
-(* gt *)
-add_symbol HelmLibraryObjects.Peano.gt_SURI "gt" ;;
-add_symbol HelmLibraryObjects.Reals.rgt_SURI "gt" ;;
-
-(* plus *)
-add_symbol HelmLibraryObjects.Peano.plus_SURI "plus" ;;
-add_symbol HelmLibraryObjects.BinInt.zplus_SURI "plus" ;;
-
-let rplus_uri = HelmLibraryObjects.Reals.rplus_URI;;
-let r1_uri = HelmLibraryObjects.Reals.r1_URI;;
-
-Hashtbl.add symbol_table HelmLibraryObjects.Reals.rplus_SURI
- (fun aid sid args ast_of_acic ->
- let appl () =
- idref aid (CicAst.Appl
- (idref sid (CicAst.Symbol ("plus", 0)) :: List.map ast_of_acic args))
- in
- let rec aux acc = function
- | [ Cic.AConst (nid, uri, []); n] when UriManager.eq uri r1_uri ->
- (match n with
- | Cic.AConst (_, uri, []) when UriManager.eq uri r1_uri ->
- idref aid (CicAst.Num (string_of_int (acc+2), 0))
- | Cic.AAppl (_, Cic.AConst (_, uri, []) :: args)
- when UriManager.eq uri rplus_uri ->
- aux (acc + 1) args
- | _ -> appl ())
- | _ -> appl ()
- in
- aux 0 args)
-;;
-
-(* zero and one *)
-Hashtbl.add symbol_table HelmLibraryObjects.Reals.r0_SURI
- (fun _ sid _ _ -> idref sid (CicAst.Num ("0", 0))) ;;
-Hashtbl.add symbol_table HelmLibraryObjects.Reals.r1_SURI
- (fun _ sid _ _ -> idref sid (CicAst.Num ("1", 0))) ;;
-
-(* times *)
-add_symbol HelmLibraryObjects.Peano.mult_SURI "times" ;;
-add_symbol HelmLibraryObjects.Reals.rmult_SURI "times" ;;
-
-(* minus *)
-add_symbol HelmLibraryObjects.Peano.minus_SURI "minus" ;;
-add_symbol HelmLibraryObjects.Reals.rminus_SURI "minus" ;;
-
-(* div *)
-add_symbol HelmLibraryObjects.Reals.rdiv_SURI "div" ;;
-