val variables_of_term: CicNotationPt.term -> CicNotationPt.pattern_variable list
val names_of_term: CicNotationPt.term -> string list
+ (** extract all keywords (i.e. string literals) from a level 1 pattern *)
+val keywords_of_term: CicNotationPt.term -> string list
+
val visit_ast:
?special_k:(CicNotationPt.term -> CicNotationPt.term) ->
(CicNotationPt.term -> CicNotationPt.term) ->
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
+ (** @return the list of proper (i.e. non recursive) IdRef of a term *)
+val get_idrefs: CicNotationPt.term -> string list
+
(** generalization of List.combine to n lists *)
val ncombine: 'a list list -> 'a list list
val string_of_literal: CicNotationPt.literal -> string
+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
+val ungroup: CicNotationPt.term list -> CicNotationPt.term list
val find_appl_pattern_uris:
CicNotationPt.cic_appl_pattern -> UriManager.uri list
+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
+