Module Logtk.STerm
Simple Terms
.
type location= ParseLocation.ttype var=|V of string|Wildcardtype t= private{term : view;loc : location option;}type match_branch=|Match_case of string * var list * t|Match_default of ttype view=|Var of varvariable
|Const of stringconstant
|AppBuiltin of Builtin.t * t list|App of t * t listapply term
|Ite of t * t * t|Match of t * match_branch list|Let of (var * t) list * t|Bind of Binder.t * typed_var list * tbind n variables
|List of t listspecial constructor for lists
|Record of (string * t) list * var optionextensible record
type typed_var= var * t optiontype term= t
val app : ?loc:location -> t -> t list -> tval app_const : ?loc:location -> string -> t list -> tval builtin : ?loc:location -> Builtin.t -> tval app_builtin : ?loc:location -> Builtin.t -> t list -> tval const : ?loc:location -> string -> tval bind : ?loc:location -> Binder.t -> typed_var list -> t -> tval ite : ?loc:location -> t -> t -> t -> tval match_ : ?loc:location -> t -> match_branch list -> tval let_ : ?loc:location -> (var * t) list -> t -> tval list_ : ?loc:location -> t list -> tval nil : tval record : ?loc:location -> (string * t) list -> rest:var option -> tval at_loc : loc:location -> t -> tval wildcard : tval is_app : t -> boolval is_var : t -> boolval true_ : tval false_ : tval and_ : ?loc:location -> t list -> tval or_ : ?loc:location -> t list -> tval not_ : ?loc:location -> t -> tval equiv : ?loc:location -> t -> t -> tval xor : ?loc:location -> t -> t -> tval imply : ?loc:location -> t -> t -> tval eq : ?loc:location -> t -> t -> tval neq : ?loc:location -> t -> t -> tval forall : ?loc:location -> typed_var list -> t -> tval exists : ?loc:location -> typed_var list -> t -> tval lambda : ?loc:location -> typed_var list -> t -> tval int_ : Z.t -> tval of_int : int -> tval rat : Q.t -> tval real : string -> tval tType : tval term : tval prop : tval ty_int : tval ty_rat : tval ty_real : tval fun_ty : ?loc:location -> t list -> t -> tval forall_ty : ?loc:location -> typed_var list -> t -> tval ty_unfold : t -> t list * tval unfold_bind : Binder.t -> t -> typed_var list * t
module StringSet : CCSet.S with type StringSet.elt = stringmodule Seq : sig ... endval subterm : strict:bool -> t -> sub:t -> boolBind all free vars with the symbol
is
suba (strict?) subterm of the other arg?
include Interfaces.PRINT with type t := t
Formats
module TPTP : sig ... endmodule ZF : sig ... endval pp_in : Output_format.t -> t CCFormat.printer
Subst
module StrMap : CCMap.S with type StrMap.key = string