|logic||category theory||type theory|
|true||terminal object/(-2)-truncated object||h-level 0-type/unit type|
|false||initial object||empty type|
|proposition||(-1)-truncated object||h-proposition, mere proposition|
|cut rule||composition of classifying morphisms / pullback of display maps||substitution|
|cut elimination for implication||counit for hom-tensor adjunction||beta reduction|
|introduction rule for implication||unit for hom-tensor adjunction||eta conversion|
|logical conjunction||product||product type|
|disjunction||coproduct ((-1)-truncation of)||sum type (bracket type of)|
|implication||internal hom||function type|
|negation||internal hom into initial object||function type into empty type|
|universal quantification||dependent product||dependent product type|
|existential quantification||dependent sum ((-1)-truncation of)||dependent sum type (bracket type of)|
|equivalence||path space object||identity type|
|equivalence class||quotient||quotient type|
|induction||colimit||inductive type, W-type, M-type|
|higher induction||higher colimit||higher inductive type|
|completely presented set||discrete object/0-truncated object||h-level 2-type/preset/h-set|
|set||internal 0-groupoid||Bishop set/setoid|
|universe||object classifier||type of types|
|modality||closure operator, (idemponent) monad||modal type theory, monad (in computer science)|
|linear logic||(symmetric, closed) monoidal category||linear type theory/quantum computation|
|proof net||string diagram||quantum circuit|
|(absence of) contraction rule||(absence of) diagonal||no-cloning theorem|
|synthetic mathematics||domain specific embedded programming language|
If , a step is often called an axiom.
Usually, one generates the steps by using rules of inference, which are schematic ways of describing collections of steps, generally involving metavariables.
This use of the terminology “deductive system” is not completely standard, but it is not uncommon, and we need some name by which to refer to this general notion.
The rules of inference express, among other things, that equality is a congruence relative to the “operations”. For instance, there is a rule
A proof tree in a deductive system is a rooted tree whose edges are labeled by judgments and whose nodes are labeled by steps. We usually draw these like so:
If there is a proof tree with root and no leaves (which means that every branch must terminate in an axiom), we say that is a theorem and write
More generally, if there is a proof tree with root and leaves , we write
This is equivalent to saying that is a theorem in the extended deductive system obtained by adding as axioms.
This use of to express a statement about the deductive system should be distinguished from its use in particular deductive systems as a syntactic ingredient in judgments. For instance, in sequent calculus the judgments are sequents, which are sequences of statements connected by a turnstile . Similarly, in type theory and natural deduction one often uses inside a single judgment when that judgment is of a hypothetical sort. However, when using a logical framework, these two meanings of become essentially identified.
Depending on the strength of the metalanguage used to define the judgments and steps, simply having a deductive system does not in itself necessarily yield an effective procedure for enumerating valid proof trees and theorems. Deductive systems which do yield such an enumeration are sometimes referred to as formal systems. For example, Gödel’s incompleteness theorems are statements about formal systems in this sense. It is worth keeping in mind that more general deductive systems are considered in proof theory and type theory, typically because by side-stepping these coding issues one can give a simpler account of computational phenomena such as cut-elimination. A well-known example of such a so-called “semi-formal system” is first-order arithmetic? with the ω-rule?, used by Schütte in order to simplify Gentzen’s proof that the consistency of first-order arithmetic may be reduced to well-foundedness of the ordinal .