package logtk
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Core types and algorithms for logic
Install
dune-project
Dependency
Authors
Maintainers
Sources
2.0.tar.gz
md5=7a8e57388083ed763d12d18324c8a086
sha512=5c5ac312ada6b42907d1e91e349454a8375f7bf8165d3459721a40b707a840a3d6b3dc968a66f1040cb4de7aedf5c1c13f3e90b51337eae5ea6de41651d7bd63
doc/logtk.parsers/Logtk_parsers/Ast_dk/index.html
Module Logtk_parsers.Ast_dk
AST utils for dedukti
module A = Logtk.UntypedASTmodule T = Logtk.STerminclude module type of struct include T end
Simple Terms
.
Simple terms, that are not hashconsed, nor typed.
Those do not use De Bruijn indices for variable binding, but simply names (scoping is done later). Their simplicity make them good for heavy AST transformations, output of parsing, etc.
Terms are only compared, hashsed, etc. by their "term" component (the algebraic variant). Additional fields (location…) are ignored for almost every operation.
type location = Logtk.ParseLocation.tand match_branch = Logtk.STerm.match_branch = and view = Logtk.STerm.view = | Var of var(*variable
*)| Const of string(*constant
*)| AppBuiltin of Logtk.Builtin.t * t list| App of t * t list(*apply term
*)| Ite of t * t * t| Match of t * match_branch list| Let of (var * t) list * t| Bind of Logtk.Binder.t * typed_var list * t(*bind n variables
*)| List of t list(*special constructor for lists
*)| Record of (string * t) list * var option(*extensible record
*)
type term = tinclude Logtk.Interfaces.HASH with type t := t
include Logtk.Interfaces.EQ with type t := t
val hash : t -> intinclude Logtk.Interfaces.ORD with type t := t
val v_wild : twildcard
val builtin : ?loc:location -> Logtk.Builtin.t -> tval app_builtin : ?loc:location -> Logtk.Builtin.t -> t list -> tval bind : ?loc:location -> Logtk.Binder.t -> typed_var list -> t -> tval match_ : ?loc:location -> t -> match_branch list -> tval nil : tval wildcard : tval is_app : t -> boolval is_var : t -> boolval true_ : tval false_ : tval of_int : int -> tval real : string -> tval tType : tval term : tval prop : tval ty_int : tval ty_rat : tval ty_real : tval unfold_bind : Logtk.Binder.t -> t -> typed_var list * tmodule Set = T.Setmodule Map = T.Mapmodule Tbl = T.Tblmodule StringSet = T.StringSetmodule Seq = T.Seqval ground : t -> boolval close_all : Logtk.Binder.t -> t -> tBind all free vars with the symbol
include Logtk.Interfaces.PRINT with type t := t
val pp : t CCFormat.printerval to_string : t -> stringval pp_typed_var : typed_var CCFormat.printerval pp_var : var CCFormat.printerFormats
module TPTP = T.TPTPmodule TPTP_THF = T.TPTP_THFmodule ZF = T.ZFval pp_in : Logtk.Output_format.t -> t CCFormat.printerSubst
module StrMap = T.StrMapval empty_subst : substmerge a b merges a into b, but favors b in case of conflict
type statement = Logtk.UntypedAST.statementtype ty = T.tval const : string -> T.tval mk_const_t : string -> termval var : string -> T.tval mk_var_t : string -> termval v : string -> varval add_alias : string -> T.t -> unitval type_nat : termexception Application_head_is_not_a_var of termval mk_fun : T.typed_var list -> T.t -> T.tval mk_forall : T.typed_var list -> T.t -> T.tval mk_int : string -> T.tval ty_prop : T.tval mk_ty_decl : ?loc:A.Loc.t -> string -> A.ty -> A.statementval mk_assert : ?loc:A.Loc.t -> name:string -> A.term -> A.statementval mk_goal : ?loc:A.Loc.t -> name:string -> A.term -> A.statementval mk_def : ?loc:A.Loc.t -> string -> A.ty -> T.t -> A.statementval mk_rewrite : ?loc:A.Loc.t -> A.term -> A.statement sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page