proof_checker/lib/term.mli
2024-09-01 12:35:24 -07:00

18 lines
409 B
OCaml

type var = int
type t =
| Var of var
| Const of string
| Free of string
| Function of string * t list
type match_result = All of t | Some of t | None | MatchErr
val merge_result : match_result -> match_result -> match_result
val match_term : t -> t -> t -> match_result
val inc_var : t -> t
val occurs : t -> t -> bool
exception UnboundVariable
val to_string : binders:string list -> t -> string