Module Libzipperposition_calculi.App_encode

Applicative Encoding

val section : Logtk.Util.Section.t
val mode_ : [ `Extensional | `Intensional | `None ] Pervasives.ref
module T = Logtk.TypedSTerm
val id_ae_fun : Logtk.ID.t
val ty_ae_fun : T.t
val function_type : T.t
val id_ae_app : Logtk.ID.t
val ty_ae_app : T.t
val const_ae_app : T.t
val ty_decls : (Logtk.Cnf.clauseT.tT.t) Logtk.Statement.t Iter.t

Type declarations for these new symbols

val app_encode_ty : T.t -> T.t

Encode a type

val is_type : T.t -> bool

Is a term a type? i.e. is a term of type tType?

val app_encode_var : T.t Logtk.Var.t -> T.t Logtk.Var.t

Encode a variable

val app_encode_term : bool -> T.t -> T.t

Encode a term

val app_encode_lit : T.t Logtk.SLiteral.t -> T.t Logtk.SLiteral.t

Encode a literal

val app_encode_lits : T.t Logtk.SLiteral.t list -> T.t Logtk.SLiteral.t list

Encode a clause

exception E_i of (T.t Logtk.SLiteral.t listT.tT.t) Logtk.Statement.t
val pp_in : 'a CCFormat.printer -> 'b CCFormat.printer -> 'c CCFormat.printer -> Logtk.Output_format.t -> ('a'b'c) Logtk.Statement.t CCFormat.printer
val pp_clause_in : Logtk.Output_format.t -> (T.t Logtk.SLiteral.t listT.tT.t) Logtk.Statement.t CCFormat.printer
val result_tc : (T.t Logtk.SLiteral.t listT.tT.t) Logtk.Statement.t Logtk.Proof.Result.tc
val app_encode_stmt : (T.t Logtk.SLiteral.t listT.tT.t) Logtk.Statement.t -> (T.t Logtk.SLiteral.t list'aT.t) Logtk.Statement.t

encode a statement

val extensionality_axiom : (T.t Logtk.SLiteral.t listT.tT.t) Logtk.Statement.t
val extension : Libzipperposition.Extensions.t
val options : (string * [> `Extensional | `Intensional | `None ]) list