package logtk
Core types and algorithms for logic
Install
dune-project
Dependency
Authors
Maintainers
Sources
1.5.1.tar.gz
md5=cc320f66f10555c54822da624419e003
sha512=f8d5f7a5ae790bf0388d74261673803cf375f91f92f7b413b70db1ce5841ef55343a208f98727c8551d66f1840ab892f1c0c943a34861d14d79ce469b235a2f2
doc/logtk.parsers/Logtk_parsers/Ast_dk/index.html
Module Logtk_parsers.Ast_dk
Source
AST utils for dedukti
include 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.
Source
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
*)
Bind all free vars with the symbol
include Logtk.Interfaces.PRINT with type t := t
Formats
Subst
merge a b
merges a
into b
, but favors b
in case of conflict
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page