proposition

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Foundations
+-- {: .hide}
[[!include foundations - contents]]
=--
#### Type theory
+-- {: .hide}
[[!include type theory - contents]]
=--
=--
=--

# Contents
* table of contents
{:toc}

## Idea

In [[logic]], a __proposition__ is intended to be interpreted [[semantics|semantically]] as having a [[truth value]].  In modern logic, it's cleanest to start by specifying a [[context]] and considering the propositions *in* that context.

## Predicates

If (in a given context $\Gamma$) we have a [[type]] $A$, then we may extend $\Gamma$ to a context $\Delta \coloneqq \Gamma, x\colon A$ (assuming that the [[variable]] $x$ is not otherwise in use).  We may then think of any proposition in $\Delta$ as a __predicate__ $P$ in $\Gamma$ with the __free variable__ $x$ of type $A$; this generalises to more complicated extensions of contexts (say by several variables).

If $P$ is a predicate with free variable $x$ of type $A$ and $t$ is a [[term]] of type $A$, then we get a proposition $P[t/x]$ by substituting $t$ for every instance of $x$ in $P$.  Conversely, any proposition $Q$ may be interpreted as a predicate $Q[\hat{x}]$ in which the free variable $x$ simply doesn't appear.  (We have $Q[\hat{x}][t/x] = Q$ for every term $t$.)

There is a more traditional approach of viewing a predicate as a [[function]] from terms to propositions, a __propositional function__.  Then $P[t/x]$ is written $P(t)$, while $P$ itself from above is written $P(x)$ (since a variable is a term).  In this approach, less care is usually taken with the context, so that $Q[\hat{x}]$ may be conflated with $Q$ (since $Q[\hat{x}](x) = Q$, or this would be so if $x$ were a term in $\Gamma$ instead of only in $\Delta$).

From a higher-categorical point of view, predicates could be viewed as an [[indexed family]] of propositions with index object $I$ and function $P:I \rightarrow Prop$, the [[(-1)-groupoid]] version of the indexed family of [[set|sets]] found in [[set theory]] with index object $I$ and [[functor]] $S:I \rightarrow Set$ and the indexed family of [[groupoid|groupoids]] found in [[groupoid theory]] with index object $I$ and [[2-functor]] $G:I \rightarrow Grpd$.

## In category-theoretic logic

In [[category-theoretic logic|categorial logic]]/[[categorical semantics]], we have a [[category]] $\mathcal{C}$ and a [[class of monomorphisms]] (often all [[monomorphisms]]) $\mathcal{M}$ in $\mathcal{C}$.  Then a __context__ is an [[object]] of $\mathcal{C}$ and a __proposition__ in the context $\Gamma$ is an $\mathcal{M}$-[[subobject]] of $\Gamma$.  We also have a class of [[display maps]] (often all [[morphisms]] in $\mathcal{C}$) such that $\mathcal{M}$ is closed under [[pullbacks]] both along display maps and along [[sections]] of display maps.  These two ways of pulling back propositions in one context to propositions in another context correspond (respectively) to forming $Q[\hat{x}]$ and $P[t/x]$.

More specifically, if $\mathcal{C}$ is a [[finitely complete category]], then the objects of $\mathcal{C}$ may equivalently be viewed as contexts and as types in the [[internal language]] of $\mathcal{C}$; a morphism from $\Gamma$ to $A$ is a term of type $A$ in context $\Gamma$.  The extension of $\Gamma$ by a variable $x$ of type $A$ is the [[product]] $\Gamma \times A$, and the display map to $\Gamma$ is simply the projection.  Every term $t\colon \Gamma \to A$ defines a section of this display map, and we may literally construct $Q[\hat{x}]$ and $P[t/x]$ as pullbacks.

If $\mathcal{C}$ is even a [[topos]], then a proposition $Q$ in $\Gamma$ may be identified with a term whose type is the [[subobject classifier]] $\Omega$, and the predicate $Q[\hat{x}]$ is the [[composite]] $\Gamma \times A \to \Gamma \to \Omega$.  Given a term $t\colon \Gamma \to A$ and a predicate $P\colon \Gamma \times A \to \Omega$, the proposition $P[t/x]$ is the composite $\Gamma \to \Gamma \times A \to \Omega$.  Internalising a bit (by [[currying]]), we may view $Q$ as a [[global element]] $1 \to \Omega^\Gamma$ and $P$ as a [[morphism]] $A \to \Omega^\Gamma$, recovering the view that predicates are proposition-valued 'functions' (morphisms).

In general, we may intuitively think of an object $A$ in the [[slice category]] $\mathcal{C}/\Gamma$ as the 'set' (object) of possible values of terms $t$ of type $A$ in context $\Gamma$, and think of a predicate $P$ with a free variable of type $A$ (in the same context) as being the 'subset' (subobject) on those $t$ for which the statement $P(t)$ is [[true]].

## In type theory
 {#InTypeTheory}

In [[type theory]] under the _[[propositions as types]]_ paradigm, every [[type]] represents the proposition that it is [[inhabited type|inhabited]]. Hence the types which have at most one term may be identified with propositions ("propositions as some types"). In [[homotopy type theory]] these are the [[(-1)-types]]. The [[reflective subuniverse|reflection]] that sends types to their underlying proposition qua [[(-1)-truncation]] is the [[n-truncation modality]] for $n = (-1)$, also called [[bracket type]]-formation.

## Propositional and predicate logic

In [[propositional logic]], we fix a single context (considered the [[empty context]]) and consider the logic of propositions in that context.  In [[predicate logic]], we fix the empty context but work also in extensions of that context by free variables.  Predicate logic uses [[quantifiers]] as a way to move between contexts, more specifically to move from a predicate $P$ in a given context $\Gamma$ (which is a proposition in some extension of $\Gamma$) to a proposition in $\Gamma$.  The free variables in the predicate still appear in the written form of the proposition, but they are now *bound* variables and are not free in the proposition\'s context; some logicians prefer to systematically replace bound variables with numbered placeholders (especially when defining [[Gödel number]]s and the like).

## Related concepts

* [[property]]

* [[mere proposition]]

* [[type of propositions]], [[bracket type]], [[h-proposition]]

* [[propositional extensionality]]

\linebreak

[[!include mathematical statements --- contents]]

[[!redirects proposition]]
[[!redirects propositions]]

[[!redirects predicate]]
[[!redirects predicates]]
[[!redirects propositional function]]
[[!redirects propositional functions]]


propositional axiom of choice

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Foundations
+-- {: .hide}
[[!include foundations - contents]]
=--
#### Type theory
+-- {: .hide}
[[!include type theory - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Idea

The **propositional axiom of choice** is simply another name for the usual [[axiom of choice]] in [[dependent type theory]], to distinguish with the untruncated version of the axiom of choice called the *[[type theoretic axiom of choice]]*.

It corresponds to the *[[internal axiom of choice]]* in [[categorical semantics]] and in [[set theory]].

## Statement

The propositional axiom of choice is the statement that given types $A$ and $B$ and type family $x:A, y:B \vdash R(x, y)$, one can construct

$$\mathrm{ac}_R:\left(\prod_{x:A} \exists y:B.R(x, y)\right) \to \left(\exists f:A \to B.\prod_{x:A} R(x, f(x))\right)$$

The [[propositions as subsingletons]] interprets [[disjunction]] and [[existential quantification]] as the [[bracket type]] of the [[sum type]] and [[dependent sum type]] respectively, and leads to the usual statement of the axiom of choice translated to [[dependent type theory]].

The equivalent form of the axiom of choice involving a unary type family $x:A \vdash P(x)$ instead of a binary type family $x:A, y:B \vdash R(x, y)$ states that one can construct

$$\mathrm{ac}_R:\left(\prod_{x:A} [P(x)]\right) \to \left[\prod_{x:A} P(x)\right]$$

This is the statement that any [[dependent product]] of any [[family]] of [[inhabited]] [[h-sets]] is [[inhabited]].

## Related concepts

* [[propositional truncation]]

* [[inhabited set]], [[inhabited object]]

* [[dominance]]

* [[type theoretic axiom of choice]]

* [[internal axiom of choice]].

## References

* [[Martin Hyland]], p. 1 of: _Variations on realizability: realizing the propositional axiom of choice_,  Mathematical Structures in Computer Science, Volume 12, Issue 3, June 2002, pp. 295 - 317  ([doi:10.1017/S0960129502003651](https://doi.org/10.1017/S0960129502003651), [pdf](https://www.dpmms.cam.ac.uk/~martin/Research/Publications/2002/vor02.pdf))

[[!redirects PAC]]


propositional equality

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Type theory
+-- {: .hide}
[[!include type theory - contents]]
=--
#### Equality and Equivalence
+--{: .hide}
[[!include equality and equivalence - contents]]
=--
=--
=--

\tableofcontents

## Idea
 {#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]], but it could also be used for [[definitional equality]] and [[conversional equality]] in some presentations of [[dependent type theories]] like [[Martin-Löf type theory]] or [[cubical 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 $A$ has a binary [[relation]] according to which two elements $x$ and $y$ of $A$ are related if and only if they are equal; in this case we write $x =_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

$$\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:

$$\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 $x$ and $y$ are related if and only if they are equal; in this case we write $x = 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

$$\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:

$$\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 heterogeneous equality is symmetric, that for all $x:A$ and $y:A$ such that $x =_A y$, we have $y =_A x$. By the introduction rule, we have that for all $x:A$, we have that $x =_A x$, and because all propositions imply themselves, we have that $x =_A x$ implies $x =_A x$. Thus, by the elimination rules for heterogeneous equality, for all $x:A$ and $y:A$ such that $x =_A y$, we have $y =_A x$.

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

Thus, heterogeneous equality is an equivalence relation.

### Functions are extensional

For all function $f:A \to B$ and elements $x:A$ and $y:A$ such that $x =_A y$, $f(x) =_{B} f(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:A \to B$, by the introduction rule for propositional equality, for all elements $x:A$, $f(x) =_{B} f(x)$, and the elimination rule for propositional equality states that if for all elements $x:A$, $f(x) =_{B} f(x)$, then for all elements $x:A$ and $y:A$ such that $x =_A y$, $f(x) =_{B} f(y)$.

### Function extensionality

The extensionality principle for [[function types]] ([[function extensionality]]) states that for all functions $f:A \to B$ and $g:A \to B$, $f =_{A \to B} g$ if and only if for all $a:A$ and $b:A$ such that $a =_A b$, $f(a) =_{B} g(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))$$

### Relation to heterogeneous propositional equality

Given elements $x:A$ and $y:A$ such that $x =_A y$ and $a:B(x)$ and $b:B(y)$, [[heterogeneous propositional equality]] is given by the relation $a =_{\underline{ }.B}^{x =_A y} b$. Given elements $x:A$, and for all $a:B(x)$ and $b:B(x)$, $a =_{\underline{ }.B}^{x =_A x} b$ if and only if $a =_{B(x)} b$

$$\forall a:B(x).\forall b:B(x). a =_{\underline{ }.B}^{x =_A x} b \iff a =_{B(x)} b$$

This is because by the introduction rules of propositional equality and heterogeneous propositional equality, we have that for all $a:B(x)$, $a =_{B(x)} a$ and $a =_{\underline{ }.B}^{x =_A x} a$, and since true propositions imply true propositions, we have $a =_{B(x)} a$ implies $a =_{\underline{ }.B}^{x =_A x} a$ and $a =_{\underline{ }.B}^{x =_A x} a$ implies $a =_{B(x)} a$. By the elimination rules for propositional equality, for all $a:B(x)$ and $b:B(x)$, we have $a =_{B(x)} b$ implies $a =_{\underline{ }.B}^{x =_A x} b$, and by the elimination rules for heterogeneous propositional equality, we have $a =_{\underline{ }.B}^{x =_A x} b$ implies $a =_{B(x)} b$. Thus, $a =_{\underline{ }.B}^{x =_A x} b$ if and only if $a =_{B(x)} b$.

### Transport and the principle of substitution

The analogue of [[identity functions]] on a type $A$, a function $f:A \to A$ such that $x =_A f(x)$ for all elements $x:A$, is the notion of [[transport functions]] between a family of types $B(x)$ indexed by elements $x:A$.

Given elements $x:A$ and $y:A$ such that $x =_A y$, a [[transport function]] is a function $f:B(x) \to B(y)$ such that for all $a:B(x)$, $a =_{\underline{ }.B}^{x =_A y} f(a)$

$$\forall a:B(x).a =_{\underline{ }.B}^{x =_A y} f(a)$$

These transport functions, if they exist, are [[uniqueness quantifier|unique up to equality]]. Suppose we have a second function $g:B(x) \to B(y)$ such that $x =_A y$ implies that for all $a:B(x)$, $a =_{\underline{ }.B}^{x =_A y} g(a)$. Then by symmetry and transitivity of heterogeneous equality, we have $f(a) =_{\underline{ }.B}^{y =_A y} g(a)$, which is logically equivalent to $f(a) =_{B(y)} g(a)$. Then by function extensionality, we have $f =_{B(x) \to B(y)} g$, which implies that transport functions, if they exist, are unique up to equality.

Suppose that for all elements $x:A$ and $y:A$ such that $x =_A y$, there exists a transport function $\mathrm{tr}_{\underline{ }.B}^{x =_A y}:B(x) \to B(y)$. Then for all $a:B(x)$ and $b:B(y)$, $a =_{\underline{ }.B}^{x =_A y} b$ if and only if $\mathrm{tr}_{\underline{ }.B}^{x =_A y}(a) =_{B(y)} b$

$$\forall a:B(x).\forall b:B(y). a =_{\underline{ }.B}^{x =_A y} b \iff \mathrm{tr}_{\underline{ }.B}^{x =_A y}(a) =_{B(y)} b$$

In particular, this means that we have $\mathrm{tr}_{\underline{ }.B}^{y =_A x}(b) =_{B(x)} a$, and by the fact that functions preserve equality, $\mathrm{tr}_{\underline{ }.B}^{y =_A x}(\mathrm{tr}_{\underline{ }.B}^{x =_A y}(a)) =_{B(x)} \mathrm{tr}_{\underline{ }.B}^{y =_A x}(b)$, which by transitivity of propositional equality implies that $\mathrm{tr}_{\underline{ }.B}^{y =_A x}(\mathrm{tr}_{\underline{ }.B}^{x =_A y}(a)) =_{B(x)} a$. Similarly, we have $\mathrm{tr}_{\underline{ }.B}^{x =_A y}(\mathrm{tr}_{\underline{ }.B}^{y =_A x}(b)) =_{B(y)} \mathrm{tr}_{\underline{ }.B}^{x =_A y}(a)$, which by transitivity of propositional equality implies that $\mathrm{tr}_{\underline{ }.B}^{x =_A y}(\mathrm{tr}_{\underline{ }.B}^{y =_A x}(b)) =_{B(y)} b$. Thus, the transport functions $\mathrm{tr}_{\underline{ }.B}^{x =_A y}:B(x) \to B(y)$ and $\mathrm{tr}_{\underline{ }.B}^{y =_A x}:B(y) \to B(x)$ are [[inverse functions]] of each other, and thus both transport functions are [[bijections]], and could be written as $\mathrm{tr}_{\underline{ }.B}^{x =_A y}:B(x) \cong B(y)$ and $\mathrm{tr}_{\underline{ }.B}^{y =_A x}:B(y) \cong B(x)$ respectively.

Thus, provided that [[transport functions]] exist, we have the following derivable rules for the [[principle of substitution]] of propositionally equal terms:
$$\frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma \vdash a : A \quad \Gamma \vdash b : A \quad \Gamma \vdash a =_A b \; \mathrm{true} \quad \Gamma, x:A \vdash B(x) \; \mathrm{type}}{\Gamma \vdash \mathrm{tr}_{\underline{ }.B}^{a =_A b}:B(a) \to B(b)}$$
$$\frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma \vdash a : A \quad \Gamma \vdash b : A \quad \Gamma \vdash a =_A b \; \mathrm{true} \quad \Gamma, x:A \vdash c(x):B(x)}{\Gamma \vdash \mathrm{tr}_{\underline{ }.B}^{a =_A b}(c(a)) =_{B(b)} c(b) \; \mathrm{true}}$$

### In computation and uniqueness rules

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

* Computation rules for dependent product types:

$$\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:

$$\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:

$$\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:

$$\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:

$$\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

* [[equality]]

* [[judgmental equality]], [[typal equality]]

[[!redirects propositional equality]]
[[!redirects propositional equalities]]
[[!redirects propositionally equal]]


propositional equation reasoning system

The material previously on this page is now located at the [Online Encyclopedia of Integer Sequences Wiki](https://oeis.org/wiki/Propositional_Equation_Reasoning_Systems).

[[!redirects propositional equation reasoning systems]]
[[!redirects Propositional Equation Reasoning Systems]]
[[!redirects Propositional Equation Reasoning System]]


propositional extensionality

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Type theory
+-- {: .hide}
[[!include type theory - contents]]
=--
#### Equality and Equivalence
+--{: .hide}
[[!include equality and equivalence - contents]]
=--
#### Universes
+-- {: .hide}
[[!include universe - contents]]
=--
=--
=--

> Disambiguation: This should not be confused with propositional extensionality in [extensional type theory](extensional+type+theory#propositional_extensionality).

#Contents#
* table of contents
{:toc}

##Idea

In [[formal logic]] **propositional extensionality** holds when any two [[propositions]] $P$ and $Q$ are identified, $P = Q$, precisely if they [[implication|imply]] each other, $(P \leftrightarrow Q)$ (hence if they are _logically equivalent_ $(P \simeq Q)$), i.e.

$$
  (P=Q) \simeq (P\leftrightarrow Q)
  \,.
$$

## Properties

### In type theory and Relation to univalence

In [[type theory]] the expression $(P=Q)$ is the [[identity type]] $Id_{Prop}(P,Q)$ of the [[type of propositions|universe of propositions]] (or of the whole [[universe of types]], under [[propositions as types]]), with $P$ and $Q$ [[substitution|substituted]]. One might more precisely write $('P'='Q')$ here, with the quotation marks indicating that this is the _name_ of the proposition, namely a [[term]] of the universe type, rather than the proposition/type itself.

On the other hand, the expression $(P \leftrightarrow Q)$ in [[homotopy type theory]] is the type of [[equivalence in homotopy type theory|equivalences]] $(P \simeq Q)$ between the two propositions, hence the [[subtype]] of the [[function type]] $(P \to Q)$ on those terms that, in particular, have a [[homotopy inverse]].

Hence propositional extensionality in type theory is the statement that

$$
  ('P' = 'Q') \simeq (P \simeq Q)
  \,.
$$

(e.g. [Sozeau-Tabareau, section 3.2](#SozeauTabareau))

In [[homotopy type theory]], the assertion of this equivalence is a special case of the _[[univalence axiom]]_ which asserts this equivalence for all types $P$,$Q$, not necessarily propositions, with the [[identity type]] of the full [[universe of types]] on the left.

(e.g. [Sozeau-Tabareau, section 3.9](#SozeauTabareau))

## History

Specializing to the case where one of the propositions is 'true', [[George Boole]] can be taken (see [Voevodsky 14, slide 8](#Voevodsky14)) to be talking about propositional extensionality when he writes ([Boole 1853, p. 53](#Boole1853)):

> If instead of the proposition, "The sun shines," we say, "It is true that the sun shines," we then speak not directly of things, but of a proposition concerning things, viz., of the proposition "The sun shines." And, therefore, the proposition in which we thus speak is a secondary one.  Every primary proposition may thus give rise to a secondary proposition, viz., to that secondary proposition which asserts its truth, or declares its falsehood.

Later this became [[Alfred Tarski]]'s _material adequacy condition_, also known as _Convention T_:

> any viable theory of truth must entail, for every sentence $P$ of a language, a sentence of the form:

> $'P'$ is true if, and only if, $P$.

(see _[Wikipedia -- Semantic theory of truth -- Tarski's theory](https://en.wikipedia.org/wiki/Semantic_theory_of_truth#Tarski.27s_Theory)_)

This may be regarded as the above equivalence of propositional extensionality for the case that $Q \coloneqq$ [[true]]:

$$
  ('P' = 'true') \simeq (P \simeq true)
  \,.
$$

## See also

* [[extensionality]]

* [[set extensionality]]

## References

* {#Boole1853} [[George Boole]], _An Investigation of the Laws of Thought_, (1853) (retyped [pdf](http://www.gutenberg.org/files/15114/15114-pdf.pdf))

* {#SozeauTabareau} Matthieu Sozeau and Nicolas Tabareau, _Univalence For Free_ ([pdf](http://www.emn.fr/z-info/ntabareau/univalence_for_free/main.pdf))

* {#Voevodsky14} [[Vladimir Voevodsky]], _Foundations of Mathematics: their past, present and future, Part II_, ([slides](https://www.math.ias.edu/vladimir/sites/math.ias.edu.vladimir/files/2014_09_Bernays_2%20presentation.pdf))

[[!redirects material adequacy condition]]
[[!redirects material adequacy conditions]]

[[!redirects convention T]]
[[!redirects Convention T]]


propositional logic

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Foundations
+-- {: .hide}
[[!include foundations - contents]]
=--
=--
=--

# Contents
* table of contents
{: toc}

## Idea
__Propositional logic__, also called __$0$th-order logic__ and __sentential logic__, is that part of [[logic]] that deals only with [[propositions]] with no [[bound variables]].

Compare [[predicate logic]], or $1$st-order logic, and [[higher-order logic]].  Note that while one can have *free* variables in $0$th-order logic, one cannot really do anything with them; each $P(x)$ in a $0$th-order proposition might as well be thought of as atomic.

This can be understood more cleanly in the language of many-sorted logic, where each variable has to have a specified sort.
Then ordinary predicate logic has exactly one sort, usually unnamed.
Propositional logic is for a signature with no sorts, hence no variables at all.

A __propositional calculus__, also called __sentential calculus__, is simply a system for describing and working with propositional logic.  The precise form of such a calculus (and hence of the logic itself) depends on whether one is using [[classical logic]], [[intuitionistic logic]], [[linear logic]], etc; see those articles for details.

## Related concepts

* [[logic]]

  * **propositional logic** (0th order)

  * [[predicate logic]] (1st order)

  * [[higher order logic]]

  * [[modal logic]]

  * [[propositional logic as a dependent type theory]]

* [[zeroth-order set theory]]

[[!redirects propositional logic]]
[[!redirects propositional calculus]]
[[!redirects 0th-order logic]]
[[!redirects 0-th-order logic]]
[[!redirects zeroth-order logic]]
[[!redirects zeroeth-order logic]]
[[!redirects 0th order logic]]
[[!redirects 0-th order logic]]
[[!redirects zeroth order logic]]
[[!redirects zeroeth order logic]]
[[!redirects sentential logic]]
[[!redirects sentential calculus]]
[[!redirects sentensial logic]]
[[!redirects sentensial calculus]]

[[!redirects propositional logics]]


+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Type theory
+-- {: .hide}
[[!include type theory - contents]]
=--
#### Constructivism, Realizability, Computability
+-- {: .hide}
[[!include constructivism - contents]]
=--
#### $(0,1)$-Category theory
+--{: .hide}
[[!include (0,1)-category theory - contents]]
=--
#### Foundations
+-- {: .hide}
[[!include foundations - contents]]
=--
=--
=--

\tableofcontents

\section{Idea}

In [[type theory]], there is a principle known as [[propositions as types]], which says that [[propositions]] and [[types]] are essentially the same: a proposition is identified with the type of all its [[proofs]], and a type is identified with the proposition that it has a term.

However, this principle fails in many models of [[dependent type theory]], including the most widely used frameworks of type theories, such as [[Martin-Löf type theory]] and [[cubical type theory]], and the [[homotopy type theories]] based upon the two frameworks. Instead, they follow the weaker [[propositions as some types]] principle: while every proposition is interpreted as a type, not every type is interpreted as a proposition: only the [[(-1)-truncated]] types are interpreted as propositions (see [[h-proposition]] for more details).

In this article, we create a dependent type theory where the full [[propositions as types]] principle holds: every type is an [[h-proposition]]. In particular, proofs have equality propositions, represented by the [[identity types]], and every proposition is [[propositional truncation|propositionally truncated]], represented in this article by two rules equivalent to two definitions of [[isProp]] in [[dependent type theory]]. In addition, we add rules for the [[empty type]] corresponding to [[false]], the [[unit type]] corresponding to [[true]], [[sum types]] corresponding to [[disjunction]], [[product types]] corresponding to [[conjunction]], [[function types]] corresponding to [[implication]], as well as [[negations]] to the dependent type theory, yielding a model of [[intuitionistic logic|intuitionistic]] [[propositional logic]]. Finally, adding [[excluded middle]] or the [[double negation law]] yields a model of [[classical logic|classical]] propositional logic.

\section{Presentation}

The [[dependent type theory]] we shall be presenting here is similar to [[objective type theory]] of [[Benno van den Berg]] and [[Martijn den Besten]], in that it doesn't have [[definitional equality]]. The lack of [[definitional equality]] means that the theory is both simpler, and behaves more like traditional [[propositional logic]], which usually also doesn't have definitional equality.

\subsection{Judgments and contexts}

The dependent type theory model of propositional logic  consists of three judgments: proposition judgments $A \; \mathrm{prop}$, where we judge $A$ to be a proposition, proof judgments, where we judge $a$ to be a proof of $A$, $a:A$, and context judgments, where we judge $\Gamma$ to be a context, $\Gamma \; \mathrm{ctx}$. Contexts are lists of proof judgments $a:A$, $b:B$, $c:C$, et cetera, and are formalized by the rules for the empty context and extending the context by a proof judgment

$$\frac{}{() \; \mathrm{ctx}} \qquad \frac{\Gamma \; \mathrm{ctx} \quad \Gamma \vdash A \; \mathrm{prop}}{(\Gamma, a:A) \; \mathrm{ctx}}$$

\subsection{Structural rules}

The structural rules of this theory include the [[variable rule]], the [[weakening rule]], and the [[substitution rule]].

The variable rule states that we may derive a proof judgment if the proof judgment is in the context already:

$$\frac{\Gamma, a:A, \Delta \; \mathrm{ctx}}{\Gamma, a:A, \Delta \vdash a:A}$$

Let $\mathcal{J}$ be any arbitrary judgment. Then we have the following rules:

The weakening rule:

$$\frac{\Gamma, \Delta \vdash \mathcal{J} \quad \Gamma \vdash A \; \mathrm{prop}}{\Gamma, a:A, \Delta \vdash \mathcal{J}}$$

The substitution rule:

$$\frac{\Gamma \vdash a:A \quad \Gamma, b:A, \Delta \vdash \mathcal{J}}{\Gamma, \Delta[a/b] \vdash \mathcal{J}[a/b]}$$

The weakening and substitution rules are admissible rules: they do not need to be explicitly included in the type theory as they could be proven by induction on the structure of all possible derivations.

\subsection{Dependent propositions and dependent proofs}

A dependent proposition is a proposition $B$ in the context of the variable judgment $x:A$, $x:A \vdash B \; \mathrm{prop}$, they are sometimes written as $B(x)$. A dependent proof is a proof $b:B$ in the context of the variable judgment $x:A$, $x:A \vdash b:B$. dependent proofs are likewise sometimes written as $b(x)$.

\subsection{Equality of proofs}

Equality of proofs of a proposition is represented by a proposition. This in other [[dependent type theories]] is called a [[identity type]] or a [[path type]]. Equality of proofs comes with a formation rule, an introduction rule, an elimination rule, and a computation rule:

Formation rule for equality of proofs:
$$\frac{\Gamma \vdash A \; \mathrm{prop}}{\Gamma, a:A, b:A \vdash a =_A b \; \mathrm{prop}}$$

Introduction rule for equality of proofs:
$$\frac{\Gamma \vdash A \; \mathrm{prop}}{\Gamma, a:A \vdash \mathrm{refl}_A(a) : a =_A a}$$

Elimination rule for equality of proofs:
$$\frac{\Gamma, a:A, b:A, p:a =_A b \vdash C(a, b, p) \; \mathrm{prop} \quad \Gamma, a:A \vdash t:C(a, a, \mathrm{refl}_A(a))}{\Gamma, a:A, b:A, p:a =_A b \vdash J(t, a, b, p):C(a, b, p)}$$

Computation rules for equality of proofs:
$$\frac{\Gamma, a:A, b:A, p:a =_A b \vdash C(a, b, p) \; \mathrm{prop} \quad \Gamma, a:A \vdash t:C(a, a, \mathrm{refl}_A(a))}{\Gamma, a:A, b:A, p:a =_A b \vdash \beta_{=_A}(a) : J(t, a, a, \mathrm{refl}(a)) =_{C(a, a, \mathrm{refl}_A(a))} t}$$

\subsection{Propositional truncation}

One also adds the propositional truncation rule for propositions:
$$\frac{\Gamma \vdash A \; \mathrm{prop}}{\Gamma, a:A, b:A \vdash \mathrm{proptrunc}_A:a =_A b}$$

One could equivalently adds the point contraction rule for propositions with a proof:
$$\frac{\Gamma \vdash A \; \mathrm{prop} \quad \Gamma \vdash a:A}{\Gamma, b:A \vdash \mathrm{contr}_A:a =_A b}$$
which states that the given proof is a [[center of contraction]].

Both rules ensure that every proposition behaves like an h-proposition in dependent type theory.

\subsection{False}

The proposition false is the [[empty type]] in [[dependent type theory]]; thus the rules for false are the same as the rules for the empty type in other dependent type theories.

Formation rules for false:
$$\frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash \bot \; \mathrm{prop}}$$

Elimination rules for false:
$$\frac{\Gamma, x:\bot \vdash C \; \mathrm{prop} \quad \Gamma \vdash p:\bot}{\Gamma \vdash \mathrm{ind}_\bot^C(p):C(p)}$$

Uniqueness rules for false:
$$\frac{\Gamma, x:\bot \vdash C \; \mathrm{prop} \quad \Gamma \vdash p:\bot \quad \Gamma, x:\bot \vdash u:C}{\Gamma \vdash \eta_\bot(p, u):u[p/x] =_{C[p/x]} \mathrm{ind}_\bot^{C}(p)}$$

\subsection{True}

The proposition true is the [[unit type]] in [[dependent type theory]]; thus the rules for true are the same as the rules for the unit type in other dependent type theories.

Formation rules for true:
$$\frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash \top \; \mathrm{prop}}$$

Introduction rules for true:
$$\frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash *:\top}$$

Elimination rules for true:
$$\frac{\Gamma, x:\top \vdash C \; \mathrm{prop} \quad \Gamma \vdash c_*:C[*/x] \quad \Gamma \vdash p:\top}{\Gamma \vdash \mathrm{ind}_\top^C(p, c_*):C[p/x]}$$

Computation rules for true:
$$\frac{\Gamma, x:\top \vdash C \; \mathrm{prop} \quad \Gamma \vdash c_*:C[*/x]}{\Gamma \vdash \beta_\top: \mathrm{ind}_\top^C(*, c_*) =_{C[*/x]} c_*}$$

Uniqueness rules for true:
$$\frac{\Gamma, x:\top \vdash C \; \mathrm{prop} \quad \Gamma \vdash c_*:C[*/x] \quad \Gamma \vdash p:\top \quad \Gamma, x:\top \vdash u:C \quad \Gamma \vdash i_*(u):u[*/x] =_{C[*/x]} c_*}{\Gamma \vdash \eta_\top(p, u):u[p/x] =_{C[p/x]} \mathrm{ind}_\top^{C}(p, c_*)}$$

\subsection{Disjunctions}

The disjunction of two propositions is represented by the [[sum type]] in [[dependent type theory]]. However, in other dependent type theories, while it isn't possible to prove that the sum type of two [[h-propositions]] is indeed a h-proposition, the requirement that all types be propositionally truncated in propositional logic means that the disjunction of two propositions is a propositional truncation. In particular, the sum type of the unit type with itself is the [[booleans type]], but the equivalent of the booleans type in propositional logic, the disjunction of true with itself, is a proposition because of propositional truncation, and can be proven to be equivalent to true.

Formation rules for disjunctions:
$$\frac{\Gamma \vdash A \; \mathrm{prop} \quad \Gamma \vdash B \; \mathrm{prop}}{\Gamma \vdash A \vee B \; \mathrm{prop}}$$

Introduction rules for disjunctions:
$$\frac{\Gamma \vdash a:A}{\Gamma \vdash \mathrm{inl}(a):A \vee B} \qquad \frac{\Gamma \vdash b:B}{\Gamma \vdash \mathrm{inr}(b):A \vee B}$$

Elimination rules for disjunctions:
$$\frac{\Gamma, z:A \vee B \vdash C \; \mathrm{type} \quad \Gamma, x:A \vdash c(x):C(\mathrm{inl}(x)) \quad \Gamma, y:B \vdash d(y):C(\mathrm{inr}(y)) \quad \Gamma \vdash e:A \vee B}{\Gamma \vdash \mathrm{ind}_{A \vee B}^C(c(x), d(y), e):C(e)}$$

Computation rules for disjunctions:
$$\frac{\Gamma, z:A \vee B \vdash C \; \mathrm{type} \quad \Gamma, x:A \vdash c(x):C(\mathrm{inl}(x)) \quad \Gamma, y:B \vdash d(y):C(\mathrm{inr}(y)) \quad \Gamma \vdash a:A}{\Gamma \vdash \beta_1:\mathrm{ind}_{A \vee B}^C(c(x), d(y), \mathrm{inl}(a)) =_{C(\mathrm{inl}(a))} c(a)}$$
$$\frac{\Gamma, z:A \vee B \vdash C \; \mathrm{type} \quad \Gamma, x:A \vdash c(x):C(\mathrm{inl}(x)) \quad \Gamma, y:B \vdash d(y):C(\mathrm{inr}(y)) \quad \Gamma \vdash b:B}{\Gamma \vdash \beta_2:\mathrm{ind}_{A \vee B}^C(c(x), d(y), \mathrm{inr}(b)) =_{C(\mathrm{inr}(b))} d(b)}$$

Uniqueness rules for disjunctions:
$$\frac{\Gamma, z:A \vee B \vdash C \; \mathrm{type} \quad \Gamma, x:A \vdash c(x):C(\mathrm{inl}(x)) \quad \Gamma, y:B \vdash d(y):C(\mathrm{inr}(y)) \quad \Gamma \vdash e:A \vee B \quad \Gamma, x:A \vee B \vdash u:C \quad \Gamma, a:A \vdash i_\mathrm{inl}(u):u(\mathrm{inl}(a)) =_{C(\mathrm{inl}(a))} c(a) \quad \Gamma, b:B \vdash i_\mathrm{inr}(u):u(\mathrm{inr}(b)) =_{C(\mathrm{inr}(b))} d(b)}{\Gamma \vdash \eta_{A \vee B}:u(e) =_{C(e)} \mathrm{ind}_{A \vee B}^C(c(\mathrm{inl}(e)), d(\mathrm{inl}(e)), e)}$$

\subsection{Conjunctions}

The conjunction of two propositions is the [[product type]] in [[dependent type theory]]; thus the rules for conjunctions are the same as the rules for the product type in other dependent type theories.

Formation rules for conjunctions:
$$\frac{\Gamma \vdash A \; \mathrm{prop} \quad \Gamma \vdash B \; \mathrm{prop}}{\Gamma \vdash A \wedge B \; \mathrm{prop}}$$

Introduction rules for conjunctions:
$$\frac{\Gamma \vdash a:A \quad \Gamma \vdash b:B}{\Gamma \vdash (a, b):A \wedge B}$$

Elimination rules for conjunctions:
$$\frac{\Gamma \vdash z:A \wedge B}{\Gamma \vdash \pi_1(z):A} \qquad \frac{\Gamma \vdash z:A \wedge B}{\Gamma \vdash \pi_2(z):B}$$

Computation rules for conjunctions:
$$\frac{\Gamma \vdash a:A \quad \Gamma \vdash b:B}{\Gamma \vdash \beta_{\wedge 1}:\pi_1(a, b) =_A a} \qquad \frac{\Gamma \vdash a:A \quad \Gamma \vdash b:B}{\Gamma \vdash \beta_{\wedge 2}:\pi_2(a, b) =_B b}$$

Uniqueness rules for conjunctions:
$$\frac{\Gamma \vdash z:A \wedge B}{\Gamma \vdash \eta_\wedge:z =_{A \wedge B} (\pi_1(z), \pi_2(z))}$$

\subsection{Implications}

The implication of two propositions is the [[function type]] in [[dependent type theory]]; thus the rules for implications are the same as the rules for the product type in other dependent type theories.

Formation rules for implications:
$$\frac{\Gamma \vdash A \; \mathrm{prop} \quad \Gamma \vdash B \; \mathrm{prop}}{\Gamma \vdash A \implies B \; \mathrm{prop}}$$

Introduction rules for implications:
$$\frac{\Gamma, x:A \vdash b(x):B}{\Gamma \vdash (x \mapsto b(x)):A \implies B}$$

Elimination rules for implications:
$$\frac{\Gamma \vdash f:A \implies B \quad \Gamma \vdash a:A}{\Gamma \vdash f(a):B}$$

Computation rules for implications:
$$\frac{\Gamma, x:A \vdash b(x):B \quad \Gamma \vdash a:A}{\Gamma \vdash \beta_{\implies}:(x \mapsto b(x))(a) =_{B} b}$$

Uniqueness rules for implications:
$$\frac{\Gamma \vdash f:A \implies B}{\Gamma \vdash \eta_{\implies}:f =_{A \implies B} (x \to f(x))}$$

\subsection{Negations}

A negation is just an implication of false. However, we introduce separate rules for negations specifically for the use of the notation $\neg A$ rather than the longer $A \implies \bot$.

Formation rules for negations:
$$\frac{\Gamma \vdash A \; \mathrm{prop}}{\Gamma \vdash \neg A  \; \mathrm{prop}}$$

Introduction rules for negations:
$$\frac{\Gamma, x:A \vdash b(x):\bot}{\Gamma \vdash (x \mapsto b(x)):\neg A}$$

Elimination rules for negations:
$$\frac{\Gamma \vdash f:\neg A \quad \Gamma \vdash a:A}{\Gamma \vdash f(a):\bot}$$

Computation rules for negations:
$$\frac{\Gamma, x:A \vdash b(x):\bot \quad \Gamma \vdash a:A}{\Gamma \vdash \beta_{\neg}:(x \mapsto b(x))(a) =_{\bot} b}$$

Uniqueness rules for negations:
$$\frac{\Gamma \vdash f:\neg A}{\Gamma \vdash \eta_{\implies}:f =_{\neg A} (x \to f(x))}$$

The above rules makes the dependent type theory into a model of intuitionistic propositional logic.

\subsection{Decidable and stable propositions}

A proposition $A$ is said to be **decidable** or satisfy **[[excluded middle]]** if there is a proof $p:A \vee \neg A$. $A$ is said to be **stable** or satisfy the **[[double negation law]]** if there is a proof $p:\neg \neg A \implies A$. Every decidable propositions is stable, and every stable proposition is decidable, which means that the two notions are equivalent to each other.

If every proposition is decidable or stable, then the dependent type theory is a model of classical propositional logic. One could add one of the following rules to make the propositional logic classical:

$$\frac{\Gamma \vdash A \; \mathrm{prop}}{\Gamma \vdash \mathrm{lem}_A:A \vee \neg A} \qquad \frac{\Gamma \vdash A \; \mathrm{prop}}{\Gamma \vdash \mathrm{doubleneg}_A:\neg \neg A \implies A}$$

\section{Categorical semantics}

The [[categorical semantics]] of intuitionistic propositional logic is a [[(0,1)-category]] which is closed under [[finite products]], [[finite coproducts]], and [[internal homs]], or equivalently, a [[Heyting algebra]]. If the propositional logic is classical, then the categorical semantics is a [[Boolean algebra]].

\section{Typed predicate logic as a dependent type theory}

In the same way that [[propositional logic]] could be expressed as a dependent type theory, [[type theory|typed]] [[predicate logic]] could also be expressed as a type theory with two layers, a layer of 'types' which is the usual type theory, and a layer of propositional logic over the type layer.

Thus, in addition to the theory above, we also have the judgments $A \; \mathrm{type}$ and $a \in A$, as well as similar rules for judgments and contexts

$$\frac{\Gamma \; \mathrm{ctx} \quad \Gamma \vdash A \; \mathrm{type}}{(\Gamma, a \in A) \; \mathrm{ctx}}$$

\subsection{Structural rules}

We also have the variable, weakening and substitution structural rules for types which are in the same format as the structural rules for propositions.

$$\frac{\Gamma, a \in A, \Delta \; \mathrm{typectx}}{\Gamma, a \in A, \Delta \vdash a \in A}$$

$$\frac{\Gamma, \Delta \vdash \mathcal{J} \quad \Gamma \vdash A \; \mathrm{type}}{\Gamma, a \in A, \Delta \vdash \mathcal{J}}$$

$$\frac{\Gamma \vdash a \in A \quad \Gamma, b \in A, \Delta \vdash \mathcal{J}}{\Gamma, \Delta[a/b] \vdash \mathcal{J}[a/b]}$$

\subsection{Predicates}

A **[[predicate]]** is defined in the usual manner, as a proposition in the [[term in context|context]] of a term of a type
$$\Gamma, x \in A \vdash P \; \mathrm{prop}$$
and the predicate $P$ is usually written as $P(x)$ to indicate its dependence upon the variable $x \in A$.

A predicate proof is a proof of a proposition in the context of a term of a type
$$\Gamma, x \in A \vdash p:P$$
and the proof $p:P$ is similarly written as $p(x):P(x)$ to indicate its dependence upon the variable $x \in A$.

\subsection{Universal quantification}

In this model of predicate logic, [[universal quantification]] is represented by a variant of the [[dependent product type]] where the dependent type hypothesis in the usual [[dependent product type]] in [[dependent type theory]] is replaced by a predicate hypothesis.

Formation rules for the universal quantifier:
$$\frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma, x \in A \vdash B(x) \; \mathrm{prop}}{\Gamma \vdash \forall x \in A. B(x) \; \mathrm{prop}}$$

Introduction rules for the universal quantifier:
$$\frac{\Gamma, x \in A \vdash b(x):B(x)}{\Gamma \vdash \lambda x.b(x):\forall x \in A.B(x)}$$

Elimination rules for the universal quantifier:
$$\frac{\Gamma \vdash f:\forall x \in A. B(x) \quad \Gamma \vdash a \in A}{\Gamma \vdash f(a):B[a/x]}$$

Computation rules for the universal quantifier:
$$\frac{\Gamma, x \in A \vdash b(x):B(x) \quad \Gamma \vdash a \in A}{\Gamma \vdash \beta_\forall:\lambda x.b(x)(a) =_{B[a/x]} b[a/x]}$$

Uniqueness rules for the universal quantifier:
$$\frac{\Gamma \vdash f:\forall x \in A. B(x)}{\Gamma \vdash \eta_\forall:f =_{\forall x \in A. B(x)} \lambda(x).f(x)}$$

\subsection{Existential quantification}

Similarly, [[existential quantification]] is represented by a variant of the [[dependent sum type]] where the dependent type hypothesis in the usual [[dependent sum type]] in [[dependent type theory]] is replaced by a predicate hypothesis. In the same way that [[sum types]] are always propositionally truncated in propositional logic as a dependent type theory, existential quantification is similarly always propositionally truncated, due to the rules of propositional logic.

Formation rules for the existential quantifier:
$$\frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma, x \in A \vdash B(x) \; \mathrm{prop}}{\Gamma \vdash \exists x \in A. B(x) \; \mathrm{prop}}$$

Introduction rules for the existential quantifier:
$$\frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma, x \in A \vdash B(x) \; \mathrm{prop}}{\Gamma, x \in A, y \in B(x) \vdash \mathrm{in}(x, y):\exists x \in A.B(x)}$$

Elimination rules for the existential quantifier:
$$\frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma, x \in A \vdash B(x) \; \mathrm{prop} \quad \Gamma, z:\exists x \in A.B(x) \vdash C(z) \; \mathrm{prop} \quad \Gamma, x \in A, y \in B(x) \vdash c:C(\mathrm{in}(x, y))}{\Gamma, z:\exists x \in A.B(x) \vdash \mathrm{ind}_{\exists x \in A.B(x)}^C(c)(z):C(z)}$$

Computation rules for the existential quantifier:
$$\frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma, x \in A \vdash B(x) \; \mathrm{prop} \quad \Gamma, z:\exists x \in A.B(x) \vdash C(x) \; \mathrm{prop} \quad \Gamma, x \in A, y \in B(x) \vdash c:C(\mathrm{in}(x, y))}{\Gamma, x \in A, y \in B(x) \vdash \beta_{\exists x \in A.B(x)}^C(c):\mathrm{ind}_{\exists x \in A.B(x)}^C(c)(\mathrm{in}(x, y)) =_{C(\mathrm{in}(x, y)/z)} c}$$

Uniqueness rules for the existential quantifier:
$$\frac{\Gamma \vdash A \; \mathrm{type} \quad \Gamma, x \in A \vdash B(x) \; \mathrm{prop} \quad \Gamma, z:\exists x \in A.B(x) \vdash C(x) \; \mathrm{prop} \quad \Gamma, x \in A, y \in B \vdash c:C(\mathrm{in}(x, y)) \quad \Gamma, z:\exists x \in A.B(x) \vdash u:C \quad \Gamma, x \in A, y \in B(x) \vdash i_\mathrm{in}(u):u(\mathrm{in}(x, y)) =_{C(\mathrm{in}(x, y))} c}{\Gamma, z:\exists x \in A.B(x) \vdash \eta_{\exists x \in A.B(x)}^C(c):u(z) =_{C(z)} \mathrm{ind}_{\exists x \in A.B(x)}^C(c)(z)}$$

\subsection{Equality of types}

In modern presentations of this subject, typed predicate logic usually comes with a notion of [[equality]] on the types. Equality of types is a proposition, and is represented here by $\equiv$ to indicate it is an [[equivalence relation]]. It is defined by the following rules:

$$\frac{\Gamma \vdash A \; \mathrm{type}}{\Gamma, a \in A, b \in A \vdash a \equiv_A b \; \mathrm{prop}}$$

$$\frac{\Gamma \vdash A \; \mathrm{type}}{\Gamma, a \in A \vdash \mathrm{refl}_A(a):a \equiv_A a}$$

$$\frac{\Gamma \vdash A \; \mathrm{type}}{\Gamma, a \in A, b \in A \vdash \mathrm{sym}_A(a, b):(a \equiv_A b) \implies (b \equiv_A a)}$$

$$\frac{\Gamma \vdash A \; \mathrm{type}}{\Gamma, a \in A, b \in A, c \in A \vdash \mathrm{trans}_A(a, b, c):(a \equiv_A b) \wedge (b \equiv_A c) \implies (a \equiv_A c)}$$

\section{Internalization in a type theory}

In all forms of [[dependent type theory]] with [[identity types]], [[dependent product types]], [[dependent sum types]], [[empty types]], [[unit types]], [[sum types]], and [[propositional truncations]], [[propositional logic]] and [[predicate logic]] could be internalized in the type theory itself through the definition of a [[univalent]] [[type of propositions]] in the type theory.

\section{See also}

* [[dependent type theory]]
* [[propositional logic]]
* [[propositions as types]]
* [[h-proposition]]
* [[type of propositions]]
* [[two-level type theory]]
* [[type theory with shapes]]

\section{Bibliography}

* [[Per Martin-Löf]], _Intuitionistic Type Theory_, Notes by Giovanni Sambin of a series of lectures given in Padua, June 1980. Bibliopolis, Napoli, 1984.

* [[UF-IAS-2012|Univalent Foundations Project]], _[[Homotopy Type Theory -- Univalent Foundations of Mathematics]]_ (**[web](http://homotopytypetheory.org/book/)**, **[pdf](http://hottheory.files.wordpress.com/2013/03/hott-online-323-g28e4374.pdf)**, **[[Planet Math|PM]] [wiki version](http://planetmath.org/node/87534)**)

* [[Benno van den Berg]], [[Martijn den Besten]], *Quadratic type checking for objective type theory* ([arXiv:2102.00905](https://arxiv.org/abs/2102.00905))

[[!redirects predicate logic as a dependent type theory]]


propositional resizing

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Universes
+-- {: .hide}
[[!include universe - contents]]
=--
#### Type theory
+-- {: .hide}
[[!include type theory - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Idea

### In set theory/category theory

In a [[constructive mathematics|constructive]] [[weakly predicative]] [[structural set theory]], such as doing mathematics in a [[well-pointed category|well-pointed]] [[cartesian closed category|cartesian closed]] [[lextensive category|lextensive]] [[coherent category]] with a [[natural numbers object]], it is still possible to define a [[category]] inside of the set theory, and in particular, it is still possible to define a [[well-pointed category|well-pointed]] [[cartesian closed category|cartesian closed]] [[lextensive category|lextensive]] [[coherent category]] [[category object|object]] with a [[natural numbers object]] inside of any [[well-pointed category|well-pointed]] [[cartesian closed category|cartesian closed]] [[lextensive category|lextensive]] [[coherent category]] with a [[natural numbers object]]. These objects are called [[universes]] or [[Grothendieck universes]] $\mathcal{U}$ in [[structural set theory]]. From here, one could form the [[subcategory|sub]]-[[(0,1)-category]] of [[subterminal objects]] $\Omega_\mathcal{U}$ in $\mathcal{U}$, the set of $\mathcal{U}$-small [[subsingletons]], and subsingletons model [[propositions]] in the universe, so could be called a set of $\mathcal{U}$-small propositions as well.

If a set theory has multiple such universes $\mathcal{U}$ and $\mathcal{V}$, then there are multiple such sets of propositions, one of which is $\mathcal{U}$-small, and another one of which is $\mathcal{V}$-small. In general, the set of $\mathcal{U}$-small propositions $\Omega_\mathcal{U}$ and the set of $\mathcal{V}$-small propositions $\Omega_\mathcal{V}$ cannot be proven to be equivalent to each other. However, **propositional resizing** is the axiom that for universe $\mathcal{U}$ and $\mathcal{V}$, the set of $\mathcal{U}$-small propositions is in bijection with the set of $\mathcal{V}$-small propositions, $\Omega_\mathcal{U} \cong \Omega_\mathcal{V}$.

### In type theory

In [[homotopy type theory]], the type of [[h-propositions]] of a [[Tarski universe]] (or [[Russell universe]]) $U$ is not in general [[essentially small type|essentially $U$-small]]. Propositional resizing is then the statement that the type of h-propositions is essentially $U$-small.

There is a separate axiom of propositional resizing for a hierarchy of universes, where the type of h-propositions of each universe, where one universe embeds into the other universe, are equivalent to each other.

Propositional resizing is a form of [[impredicativity]] for h-propositions, and by avoiding its use, the universe or hierarchy is said to remain predicative.

However, when using Tarski universes, while universes and universe hierarchies may be impredicative, the overarching type theory is still predicative if it has a judgment '$A \; \mathrm{type}$', since it is impossible to talk about all types.

## Definition

### In set theory/category theory

We work in a [[structural set theory]] which externally forms a [[well-pointed category|well-pointed]] [[cartesian closed category|cartesian closed]] [[lextensive category|lextensive]] [[coherent category]] with a [[natural numbers object]], namely a structural set theory with

* [[sets]] and [[functions]] as basic objects
* the [[axiom of extensionality]]
* an [[empty set]]
* a [[singleton]]
* binary [[products]]
* binary [[disjoint unions]] which are [[van Kampen colimit|van Kampen]]
* [[fibers]]
* [[function sets]]
* [[image factorizations]]
* a set of [[natural numbers]]

Any [[well-pointed category|well-pointed]] [[cartesian closed category|cartesian closed]] [[coherent category]] with a [[natural numbers object]] inside of the set theory is thus an internal model of the set theory, and thus could be considered to be a [[universe]] inside of the set theory.

...

### In type theory

#### For individual universes

Let $(U, T)$ be a [[weakly Tarski universe]] and let
$$\sum_{A:U} \mathrm{isProp}(T(A))$$
be the type of all propositions in $U$. The weakly Tarski universe $(U, T)$ is **impredicative** or satisfies **propositional resizing** if it has a term $\Omega_U:U$ and an equivalence
$$\mathrm{propresize}:T(\Omega_U) \simeq \sum_{A:U} \mathrm{isProp}(T(A))$$

A weakly Tarski universe is **strictly impredicative** or satisfies **strict propositional resizing** if the above equivalence becomes a [[definitional equality]]:

$$T(\Omega_U) \equiv \sum_{A:U} \mathrm{isProp}(T(A))$$

In particular, every impredicative [[strictly Tarski universe]] is strictly impredicative.

#### For a universe hierarchy

Let $(P, U, T, t)$ be a [[hierarchy of weakly Tarski universes]]. By definition, $P$ is a [[preorder]] and there is a function
$$t:\prod_{a:P} \prod_{b:P} (a \leq b) \to (U(a) \hookrightarrow U(b))$$
which states that for all terms $a:P$ and $b:P$ $a \leq b$ implies the type of embeddings $U(a) \hookrightarrow U(b)$ is pointed. We thus have a natural map
$$t_\Omega:\prod_{a:P} \prod_{b:P} (a \leq b) \to \left(\sum_{A:U(a)} \mathrm{isProp}(T(a)(A)) \hookrightarrow \sum_{A:U(b)} \mathrm{isProp}(T(b)(A))\right)$$
which is the restriction of the above function to small propositions of the universe.

The axiom of **proposition resizing** states that for all terms $a:P$, $b:P$, and $q:a \leq b$ the embedding $t_\Omega(a, b)(q)$ is an [[equivalence of types]]
$$\mathrm{propresize}:\prod_{a:P} \prod_{b:P} \prod_{q:a \leq b} \mathrm{isEquiv}(t_\Omega(a, b)(q))$$
The type of all h-propositions in the larger universe $U(a)$ may be *resized* to be equivalent to the type of all h-proposition in the smaller universe $U(b)$. The universe hierarchy is then said to be **impredicative**.

Usually, the hierarchy of Tarski universes is a sequential hierarchy indexed by the [[natural numbers]] $\mathrm{N}$.

## See also

* [[essentially small type]]
* [[excluded middle]]

## References

* Section 3.5 of [[The HoTT Book]]

[[!redirects propositional resizing]]
[[!redirects weak propositional resizing]]
[[!redirects strict propositional resizing]]

[[!redirects impredicative universe]]
[[!redirects impredicative universes]]
[[!redirects impredicative Tarski universe]]
[[!redirects impredicative Tarski universes]]

[[!redirects weakly impredicative universe]]
[[!redirects weakly impredicative universes]]
[[!redirects weakly impredicative Tarski universe]]
[[!redirects weakly impredicative Tarski universes]]

[[!redirects strictly impredicative universe]]
[[!redirects strictly impredicative universes]]
[[!redirects strictly impredicative Tarski universe]]
[[!redirects strictly impredicative Tarski universes]]

[[!redirects axiom of propositional resizing]]


propositional theory

A *propositional theory* is a [[theory]] expressed in a language of [[propositional logic]]. The logic or type of deductive system might be [[classical logic|classical]], or [[intuitionistic logic|intuitionistic]], or [[linear logic|linear]], etc., but for the purposes of illustration, we consider below the classical case.

The algebraic point of view on classical propositional theories is that they are presentations of [[Boolean algebras]]. The formulas of the underlying language are formal Boolean combinations of atomic formulas; thus these atomic formulas are considered as a set $S$ which freely generates a Boolean algebra $F(S)$. The axioms of the theory are a subset $A$ of such formulas, and the theorems of the theory are those elements of $F(S)$ that belong to the [[filter]] $\langle A \rangle \hookrightarrow F(S)$ generated by $A$.

Thus $\langle A \rangle$ can be considered as generating a [[congruence]] where $\phi \equiv 1$ for each theorem $\phi \in \langle A \rangle$. The corresponding quotient (which we may denote by $F(S)/\langle A \rangle$) is a Boolean algebra $B$ which is the *Lindenbaum algebra* of the theory. In other words, $B$ has been presented by generators (elements of $S$) subject to relations (elements of $A$).

Again from the algebraic point of view, a *model* of the propositional theory is tantamount to a Boolean algebra homomorphism $\mu: B \to \mathbf{2} = \{0, 1\}$ which assigns a definite truth value in $\mathbf{2}$ to each proposition $P \in F(S)$, such that all theorems receive the value $1$ (are "true"). From the point of view of the presentation, such a model $\mu$ amounts to an [[ultrafilter]] in $F(S)$ which extends the filter $\langle A \rangle$.

[[!redirects propositional theories]]
[[!redirects Lindenbaum algebra]]


propositions as projections

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Type theory
+-- {: .hide}
[[!include type theory - contents]]
=--
#### Linear algebra
+-- {: .hide}
[[!include homotopy - contents]]
=--
=--
=--

# Contents
* table of contents
{: toc}

## Idea

In [[intuitionistic type theory]] the perspective of [[propositions as types]] identifies [[mere propositions]] with (speaking in [[categorical semantics]]) [[monomorphisms]] into the given [[context]] type. If one instead considers [[linear type theory]] then it makes sense to consider those propositions, in this sense, which come from monomorphisms that are [[split monomorphisms]], hence those for which there is a [[projection]] from the context to the [[subobject]] that represents the proposition. For these one might speak of "propositions as projections".

For instance in a category of [[Hilbert spaces]], regarded as semantics for bare multiplicative [[linear type theory]], then projections correspond to (closed) linear subspaces. These are just the propositions in the corresponding [[quantum logic]]. If we regard a proposition _as_ its corresponding projection, then it is natural to consider it also as being the _application_ of this projection, in that the truth of the proposition is thought of as the image of applying this projection. In terms of [[quantum physics]] this relation between propositions (about a [[quantum mechanical system]]) and the projection onto the corresponding subspace of the [[space of quantum states]] is what is referred to as the "[[wave function collapse|collapse]] of the [[wave function]]".

## References

* Kurt Engesser, Dov Gabbay, Daniel Lehmann, _A New Approach to Quantum Logic_, vol. 8 of Studies in Logic, College Publications, London, UK, 2007. ([pdf](http://www.dcs.kcl.ac.uk/staff/dg/QuantumLogic-draft.pdf))

[[!redirects propositions as projections]]


propositions as some types

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Type theory
+-- {: .hide}
[[!include type theory - contents]]
=--
#### Constructivism, Realizability, Computability
+-- {: .hide}
[[!include constructivism - contents]]
=--
#### $(0,1)$-Category theory
+--{: .hide}
[[!include (0,1)-category theory - contents]]
=--
=--
=--

\tableofcontents

## Idea

One paradigm of [[dependent type theory]] is **propositions as some types**, in which propositions are identified with particular types, but not all types are regarded as propositions. Generally, the propositions are the "types with at most one [[term]]", i.e. the [[h-propositions]] or [[subsingletons]], and the paradigm can thus also be called **propositions as subsingletons**. This contrasts with the [[propositions as types]] paradigm, where all types are regarded as propositions.

Propositions as some types is the paradigm usually used in the [[internal logic]] of [[categories]] such as [[toposes]]. In this case, the type-theoretic operations on types either restrict to the propositions to give logical operations (for [[conjunction]], [[implication]], and the [[universal quantifier]]), or have to be "reflected" therein (for [[disjunction]] and the [[existential quantifier]]). The reflector operation is called a [[bracket type]]. The [[law of double negation]] in [[classical mathematics]] similarly has to be restricted to propositions, unlike the case in the [[propositions as types]] paradigm - where the law of double negation is represented by a [[global choice operator]].

Furthermore, most structures traditionally involving [[predicates]] or [[relations]] are defined as proposition-valued type families in this restricted sense, where each type of the type family has at most one term. For instance, [[setoids]] or [[Bishop sets]] are usually defined to have an [[equivalence relation]] in the propositions as some types paradigm, rather than a [[pseudo-equivalence relation]] as typical in the [[propositions as types]] paradigm.

Dependent type theory support various [[foundations of mathematics]] via the [[propositions as some types]] interpretation of [[dependent type theory]].

* One can add a [[cumulative hierarchy]] to the dependent type theory and work entirely in the cumulative hierarchy for [[material set theory]]

* One can add a [[category of sets]] to the dependent type theory and work entirely in the category of sets for [[structural set theory]]

* One can add a [[type universe]] satisfying certain [[axioms]] and [[axiom schemata]], such as [[universe extensionality]], closure under identity types, closure under dependent sum types, closure under dependent product types, [[propositional resizing]], [[axiom of replacement|replacement]], [[axiom of infinity|infinity]], and [[axiom of choice|choice]], to the dependent type theory and work entirely in the universe for [[univalent type theory]] or [[univalent foundations]]. Adding internal universe types as [[small]] [[object classifiers]] as well as all [[higher inductive types|higher inductive]] and [[coinductive types]] to the universe results in [[homotopy type theory]].

* One can add a [[Russell type of all propositions]] and a [[natural numbers type]] and work in the dependent type theory itself for [[higher-order logic]].

On the other hand, if one only has a [[Tarski type of all propositions]] for [[higher-order logic]], then propositions and subsingletons are not the same thing, and one is following the philosophy of **propositions as codes for subsingletons**, similar to [[set theory]] with the [[axiom schema of separation]].

## Related concepts

[[!include notions of type]]

[[!redirects propositions as some types]]
[[!redirects propositions as subsingletons]]
[[!redirects propositions as (-1)-truncated types]]


propositions as types

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Type theory
+-- {: .hide}
[[!include type theory - contents]]
=--
#### Constructivism, Realizability, Computability
+-- {: .hide}
[[!include constructivism - contents]]
=--
#### $(0,1)$-Category theory
+--{: .hide}
[[!include (0,1)-category theory - contents]]
=--
=--
=--

# Contents
* table of contents
{: toc}

## Idea

### General idea

In [[type theory]], the paradigm of __propositions as types__ says that [[propositions]] and [[types]] are essentially the same.  A proposition is identified with the type (collection) of all its [[proofs]], and a type is identified with the proposition that it has a [[term]] (so that each of its terms is in turn a proof of the corresponding proposition).

> ... to show that a proposition is true in type theory corresponds to exhibiting an element $[$ [[term]] $]$ of the type corresponding to that proposition. We regard the elements of this type as _evidence_ or _witnesses_ that the proposition is true. (They are sometimes even called _proofs_... (from [[Homotopy Type Theory -- Univalent Foundations of Mathematics]], section 1.11)

Not all type theories follow this paradigm; among those that do, [[Martin-Löf type theories]] are the most famous. In its variant as [[homotopy type theory]] the paradigm is also central, but receives some refinements, see at [[propositions as some types]].

Even when the paradigm is not adopted, however, there is still a close relationship between logical and type-theoretic operations, called the __Curry--Howard isomorphism__ or (if it is not clear in which category this [[isomorphism]] is supposed to exist) the __Curry--Howard correspondence__. Or maybe better ([Harper](#Harper)) the **[[Brouwer-Heyting-Kolmogorov interpretation]]**. This correspondence is most precise and well-developed for [[intuitionistic logic]], but could also be developed for [[classical logic]].

Accordingly, [[logic|logical]] operations on propositions have immediate analogs on [[types]]. For instance logical _[[and]]_ corresponds to forming the [[product type]] $A \times B$ (a [[proof]] of $A$ and a proof of $B$), the [[universal quantifier]] corresponds to [[dependent product]], the [[existential quantifier]] to [[dependent sum]]. In [[classical mathematics]], the [[law of double negation]] corresponds to a [[global choice operator]].

Furthermore, most structures traditionally involving [[predicates]] or [[relations]] are defined as type-valued type families. For instance, [[setoids]] or [[Bishop sets]] are usually defined to have a [[pseudo-equivalence relation]] in the propositions as types paradigm, rather than a [[equivalence relation]] as typical in the [[propositions as some types]] paradigm. However, in classical mathematics, the [[global choice operator]] representing the [[law of double negation]] in propositions as types implies that the [[boolean domain]] is the [[type of all propositions]], so predicates or relations can simply be defined as functions into the boolean domain.

### Propositions as some types
 {#PropositionsAsSomeTypes}

A related paradigm may be called **[[propositions as some types]]**, in which propositions are identified with particular types, but not all types are regarded as propositions.  Generally, the propositions are the "types with at most one [[term]]".  This is the paradigm usually used in the [[internal logic]] of [[categories]] such as [[toposes]], as well as in [[homotopy type theory]].  In this case, the type-theoretic operations on types either restrict to the propositions to give logical operations (for [[conjunction]], [[implication]], and the [[universal quantifier]]), or have to be "reflected" therein (for [[disjunction]] and the [[existential quantifier]]).  The reflector operation is called a [[bracket type]].

### In homotopy type theory

We consider aspects of the interpretation of _propositions as types_ in [[homotopy type theory]], see ([HoTT book, section 1.11](#HoTTBook)).

In [[homotopy type theory]] where types may be thought of as [[homotopy types]] ([[∞-groupoids]]) (or rather [[geometric homotopy types]] ([[∞-stacks]],[[(∞,1)-sheaves]]), more generally), we may think for $A$ any type of

* the [[objects]] of $A$ are [[proofs]] of some proposition;

* the [[morphisms]] of $A$ are equivalences between these proofs;

* the [[2-morphisms]] of $A$ are equivalences between these equivalences, and so on.

So in terms of the notion of [[n-connected object of an (infinity,1)-topos|n-connected]] and [[truncated|n-truncated objects in an (∞,1)-category]] we have

* if $A$ is [[(-1)-connected]] then the corresponding proposition is [[true]];

* if $A$ is [[(-2)-truncated]] (a [[(-2)-groupoid]]) then the corresponding proposition is true by a unique proof which is uniquely equivalent to itself, etc.;

* if $A$ is [[(-1)-truncated]] (a [[(-1)-groupoid]]) then the corresponding proposition may be true or [[false]], but if it is true it is to by a unique proof as above;

* if $A$ is [[0-truncated]] then there may be more than one proof, but none equivalent to itself in an interesting way;

* if $A$ is [[1-truncated]] then there may be proofs of the corresponding proposition that are equivalent to themselves in interesting ways.

We would not say homotopy type theory has propositions as types in the same way that Martin--Löf type theory has; only the $(-1)$-truncated types are propositions as such.  That is, in HoTT we have propositions as *some* types.  In this case the [[bracket types]] can be identified with a particular [[higher inductive type]] called $isInhab$.

## Related concepts

* [[proof relevance]]

* [[computational trinitarianism]]

* [[theory]]

* [[proposition]]/[[type]]

* [[definition]]/[[proof]]/[[program]] ([[proofs as programs]])

* [[theorem]], [[axiom]]

* [[propositions as projections]]

* [[propositions as some types]]

* [[propositional logic as a dependent type theory]]

## References

### General

Early account for [[intuitionistic type theory]]:

* [[Per Martin-Löf]] (notes by [[Giovanni Sambin]]), _Intuitionistic type theory_, noted of a Lecture in Padua 1984, Bibliopolis (1984) [[pdf](https://archive-pml.github.io/martin-lof/pdfs/Bibliopolis-Book-retypeset-1984.pdf), [[MartinLofIntuitionisticTypeTheory.pdf:file]]]

* {#Girard89} [[Jean-Yves Girard]] (translated and with appendiced by [[Paul Taylor]] and [[Yves Lafont]]), Chapter 3 of: *Proofs and Types*, Cambridge University Press (1989) [[ISBN:978-0-521-37181-0](), [webpage](http://www.paultaylor.eu/stable/Proofs+Types.html), [pdf](https://www.paultaylor.eu/stable/prot.pdf)]

With a notion of [[propositional truncation]]:

* [[Steve Awodey]], [[Andrej Bauer]], *Propositions as $[$Types$]$*, Journal of Logic and Computation, **14**  (2004) 447-471 [[doi:10.1093/logcom/14.4.447](https://doi.org/10.1093/logcom/14.4.447), [pdf](http://andrej.com/papers/brackets_letter.pdf)]

Textbook accounts:

* [[Simon Thompson]], *[[Type Theory and Functional Programming]]*, Addison-Wesley (1991) [ISBN:0-201-41667-0, [webpage](http://www.cs.kent.ac.uk/people/staff/sjt/TTFP), [pdf](http://www.cs.kent.ac.uk/people/staff/sjt/TTFP/ttfp.pdf), [ISBN:9780444520777](https://www.elsevier.com/books/lectures-on-the-curry-howard-isomorphism/sorensen/978-0-444-52077-7)]

* [[Bart Jacobs]], Section 10.2 of *Categorical Logic and Type Theory*, Studies in Logic and the Foundations of Mathematics **141**, Elsevier (1998)  [[ISBN:978-0-444-50170-7](https://www.sciencedirect.com/bookseries/studies-in-logic-and-the-foundations-of-mathematics/vol/141), [pdf](https://people.mpi-sws.org/~dreyer/courses/catlogic/jacobs.pdf)]

* Morten Heine Sørensen, Pawel Urzyczyn, *Lectures on the Curry-Howard isomorphism*, Studies in Logic **149**, Elsevier (2006) [[ISBN:9780444520777](https://www.elsevier.com/books/lectures-on-the-curry-howard-isomorphism/sorensen/978-0-444-52077-7), [pdf](https://disi.unitn.it/~bernardi/RSISE11/Papers/curry-howard.pdf)]

Exposition:

* {#Harper} [[Robert Harper]], _Extensionality, Intensionality, and Brouwer's Dictum_ (2012) [[blog](http://existentialtype.wordpress.com/2012/08/11/extensionality-intensionality-and-brouwers-dictum/)]

* [[Philip Wadler]], *Propositions as Types*, Communications of the ACM **58** 12 (2015) 75–84 [[doi:10.1145/2699407](https://doi.org/10.1145/2699407), [pdf](https://homepages.inf.ed.ac.uk/wadler/papers/propositions-as-types/propositions-as-types.pdf), [video](https://www.youtube.com/watch?v=IOiZatlZtGU)]

See also:

* Wikipedia, *[Curry-Howard correspondence](https://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence)*

Discussion in view of [[homotopy type theory]]:

* {#HoTTBook} [[Univalent Foundations Project]], Section 1.11 in: *[[Homotopy Type Theory -- Univalent Foundations of Mathematics]]* (2013) [[web](http://homotopytypetheory.org/book/), [pdf](http://hottheory.files.wordpress.com/2013/03/hott-online-323-g28e4374.pdf), [[Planet Math|PM]] [wiki version](http://planetmath.org/node/87534)]

### History
 {#ReferencesHistory}

An influential original article was

* [[William Howard]], _The formulae-as-types notion of construction_. In J. Roger Seldin, Jonathan P.; Hindley, (ed.s), _To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism_, pages 479–490. Academic Press, 1980. original paper manuscript from 1969. (Cited
on pages 53, 54, 100, and 430.) ([pdf](http://www.cs.cmu.edu/~crary/819-f09/Howard80.pdf))

The origins of this manuscript and its publication are recounted in a 2014 email from Howard to Philip Wadler:

* [[William Howard]], [email](http://wadler.blogspot.fr/2014/08/howard-on-curry-howard.html).

This influential note brought [[Dana Scott]] to write "Constructive Validity" (a precursor of type theory) and also strongly influenced [[Per Martin-Löf]]. Independently and at about the same time, the idea was also found by [[N.G. de Bruijn]] for the [[Automath]] system.

[[Dana Scott]], [[William Howard]], [[Per Martin-Löf]], and [[William Tait]] were all involved in the late 60s and early 70s, mainly in Chicago.

* [[William Tait]],  _The completeness of intuitionistic first-order logic_. Unpublished manuscript.

Also [[William Lawvere]] was there, lecturing on [[hyperdoctrines]]. Lawvere told [[Steve Awodey]] that the basic example of a morphism of hyperdoctrines from the proof-relevant one to the proof-irrelevant one was influenced by Kreisel, not Howard, who attended Lawvere's Chicago lectures in the 60s. See pages 2 and 3 of

* [[William Lawvere]] interviewed by Felice Cardone, _The role of Cartesian closed categories in foundations_, March 2000 ([link](https://dl.dropboxusercontent.com/u/92056191/Archive/temporary_new_material/lawvere-cardone-2000/lawvere-cardone-2000.pdf))

But the story started earlier with what has been called the [[BHK interpretation]] of [[intuitionistic logic]], highlighted for instance in ([Troelstra 91](#Troelstra91)), which identifies a proposition with the collection of its proofs. This view goes back to an observation of Kolmogorov that the formalisation of Brouwer's ideas by Heyting in 1930 can be semantically interpreted as a calculus of 'Aufgaben' - problems (and solutions), reported in

* [[Andrey Kolmogorov]], _Zur Deutung der intuitionistischen Logik_, Math. Z. **35** (1932) pp.58-65. ([gdz](http://gdz.sub.uni-goettingen.de/dms/load/img/?PPN=GDZPPN002373467))

A historical account is in the section on types in

* Hindley J. Roger; Cardone Felice, _History of Lambda-calculus and Combinatory Logic_. Handbook of the History of Logic. Volume 5. Logic from Russell to Church (edited by D. Gabbay and J. Woods), Elsevier, 2009, pp. 723-817 ([pdf](http://www.di.unito.it/~felice/pdf/lambdacomb.pdf), [errata](http://www.di.unito.it/~felice/pdf/erratalist.pdf))

and in section 5 of

* {#Troelstra91} [[Anne Sjerp Troelstra]], _History of Constructivism in the 20th Century_, 1991 ([preprint](https://www.illc.uva.nl/Research/Publications/Reports/ML-1991-05.text.pdf))

[[!redirects propositions as types]]
[[!redirects propositions-as-types]]
[[!redirects propositions as types in type theory]]

[[!redirects Curry-Howard correspondence]]
[[!redirects Curry?Howard correspondence]]
[[!redirects Curry--Howard correspondence]]
[[!redirects Curry-Howard isomorphism]]
[[!redirects Curry?Howard isomorphism]]
[[!redirects Curry--Howard isomorphism]]


propositions as types in combinatory algebra

The material previously on this page is now located at the [Online Encyclopedia of Integer Sequences Wiki](https://oeis.org/wiki/Propositions_As_Types).

[[!redirects propositions as types done right]]


prorepresentable functor

A functor $C\to Set$ is __prorepresentable__ (or __pro-representable__) if it is a small [[filtered colimit]] of representables. In other words, it corresponds to a [[pro-object]].

As these functors are 'exactly' the left [[exact functor]]s, (at least with a caveat on size), that latter term can also be used, but there are some standard situations and conventions when this 'pro-' terminology is used.

###Note###

One tends to say 'pro-object in $C$', and may use various descriptions  via the (system of) representing objects in $C$, but one does not usually say 'prorepresentable functor in $C$'.

##References##

 including

*  [[M. Artin]], [[A. Grothendieck]], [[J. L. Verdier]]. Théorie des topos et cohomologie étale des schemas. Lecture notes in mathematics 269, Springer-Verlag, Berlin.

*  [[A. Grothendieck]],[Technique de descente ... : II](http://archive.numdam.org/ARCHIVE/SB/SB_1958-1960__5_/SB_1958-1960__5__369_0/SB_1958-1960__5__369_0.pdf)

* [[A. Grothendieck]], M. Raynaud et al. _Revêtements étales et groupe fondamental_ (SGA I), Lecture Notes in Mathematics __224__, Springer 1971 (retyped as [math.AG/0206203](http://arxiv.org/abs/math/0206203); published  version Documents Mathématiques __3__, Société Mathématique de France, Paris 2003)

*  [[M. Artin]] and [[B. Mazur]], _Étale homotopy theory_, 1969, No. 100 in Lecture
Notes in Maths., Springer-Verlag, Berlin.

For some applications see

* Alexander I. Efimov, [[Valery A. Lunts|Valery Lunts]], Dmitri O. Orlov, _Deformation theory of objects in homotopy and derived categories II: Pro-representability of the deformation functor_, [doi](http://dx.doi.org/10.1016/j.aim.2009.11.004)

[[!redirects pro-representable functor]]
[[!redirects pro-representable functors]]
[[!redirects prorepresentable functors]]


proset > history

< [[proset]]
[[!redirects proset -- history]]


Prospects in Theoretical Physics 2023

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Quantum Field Theory
+--{: .hide}
[[!include AQFT and operator algebra contents]]
=--
#### Fields and quanta
+--{: .hide}
[[!include fields and quanta - table]]
=--
=--
=--

This page compiles pointers related to the event:

* **Prospects in Theoretical Physics 2023: Understanding Confinement**

  \linebreak

  IAS Princeton, USA

  10-21 July 2023

  [www.ias.edu/pitp/pitp-2023-details](https://www.ias.edu/pitp/pitp-2023-details)

on [[confinement]].

\tableofcontents

## Talks

### 10 July 2022

* [[Nathan Seiberg]], *The Power of Symmetry* ([video](https://www.youtube.com/watch?v=eJnhrSgFhts))

* [[Michael Teper]], *Lattice Gauge Theory and Confinement - an Introduction* (part I: [video](https://www.youtube.com/watch?v=BjErVJVhXf8))

* [[Mithat Unsal]], *Adiabatic Continuity, Compactification, and Confinement* ([video](https://www.youtube.com/watch?v=mr4qMj4dU0c))

* [[David Gross]], *Fifty Years of Quantum Chromodynamics (The Theory of The Strong Nuclear Force)* ([video](https://www.youtube.com/watch?v=mG7YdvuoeWQ))

### 11 July 2022

* [[Michael Teper]], *Lattice Gauge Theory and Confinement - an Introduction II* ([video](https://www.youtube.com/watch?v=AI7v9lW8mfs))

* [[Phiala Shanahan]], *Lattice Field Theories with Fermions — Part 1* ([video](https://www.youtube.com/watch?v=hVsCCvsIPFA))

* [[Mithat Unsal]], *Adiabatic Continuity, Compactification, and Confinement II* ([video](https://www.youtube.com/watch?v=1OR6cJX-VG4))

* [[Edward Witten]], *Some Milestones in the Study of Confinement* ([video](https://www.youtube.com/watch?v=TvIz-6YOdKs))

  > on understanding confinement via [[Polyakov gauge-string duality|gauge-string duality]]/[[holographic QCD]] and the [[Skyrmion model]]

  > [40:13](https://youtu.be/TvIz-6YOdKs?t=2413): "Personally, I think [[AdS/QCD|this setup]] really implies that pure [[Yang-Mills theory|$SU(N)$ gauge theory]] is [[gauge-string duality|dual]] to a [[string theory]]."

### 12 July 2022

* [[Mithat Unsal]], *Adiabatic Continuity, Compactification, and Confinement III* ([video](https://www.youtube.com/watch?v=P9HEmLtfNhg))

* [[Phiala Shanahan]], *Lattice Field Theories with Fermions — Part 2* ([video](https://www.youtube.com/watch?v=MOhIApkF6iE))

* [[Michael Teper]], *Lattice Gauge Theory and Confinement - an Introduction III* ([video](https://www.youtube.com/watch?v=CZsR10ug1lU))

category:reference

[[!redirects Prospects in Theoretical Physics 2023 -- Understanding Confinement]]


protection from quantum corrections

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Algebraic Quantum Field Theory
+--{: .hide}
[[!include AQFT and operator algebra contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Idea

In [[perturbative quantum field theory]] generally all [[quantum observables]] are subject to [[renormalization]] choices that may change their value from that computed in [[classical field theory]]. But if [[renormalization conditions]] are imposed, these generally reduce the space of renormalization choices. If a choice of [[renormalization condition]] completely removes the renormalization freedom in an observable, one says that it _protects_ the observable from _receiving quantum corrections_.

Typically this is considered for global [[symmetry of the Lagrangian|symmetries]], the [[renormalization condition]] being that the symmetry is retained after renormalization. In this case one says that that the _symmetry protects_ the quantum observable from receiving quantum corrections.

## Examples

Famous examples of protected quantities are [[masses]] and [[charges]] of [[BPS-states]], which are protected, in this way, by [[supersymmetry]]. The reason why supersymmetric field theory admits more interesting computations than are possible otherwise is that the protection of BPS states allows to compute many [[quantum observables]] that would otherwise not be computatble in practice.

This is for instance the reason why so much is known about the [[Bekenstein-Hawking entropy]] of extremal (hence [[BPS-state|BPS]]) [[black holes]] (see at _[[black holes in string theory]]_) while comparatively little is known about the quantum properties of non-BPS and hence "non-protected" black holes.

## Related $n$Lab entries

* [[symmetry protected trivial order]]

* [[BPS state]]

* [[G2-MSSM]]

[[!redirects protections from quantum corrections]]


proto-exact category

## Idea

Proto-exact category is a nonadditive generalization of a [[Quillen exact category]]. The definition is self-dual as the notion of Quillen exact category is.

## Definition

A proto-exact category is a pointed category $A$, with zero object $0$, together with two
classes of morphisms, $I$ and $D$, called inflations and deflations such that

(i) each morphism $0\to U$ is an inflation and each morphism $U\to 0$ is a deflation

(ii) classes $I$ and $D$ are closed under composition and contain all isomorphisms

(iii) each square of the form

 $$\array{
U &\rightarrow &V\\
\downarrow && \downarrow\\
W &\rightarrow & Z
}$$
where the horizontal arrows are inflations and the vertical arrows are deflations is a pushout iff it is a pullback

(iv) Every diagram of the form $W\rightarrow Z\leftarrow V$ where $W\rightarrow Z$ is a deflation and $Z\leftarrow V$ a inflation may be completed to a biCartesian square of the form in (iii)

(v) Every diagram of the form $W\leftarrow U\rightarrow V$ where $W\leftarrow U$ is an inflation and $U\rightarrow V$ a deflation may be completed to a biCartesian square of the form in (iii)

## Literature

The concept originates in

* Tobias Dyckerhoff, [[Mikhail Kapranov]], _Higher Segal spaces I_, [arxiv:1212.3563](https://arxiv.org/abs/1212.3563); now part of the book T. Dyckerhoff, M. Kapranov, _Higher Segal spaces_, Springer LNM 2244 (2019) [doi](https://doi.org/10.1007/978-3-030-27124-4)
 {#DyckerhoffKapranov12}

* Jaiung Jun, [[Matt Szczesny]], Jeffrey Tolliver, _Proto-exact categories of matroids, Hall algebras, and K-theory_ Math. Z. __296__ (2020) 147--167 [doi](https://doi.org/10.1007/s00209-019-02429-z)
* Jaiung Jun, [[Matt Szczesny]], Jeffrey Tolliver, _Proto-exact categories of modules over semirings and hyperrings_, [arXiv:2202.01573](https://arxiv.org/abs/2202.01573)

> _Proto-exact categories_, introduced by Dyckerhoff and Kapranov, are a generalization of Quillen exact categories which provide a framework for defining algebraic K-theory and Hall algebras in a \emph{non-additive} setting. This formalism is well-suited to the study of categories whose objects have strong combinatorial flavor.
In this paper, we show that the categories of modules over semirings and hyperrings - algebraic structures which have gained prominence in tropical geometry - carry proto-exact structures.
In the first part, we prove that the category of modules over a semiring is equipped with a proto-exact structure; modules over an idempotent semiring have a strong connection to matroids. We also prove that the category of algebraic lattices $\mathcal{L}$ has a proto-exact structure, and furthermore that the subcategory of $\mathcal{L}$ consisting of finite lattices is equivalent to the category of finite $\mathcal{B}$-modules as proto-exact categories, where $\mathcal{B}$ is the _Boolean semifield_. We also discuss some relations between $\mathcal{L}$ and geometric lattices (simple matroids) from this perspective.
In the second part, we prove that the category of modules over a hyperring has a proto-exact structure. In the case of finite modules over the _Krasner hyperfield_ $\mathbf{K}$, a well-known relation between finite $\mathbf{K}$-modules and finite incidence geometries yields a combinatorial interpretation of exact sequences.

* Matthew B Young, _Degenerate versions of Green’s theorem for Hall modules_, J. Pure & Applied Algebra __225__ (2021) 106557 [doi](https://doi.org/10.1016/j.jpaa.2020.106557)

* J. Hekking, _Segal objects in homotopical categories &
K-theory of proto-exact categories_, master thesis 2017 [pdf](https://www.universiteitleiden.nl/binaries/content/assets/science/mi/scripties/master/hekking_master.pdf)

[[!redirects proto-exact categories]]


proto-fibration

See the slides about "downcasing types" at [this link](http://angg.twu.net/math-b.html#unilog-2010) - especially the pages called "Cartesianness (2)" and "Cleavages".


protocategory

# Protocategories

* table of contents
{: toc}

## Idea

A *protocategory* is a way to present a [[category]] that makes formal the idea that a single datum (a "protomorphism") can represent many different [[morphisms]] with different sources and targets.  For instance, in [[material set theory]], a given set of [[ordered pairs]] can represent [[functions]] with many different codomains.

As compared to the definition of category with one set of objects and one set of morphisms, a protocategory removes the requirement that each morphism have a unique source and target.  As compared to the definition of category with separate hom-sets $\hom(A,B)$ for each pair of objects, a protocategory requires all these homsets to be (not necessarily disjoint) subsets of one set of all "protomorphisms".

It is important to recognize, however, that unlike those two definitions of category, a protocategory is *not* a definition of a category.  It retains information about "which morphisms in distinct hom-sets are 'equal'", which is not relevant category-theoretic information: in a true category it is never 'meaningful' to compare two morphisms for equality unless one already knows for other reasons that their domains and codomains coincide.  A protocategory is rather a way of *presenting* a category, analogous to a [[group presentation]], formalizing the fact that in some cases morphisms in different hom-sets can be "equal" until we "forget about that fact" in a structured way.

## Definition

A **protocategory** consists of:

* Two collections of objects and protomorphisms
* A ternary "source-target relation" relating two objects and one protomorphism, written "$f : A\to B$" and read as "$f$ represents a morphism from $A$ to $B$"
* A ternary "composition predicate" relating three protomorphisms, written "$h = g \circ f$" and read as "$h$ is a possible composite of $f$ and $g$".

satisfying the axioms

* If $f:A\to B$ and $g:B\to C$, there is exactly one $h$ satisfying $h:A\to C$ and $h = g\circ f$.
* If we define the set of morphisms $\hom(A,B)$ to be the set of protomorphisms $f$ satisfying $f:A\to B$, then the composition operation given by the previous axiom results in a [[category]] (i.e. it is associative and has identities).

## Examples

* Let the objects be the [[sets]] in [[material set theory]] (such as [[ZFC]]), and let the protomorphisms be sets $f$ of ordered pairs such that for any $x$ there is at most one $y$ such that $(x,y)\in f$.  The *domain* of such an $f$ is the set of all $x$ such that there is such a $y$, and its *range* is the set of all $y$ such that there exists an $x$ with $(x,y)\in f$.  We say $f:A\to B$ if $A$ is the domain of $f$ and $B$ is a superset of the range of $f$.  With a suitable definition of composition, this yields a protocategory that generates the category [[Set]].

* More generally, if we take the protomorphisms to be *all* sets of ordered pairs, and $f:A\to B$ to mean that $A$ is a superset of the domain of $f$ in addition to $B$ being a superset of the codomain of $f$, then we get a protocategory that generates the category [[Rel]].

* Let the objects be [[groups]], let the protomorphisms be [[functions]], and say that $f:G\to H$ when $f$ is a function between the underlying sets of $G$ and $H$ that is a group homomorphism.  This protocategory generates the category [[Grp]].

* Any category can be presented by a protocategory in a trivial way, by taking the protomorphisms to be the [[disjoint union]] of all the sets of morphisms (i.e. the set $C_1$ in the one-set-of-morphisms definition of category), with the source-target relation being simply a function from protomorphisms to pairs of objects.

+--{: .un_remark}
###### Remark
It may seem that, at least in a [[material set theory]], we should be able to modify the previous example by taking a *non-disjoint* union of the sets of morphisms (assuming given a category in the many-sets-of-morphisms definition).  However, this is not true, because the composition predicate in a protocategory makes no reference to objects.  For example, consider the following category:

* objects $0,1,2,0',1',2'$
* $\hom(0,1) = \hom(0',1') = \{f\}$, $\hom(1,2)=\hom(1',2')=\{g\}$, $\hom(0,2)=\hom(0',2')=\{h,h'\}$, no other nonidentity morphisms, all identity morphisms distinct
* $g\circ_{0,1,2} f = h$ and $g\circ_{0',1',2'} f = h'$.

Then if we take unions of homsets we have $g\circ f = h$ and also $g\circ f = h'$, but then the protocategory composition axiom fails: we have $f:0\to 1$ and $g:1\to 2$, but there does not exist a *unique* $k$ such that $k:0\to 2$ and $g \circ f = k$.
=--

## References

* The notion is due to Freyd and Scedrov, [[Categories, Allegories]].

* It is recalled in A1.1 of [[Sketches of an Elephant]].

[[!redirects protocategories]]
[[!redirects protomorphism]]
[[!redirects protomorphisms]]


protomodular category

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Category theory
+-- {: .hide}
[[!include category theory - contents]]
=--
#### Group Theory
+-- {: .hide}
[[!include group theory - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

##Idea

An important aspect of [[group theory]] is the study of [[normal subgroups]]. A **protomodular** category, even one which is not [[pointed category|pointed]], is defined in such a way that it possesses an intrinsic notion of [[normal subobject]]. The concept is due to [[Dominique Bourn]] and as such sometimes referred to as _Bourn_-protomodularity.

##Definition

(Taken from [Bourn04](#Bourn04))

Consider any [[finitely complete category]] $\mathcal{C}$ and denote by $Pt\mathcal{C}$ the category whose objects are the [[split epimorphisms]] in $\mathcal{C}$ with a given splitting and morphisms the commutative squares between these data. Denote by $\pi: Pt\mathcal{C} \to \mathcal{C}$ the functor associating its [[codomain]] to any split epimorphism. Since the category $\mathcal{C}$ has [[pullbacks]], the functor $\pi$ is a [[fibration]] which is called the [[fibration of points]].

Any map $f: X \to Y$ induces, by pullbacks, a [[base change]] functor denoted
$f^{\ast}: Pt_Y \mathcal{C} \to Pt_X \mathcal{C}$ between the fibres above $Y$ and $X$.

Then a [[left exact category]] $\mathcal{C}$ is said to be **protomodular** when the fibration $\pi$ has [[conservative functor|conservative]] base change functors, i.e., ones that reflect isomorphisms. A protomodular category is necessarily [[Mal'cev category|Mal'cev]].

## Examples

\begin{example}\label{GroupsFormAProtomodularCategory}
 The category [[Grp]] of all [[groups]] (including [[non-abelian groups]]) is pointed protomodular \end{example}
([Borceux & Bourn 2004, Ex. 3.1.4](#BorceuxBourn04))

\begin{example}
Certain categories of [[varieties of algebras]], such as the category of groups, the category of rings, the category of associative or Lie algebras over a given ring $A$, the category of Heyting algebras, the varieties of $\Omega$-[[Omega-groups|groups]]. (It is shown in [Bourn-Janelidze](#BournJan03) that  a variety $V$ of universal algebras is protomodular if and only if it has $0$-ary terms $e_1, \ldots ,e_n$, binary terms $t_1,\ldots,t_n$, and $(n+1)$-ary term $t$ satisfying
the identities $t(x, t_1(x, y),\ldots,t_n(x, y)) = y$ and $t_i(x, x) = e_i$ for each $i = 1,\ldots,n$.)
\end{example}

\begin{example}
Categories of algebraic varieties as above [[internal category|internal]] to a left exact category, for example, [[TopGrp]].
\end{example}

\begin{example}
Constructions which inherit the property of being protomodular, such as the slice categories $\mathcal{C}/Z$ and the fibres $Pt_Z \mathcal{C}$ of the fibration $\pi$ of pointed objects for instance, or more generally the domain $\mathcal{C}$ of any pullback preserving and conservative functor $U : \mathcal{C} \to \mathcal{D}$; when its codomain $\mathcal{D}$ is protomodular.
\end{example}

\begin{example}
Every [[cotopos]].
\end{example}

##Consequences of protomodularity

* a map is a [[monomorphism]] if and only if its [[kernel]] is trivial
* a reflective relation is an [[equivalence relation]]
* an [[internal category]] is always an [[internal groupoid]]
* a [[regular epimorphism]] is always the [[cokernel]] of its kernel
* an object is abelian when its diagonal is a normal subobject

A _pointed_ protomodular category is strongly [[unital]], and

* there is a bijection between normal subobjects of an object $X$ and equivalence relations on $X$.

##Strong protomodularity

A category $\mathcal{C}$ is **strongly protomodular** when it is protomodular and is such that any change of base functor $f^{\ast}$ is a _normal_ functor, that is, a left exact conservative functor which reflects the [[normal monomorphisms]].

[[Grp]], [[Ring]] and any [[cotopos]] are strongly protomodular.

##Related concepts

* [[homological category]]

* [[semi-abelian category]]

* [[regular category]]

## References

* [[Francis Borceux]], [[Dominique Bourn]], *[[Mal'cev, protomodular, homological and semi-abelian categories]]*, Mathematics and Its Applications __566__, Kluwer 2004 ([doi:10.1007/978-1-4020-1962-3](https://link.springer.com/book/10.1007/978-1-4020-1962-3))

* [[Dominique Bourn]], [[Marino Gran]], _Regular, Protomodular, and Abelian Categories_, Chapter IV, pp.165-211 in: Maria Pedicchio, [[Walter Tholen]] (eds.), _Categorical Foundations_, Cambridge University Press 2004 ([doi:10.1017/CBO9781107340985.007](https://doi.org/10.1017/CBO9781107340985.007))

* {#Bourne04} [[Dominique Bourn]], _Protomodular aspect of the dual of a topos_, Advances in Mathematics 187(1), pp. 240-255, 2004.

* [[Dominique Bourn]], _Action groupoid in protomodular categories_, [TAC](http://www.tac.mta.ca/tac/volumes/16/2/16-02abs.html)

* {#BournJan03} [[Dominique Bourn]], [[George Janelidze]], _Characterization of protomodular varieties of universal algebras_, ([TAC](http://www.tac.mta.ca/tac/volumes/11/6/11-06abs.html))

* {#Bourn2017} [[Dominique Bourn]], [_From Groups to Categorial Algebra : Introduction to Protomodular and Mal’tsev Categories_](https://doi.org/10.1007/978-3-319-57219-2), Compact Textbooks in Mathematics, Birkhäuser 2017

[[!redirects protomodular categories]]

[[!redirects Bourn-protomodular]]
[[!redirects Bourn-protomodular category]]
[[!redirects Bourn-protomodular categories]]