nLab propositional equality

Redirected from "propositional equalities".

Context

Type theory

natural deduction metalanguage, practical foundations

  1. type formation rule
  2. term introduction rule
  3. term elimination rule
  4. computation rule

type theory (dependent, intensional, observational type theory, homotopy type theory)

syntax object language

computational trinitarianism =
propositions as types +programs as proofs +relation type theory/category theory

logicset theory (internal logic of)category theorytype theory
propositionsetobjecttype
predicatefamily of setsdisplay morphismdependent type
proofelementgeneralized elementterm/program
cut rulecomposition of classifying morphisms / pullback of display mapssubstitution
introduction rule for implicationcounit for hom-tensor adjunctionlambda
elimination rule for implicationunit for hom-tensor adjunctionapplication
cut elimination for implicationone of the zigzag identities for hom-tensor adjunctionbeta reduction
identity elimination for implicationthe other zigzag identity for hom-tensor adjunctioneta conversion
truesingletonterminal object/(-2)-truncated objecth-level 0-type/unit type
falseempty setinitial objectempty type
proposition, truth valuesubsingletonsubterminal object/(-1)-truncated objecth-proposition, mere proposition
logical conjunctioncartesian productproductproduct type
disjunctiondisjoint union (support of)coproduct ((-1)-truncation of)sum type (bracket type of)
implicationfunction set (into subsingleton)internal hom (into subterminal object)function type (into h-proposition)
negationfunction set into empty setinternal hom into initial objectfunction type into empty type
universal quantificationindexed cartesian product (of family of subsingletons)dependent product (of family of subterminal objects)dependent product type (of family of h-propositions)
existential quantificationindexed disjoint union (support of)dependent sum ((-1)-truncation of)dependent sum type (bracket type of)
logical equivalencebijection setobject of isomorphismsequivalence type
support setsupport object/(-1)-truncationpropositional truncation/bracket type
n-image of morphism into terminal object/n-truncationn-truncation modality
equalitydiagonal function/diagonal subset/diagonal relationpath space objectidentity type/path type
completely presented setsetdiscrete object/0-truncated objecth-level 2-type/set/h-set
setset with equivalence relationinternal 0-groupoidBishop set/setoid with its pseudo-equivalence relation an actual equivalence relation
equivalence class/quotient setquotientquotient type
inductioncolimitinductive type, W-type, M-type
higher inductionhigher colimithigher inductive type
-0-truncated higher colimitquotient inductive type
coinductionlimitcoinductive type
presettype without identity types
set of truth valuessubobject classifiertype of propositions
domain of discourseuniverseobject classifiertype universe
modalityclosure operator, (idempotent) monadmodal type theory, monad (in computer science)
linear logic(symmetric, closed) monoidal categorylinear type theory/quantum computation
proof netstring diagramquantum circuit
(absence of) contraction rule(absence of) diagonalno-cloning theorem
synthetic mathematicsdomain specific embedded programming language

homotopy levels

semantics

Equality and Equivalence

Contents

Idea

In any predicate logic over type theory, propositional equality is the notion of equality which is defined to be a proposition. Propositional equality is most commonly used in set theories like ZFC and ETCS and dependently sorted set theories, but it could also be used for definitional equality and conversional equality in logic over dependent type theory in place of judgmental equality.

Propositional equality can be contrasted with judgmental equality, where equality is a judgment, and typal equality, where equality is a type.

Note on terminology

Historically in the dependent type theory community, the term propositional equality was used for typal equality. This was because under the principle of propositions as types, one interprets all types in a single-layer type theory as being propositions. However, we choose to make a distinction between propositional equality and typal equality. First, propositional equality as defined in this article is used in the most common foundations of mathematics, such as ZFC and ETCS, and is clearly not a type. Additionally, in some logics over type theory, one can have three distinct notions of equality: judgmental equality, propositional equality, and typal equality. Finally, in the advent of homotopy type theory and other type theoretic higher foundations, typal equality is no longer required to be a subsingleton or h-proposition, and the alternative principle of propositions as some types has become the primary interpretation of dependent type theory, where only the subsingletons or h-propositions are interpreted as propositions.

Definition

Typed first-order logic

In any two-layer type theory with a layer of types and a layer of propositions, or equivalently a first order logic over type theory or a first-order theory, every type AA has a binary relation according to which two elements xx and yy of AA are related if and only if they are equal; in this case we write x= Ayx =_A y. Since relations are propositions in the context of a term variable judgment in the type layer, this is called propositional equality. The formation and introduction rules for propositional equality is as follows

ΓAtypeΓ,x:A,y:Ax= AypropΓAtypeΓ,x:Ax= Axtrue\frac{\Gamma \vdash A \; \mathrm{type}}{\Gamma, x:A, y:A \vdash x =_A y \; \mathrm{prop}} \quad \frac{\Gamma \vdash A \; \mathrm{type}}{\Gamma, x:A \vdash x =_A x \; \mathrm{true}}

Then we have the elimination rules for propositional equality:

ΓAtypeΓ,x:A,y:AP(x,y)propΓ(x:A.P(x,x))(x:A.y:A.x= AyP(x,y))true\frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma, x:A, y:A \vdash P(x, y) \; \mathrm{prop}}{\Gamma \vdash \left(\forall x:A.P(x, x)\right) \implies \left(\forall x:A.\forall y:A.x =_A y \implies P(x, y)\right) \; \mathrm{true}}

Untyped first-order logic

Something similar occurs in untyped first-order logic, where the domain of discourse has a binary relation according to which two elements xx and yy are related if and only if they are equal; in this case we write x=yx = y. Since relations are propositions in the context of a term variable judgment in the type layer, this is similarly called propositional equality. The formation and introduction rules for propositional equality is as follows

ΓxΓyΓx=ypropΓxΓx=xtrue\frac{\Gamma \vdash x \quad \Gamma \vdash y}{\Gamma \vdash x = y \; \mathrm{prop}} \quad \frac{\Gamma \vdash x}{\Gamma \vdash x = x \; \mathrm{true}}

Then we have the elimination rules for propositional equality:

Γ,x,yP(x,y)propΓ(x.P(x,x))(x.y.x=yP(x,y))true\frac{\Gamma, x, y \vdash P(x, y) \; \mathrm{prop}}{\Gamma \vdash \left(\forall x.P(x, x)\right) \implies \left(\forall x.\forall y.x = y \implies P(x, y)\right) \; \mathrm{true}}

Properties

Propositional equality is an equivalence relation

The introduction rule of propositional equality says that propositional equality is reflexive.

We can show that propositional equality is symmetric, that for all x:Ax:A and y:Ay:A such that x= Ayx =_A y, we have y= Axy =_A x. By the introduction rule, we have that for all x:Ax:A, we have that x= Axx =_A x, and because all propositions imply themselves, we have that x= Axx =_A x implies x= Axx =_A x. Thus, by the elimination rules for propositional equality, for all x:Ax:A and y:Ay:A such that x= Ayx =_A y, we have y= Axy =_A x.

We can also show that propositional equality is transitive, that for all x:Ax:A, y:Ay:A, and z:Az:A such that x= Ayx =_A y, y= Azy =_A z implies that x= Azx =_A z. By the introduction rule, we have that for all x:Ax:A and a:B(x)a:B(x), we have that x= Axx =_A x, and because all propositions imply themselves, we have that x= Azx =_A z implies y= Azy =_A z, and because true propositions imply true propositions, we have that x= Axx =_A x implies that x= Azx =_A z implies x= Azx =_A z. Thus, by the elimination rules for propositional equality, for all x:Ax:A, y:Ay:A, and z:Az:A such that x= Ayx =_A y, y= Azy =_A z implies that x= Azx =_A z.

Thus, propositional equality is an equivalence relation.

Functions are extensional

For all function f:ABf:A \to B and elements x:Ax:A and y:Ay:A such that x= Ayx =_A y, f(x)= Bf(y)f(x) =_{B} f(y):

f:AB.x:A.y:A.x= Ayf(x)= Bf(y)\forall f:A \to B.\forall x:A.\forall y:A.x =_A y \implies f(x) =_{B} f(y)

This is because for all functions f:ABf:A \to B, by the introduction rule for propositional equality, for all elements x:Ax:A, f(x)= Bf(x)f(x) =_{B} f(x), and the elimination rule for propositional equality states that if for all elements x:Ax:A, f(x)= Bf(x)f(x) =_{B} f(x), then for all elements x:Ax:A and y:Ay:A such that x= Ayx =_A y, f(x)= Bf(y)f(x) =_{B} f(y).

Function extensionality

The extensionality principle for function types (function extensionality) states that for all functions f:ABf:A \to B and g:ABg:A \to B, f= ABgf =_{A \to B} g if and only if for all a:Aa:A and b:Ab:A such that a= Aba =_A b, f(a)= Bg(b)f(a) =_{B} g(b)

f:AB.g:AB.f= ABga:A.b:A.a= Ab(f(a)= Bg(b))\forall f:A \to B.\forall g:A \to B.f =_{A \to B} g \iff \forall a:A. \forall b:A.a =_A b \implies (f(a) =_{B} g(b))

Transport and heterogeneous propositional equality

Given a set AA and elements xAx \in A and yAy \in A and a family of sets (B(x)) xA(B(x))_{x \in A}, aB(x)a \in B(x) and bB(y)b \in B(y), if x= Ayx =_A y, then we can define transport functions tr A,B(x,y):B(x)B(y)\mathrm{tr}_{A, B}(x, y):B(x) \to B(y) whose inverse function is tr A,B(y,x)\mathrm{tr}_{A, B}(y, x) by symmetry of propositional equality.

The heterogeneous propositional equality is given by the logically equivalent relations

tr A,B(x,y,a)= B(y)bora= B(x)tr A,B(y,x,b)\mathrm{tr}_{A, B}(x, y, a) =_{B(y)} b \quad \mathrm{or} \quad a =_{B(x)} \mathrm{tr}_{A, B}(y, x, b)

Transport and heterogeneous propositional equality are important in some set theories which do not have equality between sets themselves, and the only way to compare sets for equality is through isomorphisms. The same is true of logic over dependent type theory which do not have definitional equality between types, and one has to use definitional isomorphisms instead. In the presence of equality between sets, transport is simply the identity function on the equal set.

In computation and uniqueness rules

Propositional equality can be used in the computation rules and uniqueness rules of types in logic over dependent type theory:

  • Computation rules for dependent product types:
Γ,x:Ab(x):B(x)Γa:AΓλ(x:A).b(x)(a)= B(a)b(a)true\frac{\Gamma, x:A \vdash b(x):B(x) \quad \Gamma \vdash a:A}{\Gamma \vdash \lambda(x:A).b(x)(a) =_{B(a)} b(a) \; \mathrm{true}}
  • Uniqueness rules for dependent product types:
Γf: x:AB(x)Γf= x:AB(x)λ(x).f(x)true\frac{\Gamma \vdash f:\prod_{x:A} B(x)}{\Gamma \vdash f =_{\prod_{x:A} B(x)} \lambda(x).f(x) \; \mathrm{true}}
  • Computation rules for negative dependent sum types:
Γ,x:Ab(x):B(x)Γa:AΓπ 1(a,b)= AatrueΓ,x:Ab:BΓa:AΓπ 2(a,b)= B(π 1(a,b))btrue\frac{\Gamma, x:A \vdash b(x):B(x) \quad \Gamma \vdash a:A}{\Gamma \vdash \pi_1(a, b) =_A a \; \mathrm{true}} \qquad \frac{\Gamma, x:A \vdash b:B \quad \Gamma \vdash a:A}{\Gamma \vdash \pi_2(a, b) =_{B(\pi_1(a, b))} b \; \mathrm{true}}
  • Uniqueness rules for negative dependent sum types:
Γz: x:AB(x)Γz= x:AB(x)(π 1(z),π 2(z))true\frac{\Gamma \vdash z:\sum_{x:A} B(x)}{\Gamma \vdash z =_{\sum_{x:A} B(x)} (\pi_1(z), \pi_2(z)) \; \mathrm{true}}
  • Computation rules for identity types:
Γ,a:A,b:A,p:a= AbCtypeΓt: x:AC(x,x,refl A(x))Γc:AΓJ(t,c,c,refl(c))= C(c,c,refl A(c))t(c)true\frac{\Gamma, a:A, b:A, p:a =_A b \vdash C \; \mathrm{type} \quad \Gamma \vdash t:\prod_{x:A} C(x, x, \mathrm{refl}_A(x)) \quad \Gamma \vdash c:A}{\Gamma \vdash J(t, c, c, \mathrm{refl}(c)) =_{C(c, c, \mathrm{refl}_A(c))} t(c) \; \mathrm{true}}

 See also

References

The usual notion of equality as a proposition is discussed in

Last revised on May 16, 2025 at 21:24:35. See the history of this page for a list of all contributions to it.