In mathematical logic, the De Bruijn index is a notation invented by the Dutch mathematician Nicolaas Govert de Bruijn for representing terms in the ¿ calculus with the purpose of eliminating the names of the variable from the notation. Terms written using these indices are invariant with respect to ¿ conversion, so the check for ¿-equivalence is the same as that for syntactic equality.
more from Wikipedia
Agda (programming language)
Agda is a proof assistant, i.e. a computer program that can check mathematical proofs. More specifically, it is an interactive system for developing constructive proofs based on the Curry-Howard correspondence in a variant of Per Martin-Löf's Type Theory. It can also be seen as a functional programming language with dependent types. Agda was developed by Ulf Norell, a postdoctoral researcher at Chalmers University of Technology.
more from Wikipedia
Parametricity
Parametricity is a result in the theory of programming languages in computer science. The principle of parametricity dictates that functions with similar types have similar properties.
more from Wikipedia
Data type
In certain technical fields, a data type is a classification identifying one of various types of data, such as real-valued, integer or Boolean, that determines the possible values for that type; the operations that can be done on values of that type; the meaning of the data; and the way values of that type can be stored.
more from Wikipedia
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely. The earliest programming languages predate the invention of the computer, and were used to direct the behavior of machines such as Jacquard looms and player pianos.
more from Wikipedia
Logic
Logic (from the Greek ¿¿¿¿¿¿ logik¿) is the philosophical study of valid reasoning. Logic is used in most intellectual activities, but is studied primarily in the disciplines of philosophy, mathematics, semantics, and computer science. It examines general forms that arguments may take, which forms are valid, and which are fallacies. In philosophy, the study of logic is applied in most major areas: metaphysics, ontology, epistemology, and ethics.
more from Wikipedia
Soundness
In mathematical logic, a logical system has the soundness property if and only if its inference rules prove only formulas that are valid with respect to its semantics. In most cases, this comes down to its rules having the property of preserving truth, but this is not the case in general. The word derives from the Germanic 'Sund' as in Gesundheit, meaning health. Thus to say that an argument is sound means, following the etymology, to say that the argument is healthy.
more from Wikipedia
Array data structure
In computer science, an array data structure or simply array is a data structure consisting of a collection of elements, each identified by at least one array index or key. An array is stored so that the position of each element can be computed from its index tuple by a mathematical formula.
more from Wikipedia