General purpose, hand-written, dedukti files
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This is a small human-written Dedukti library. It contains some definitions of simple datatypes and logical constructs.


  • GNU Make
  • Dedukti: versions 2.4 and 2.5 have been tested, for version 2.3.1 use the v2.3.1 branch
  • (Optional) CSI^HO higher-order confluence checker: version 0.1.1 has been tested


To compile all the files, invoke make.


Dedukti has no default load path so it is not very useful to install the compiled .dko files system wide. To copy the compiled file to some place <dir>, invoke

cp -t <DIR> *.dko

Confluence Checking

To check for confluence, invoke

make CSIHO_PATH=<path> all

where <path> is the path to the script.

Please note that the experimental files and are purposely not confluent


The library contains the following files:

ccEncoding of polymorphismPolymorphic product and arrow types
dk_typeBasic type constructionsCartesian product, Sigma-types, Sum-types
dk_boolBooleansdependent pattern-matching, alternative, logical connectives
dk_listPolymorphic listsdependent pattern-matching, concatenation, map
dk_natPeano (unary) natural numbersordering, equality, addition, multiplication, min, max, division, exponentiation, conversion from lists of digits
dk_intUnary integers from smart constructorabs, ordering, equality, addition, multiplication, opposite, subtraction, min, max, division
dk_machine_intN-bits machine integerssame as dk_int + signed and unsigned orderings, conversion from unary
dk_binary_natSame but not dependentsame as dk_int + conversion to machine_int
dk_charChars are 7-bits integersequality, representations for digits and letters
dk_stringStrings are lists of chars
dk_optPolymorphic option type : A : cc.uT -> cc.eT A
dk_logicImpredicative Prop : typeintuitionistic logical connectives, reasoning on booleans and equality


dk_tupleUse dk_type instead
dk_builtinsBasic types for the translation of FoCaLiZe standard library into Dedukti


slistLists of natural numbers sorted by construction
dk_monadsMonadic laws enforced by rewriting (non-linear)
dk_monads_cocGoing further by not encoding polymorphism (non-linear and requires -coc)