package dedukti
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha512=97171b48dd96043d84587581d72edb442f63e7b5ac1695771aa1c3c9074739e15bc7d17678fedb7062acbf403a0bf323d97485c31b92376b80c63b5c2300ee3c
sha256=5e1b6a859dfa1eb2098947a99c7d11ee450f750d96da1720f4834e1505d1096c
doc/dedukti.kernel/Kernel/Term/index.html
Module Kernel.TermSource
Lambda terms
Terms
type term = private | Kind(*Kind
*)| Type of Basic.loc(*Type
*)| DB of Basic.loc * Basic.ident * int(*deBruijn indices
*)| Const of Basic.loc * Basic.name(*Global variable
*)| App of term * term * term list(*f a1
*)a2 ; ... ; an, f not an App| Lam of Basic.loc * Basic.ident * term option * term(*Lambda abstraction
*)| Pi of Basic.loc * Basic.ident * term * term(*Pi abstraction
*)
add_n_lambdas n t returns the term t with n (extra) anonymous lambda abstraction. Doesn't shift free variables of t.
Position in a term
subterm t p returns the subterm of t at position p. Raises InvalidSubterm in case of invalid position in given term.
Type for comparison functions
compare_term id_comp t t' compares both terms (up to alpha equivalence). * The order relation goes : * Kind < Type < Const < DB < App < Lam < Pi * Besides * Const m v < Const m' v' iif (m,v) < (m',v') * DB n < DB n' iif n < n' * App f a args < App f' a' args' iif (f,a,args) < (f',a',args') * Lam x ty t < Lam x' ty' t' iif t < t' * Pi x a b < Pi x' a' b' iif (a,b) < (a',b')
Contexts
General context: variables have abstract annotations
Partially annotated context: as generated at rule parsing
Arity annotated context: used for rewriting in untyped setting
(n, t) represents the term represented by t * (whichever its representation) under n lambda abstractions.