Proof assistant for the λΠ-calculus modulo rewriting
Library lambdapi.export
Module Export . Xtc

print_sym ppf s outputs the fully qualified name of s to ppf. Modules are separated with ".".

type symb_status =
| Object_level
| Basic_type
| Type_cstr
val status : Core.Term.sym -> symb_status

status s returns Type_cstr if s has a type of the form T1 -> ... -> Tn -> TYPE with n > 0, Basic_type if s has type TYPE and Object_level otherwise.

val print_term : int -> string -> Core.Term.term Lplib.Base.pp

print_term ppf p outputs XTC format corresponding to the term t, to ppf.

val print_type : int -> string -> Core.Term.term Lplib.Base.pp
val print_rule : Format.formatter -> int -> Core.Term.sym -> Core.Term.rule -> unit

print_rule ppf s r outputs the rule declaration corresponding r (on the symbol s), to ppf.

val print_tl_rule : Format.formatter -> int -> Core.Term.sym -> Core.Term.rule -> unit

print_tl_rule is identical to print_rule but for type-level rule

val get_vars : Core.Term.sym -> Core.Term.rule -> (string * Core.Term.term) list

get_vars s r returns the list of variables used in the rule r, in the form of a pair containing the name of the variable and its type, inferred by the solver.

val to_XTC : Format.formatter -> Core.Sign.t -> unit

to_XTC ppf sign outputs a XTC representation of the rewriting system of the signature sign to ppf.