|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|
|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|
In formal logic, a judgment, or judgement, is a “meta-proposition”; that is, a proposition belonging to the meta-language (the deductive system or logical framework) rather than to the object language.
More specifically, any deductive system includes, as part of its specification, which strings of symbols are to be regarded as the judgments. Some of these symbols may themselves express a proposition in the object language, but this is not necessarily the case.
The interest in judgements is typically in how they may arise as theorems, or as consequences of other judgements, by way of the deduction rules in a deductive system. One writes
to mean that is a judgment that is derivable, i.e. a theorem of the deductive system.
In first-order logic, a paradigmatic example of a judgement is the judgement that a certain string of symbols is a well-formed proposition. This is often written as “”, where is a metavariable? standing for a string of symbols that denotes a proposition.
Neither of these judgements is the same thing as the proposition itself. In particular, the proposition is a statement in the logic, while the judgement that the proposition is a proposition, or is provably true, is a statement about the logic. However, often people abuse notation and conflate a proposition with the judgment that it is true, writing instead of than .
The paradigmatic example of a judgment in type theory is a typing judgment. The assertion that a term has type (written “”) is not a statement in the type theory (that is, not something which one could apply logical operators to in the type-theoretic system) but a statement about the type theory.
Often, type theories include only a particular small set of judgments, such as:
(In a type theory with a type of types, judgments of typehood can sometimes be incorporated as a special case of typing judgments, writing instead of .)
These limited sets of judgments are often defined inductively by giving type formation/term introduction/term elimination- and computation rules (see natural deduction) that specify under what hypotheses one is allowed to conclude the given judgment.
These inductive definitions can be formalized by choosing a particular type theory to be the meta-language; usually a very simple type theory suffices (such as a dependent type theory with only dependent product types). Such a meta-type-theory is often called a logical framework.
It may happen that a judgment is only derivable under the assumptions of certain other judgments . In this case one writes
Often, however, it is convenient to incorporate hypotheticality into judgments themselves, so that becomes a single hypothetical judgment. It can then be a consquence of other judgments, or (more importantly) a hypothesis used in concluding other judgments. For instance, in order to conclude the truth of an implication , we must conclude assuming ; thus the introduction rule for implication is
with a hypothetical judgment as its hypothesis. See natural deduction for a more extensive discussion.
In a type theory, we may also conside the case where the hypotheses are typing judgments of the form , where is a variable, and in which the conclusion judgment involves these variables as free variables. For instance, could be , where is a valid (well-formed) proposition only when belongs of a specific type . In this case we have a generic judgement, written
which expresses that assuming the hypothesis or antecedent judgement that is of type , as a consequence we have the succedent judgement that is a proposition. If on the right here we have a typing judgment
we have a term in context.
While this may seem to be a very basic form of (hypothetical/generic) judgement only, in systems such as dependent type theory or homotopy type theory, all of logic and a good bit more is all based on just this.
Foundational discussion of the notion of judgement in formal logic is in
More on this is in in sections 2 and 3 of
A textbook acccount is in section I.3 of
Something called judgement (Urteil) appears in