PPrinter.PPParent pprinter
module TY : Region_pp_intf.TYPE_CONV with type ty = tytype nonrec node = ( ty, custom ) Region_pp_intf.nodeType of symbolic node
type nonrec view = ( ty, custom ) Region_pp_intf.viewmodule XF : sig ... endTransformation/Traversal over nodes
val vars : node -> Region_pp_intf.var_name listReturns list of var names in node
val has_symbolic_term : node -> boolReturns true if node contains one or more vars
module Printer : sig ... endNode printer
module Comparator : sig ... endNode comparator
module Simplifier : sig ... endNode simplifier
module Unifier : sig ... endNode unifier
module Parser : sig ... endNode parser
module Compactor : sig ... endNode compactor
Refiner heuristic, the logical opposite of a unifier: splits a node into multiple ones
type pprinter =
  ?unify:Unifier.unifier ->
  ?refine:refiner ->
  ?inv:bool ->
  Imandra_surface.Term.t list ->
  node listType of a pprinter of Term.t values into a list of nodes.
val pp : pprinterPPrint a list of Term.t values into a list of nodes.
val print : 
  ?pp:pprinter ->
  ?unify:Unifier.unifier ->
  ?refine:refiner ->
  ?print:( node CCFormat.printer -> CCFormat.formatter -> node -> unit option ) ->
  ?skip_invariant:bool ->
  ?focus:Region_pp_intf.var_name ->
  unit ->
  Stdlib.Format.formatter ->
  Imandra_surface.Modular_region.t ->
  unitPrint a region
val to_string : 
  ?unify:Unifier.unifier ->
  ?refine:refiner ->
  Imandra_surface.Modular_region.t ->
  stringReturn a string representation of a pprinted region