]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_notation/cicNotationUtil.mli
- bugfix: eta abstractions ignores attributed node while counting lambdas
[helm.git] / helm / ocaml / cic_notation / cicNotationUtil.mli
index 080bbfa36d49b386cf0a990527f5968bc6513032..80e36524225339c3ab6f2fe05e7bd3d23d17f2c6 100644 (file)
@@ -42,6 +42,16 @@ val visit_layout:
   CicNotationPt.layout_pattern ->
     CicNotationPt.layout_pattern
 
+val visit_magic:
+  (CicNotationPt.term -> CicNotationPt.term) ->
+  CicNotationPt.magic_term ->
+    CicNotationPt.magic_term
+
+val visit_variable:
+  (CicNotationPt.term -> CicNotationPt.term) ->
+  CicNotationPt.pattern_variable ->
+    CicNotationPt.pattern_variable
+
 val strip_attributes: CicNotationPt.term -> CicNotationPt.term
 
   (** generalization of List.combine to n lists *)
@@ -49,7 +59,8 @@ val ncombine: 'a list list -> 'a list list
 
 val string_of_literal: CicNotationPt.literal -> string
 
-val dress: 'a -> 'a list -> 'a list
+val dress:  sep:'a -> 'a list -> 'a list
+val dressn: sep:'a list -> 'a list -> 'a list
 
 val boxify: CicNotationPt.term list -> CicNotationPt.term
 val group: CicNotationPt.term list -> CicNotationPt.term
@@ -60,3 +71,18 @@ val find_appl_pattern_uris:
 
 val find_branch:
   CicNotationPt.term -> CicNotationPt.term
+
+val cic_name_of_name: CicNotationPt.term -> Cic.name
+val name_of_cic_name: Cic.name -> CicNotationPt.term
+
+  (** Symbol/Numbers instances *)
+
+val freshen_term: CicNotationPt.term -> CicNotationPt.term
+val freshen_obj: GrafiteAst.obj -> GrafiteAst.obj
+
+  (** Notation id handling *)
+
+type notation_id
+
+val fresh_id: unit -> notation_id
+