nLab Initiality Project - Pi-types

Initiality Project - -types

Initiality Project - Π\Pi-types

This page is part of the Initiality Project.

Here we collect all the rules, definitions, and inductive clauses that pertains specifically to Π\Pi-types.

Raw syntax

operatorsortvarstype argsterm argsscopingsugared syntax
Π\PitytyxxAA, BBB⊲xB\lhd xΠ(x:A).B\Pi(x:A).B
λ\lambdatmtmxxAA, BBMMB⊲xB\lhd x, M⊲xM\lhd xλ(x:A.B).M\lambda(x:A.B).M
AppApptmtmxxAA, BBMM, NNB⊲xB\lhd xApp (x:A).B(M,N)App^{(x:A).B}(M,N)

Type theory

Γ⊢AtypeΓ,x:A⊢BtypeΓ⊢Π(x:A).Btype Γ⊢AtypeΓ,x:A⊢BtypeΓ⊢M⇐Π(x:A).BΓ⊢N⇐AΓ⊢App x:A.B(M,N)⇒B[N/x] Γ⊢AtypeΓ,x:A⊢BtypeΓ,x:A⊢M⇐BΓ⊢λ(x:A.B).M⇒Π(x:A).B Γ⊢A≡A′typeΓ,x:A⊢B≡B′typeΓ⊢App x:A.B(λ(x:A′.B′).M,N)≡M[N/x]:B[N/x] Γ,y:A⊢App x:A.B(M,y)≡App x:A.B(M′,y):B[y/x]Γ⊢M≡M′:Π(x:A).B Γ⊢A≡A′typeΓ,x:A⊢B≡B′typeΓ⊢Π(x:A)B≡Π(x:A′)B′type Γ⊢A≡A′typeΓ,x:A⊢B≡B′typeΓ,x:A⊢M≡M′:BΓ⊢λ(x:A.B).M≡λ(x:A′.B′).M′:Π(x:A).B Γ⊢A≡A′typeΓ,x:A⊢B≡B′typeΓ⊢M≡M′:Π(x:A)BΓ⊢N≡N′:AΓ⊢App x:A.B(M,N)≡App x:A′.B′(M′,N′):B[N/x] \begin{gathered} \frac{\Gamma \vdash A \, type \qquad \Gamma, x:A \vdash B\,type}{\Gamma \vdash \Pi(x:A) .B \, type} \\ \\ \frac{\Gamma \vdash A \, type \qquad \Gamma, x:A \vdash B\,type \qquad \Gamma \vdash M \Leftarrow \Pi(x:A). B \qquad \Gamma \vdash N \Leftarrow A}{\Gamma \vdash App^{x:A.B}(M,N) \Rightarrow B[N/x]} \\ \\ \frac{\Gamma \vdash A \, type \qquad \Gamma,x:A \vdash B \,type \qquad \Gamma,x:A \vdash M \Leftarrow B}{\Gamma \vdash \lambda(x:A.B).M \Rightarrow \Pi(x:A). B} \\ \\ \frac{\Gamma\vdash A \equiv A' \, type \qquad \Gamma, x:A \vdash B \equiv B' \, type}{\Gamma \vdash App^{x:A.B}(\lambda(x:A'.B').M,N) \equiv M[N/x] : B[N/x]} \\ \\ \frac{\Gamma, y:A \vdash App^{x:A.B}(M,y) \equiv App^{x:A.B}(M',y) : B[y/x]}{\Gamma \vdash M \equiv M' : \Pi(x:A).B } \\ \\ \frac{\Gamma \vdash A \equiv A' type \qquad \Gamma, x:A \vdash B \equiv B' type}{\Gamma \vdash \Pi(x:A)B \equiv \Pi(x:A')B' type} \\ \\ \frac{ \Gamma \vdash A \equiv A' type \qquad \Gamma, x:A \vdash B \equiv B' type \qquad \Gamma, x:A \vdash M \equiv M' : B } {\Gamma \vdash \lambda(x:A.B).M \equiv \lambda(x:A'.B').M' : \Pi(x:A).B} \\ \\ \frac{ \Gamma \vdash A \equiv A' type \qquad \Gamma, x:A \vdash B \equiv B' type \qquad \Gamma \vdash M \equiv M' : \Pi(x:A)B \qquad \Gamma \vdash N \equiv N' : A } {\Gamma \vdash App^{x:A.B}(M, N) \equiv App^{x:A'.B'}(M', N') : B[N/x]} \end{gathered}

Semantics

include Initiality Project - Semantics - Pi-types

Partial interpretation

include Initiality Project - Partial Interpretation - Pi-types?

Preservation of substitution

include Initiality Project - Substitution - Pi-types?

Totality

include Initiality Project - Totality - Pi-types?

The Term Model

TODO: Prove that the term model category with families has Π\Pi-type structure.

Interpretation functor

include Initiality Project - Functor - Pi-types?

Uniqueness

include Initiality Project - Uniqueness - Pi-types?

Last revised on October 28, 2018 at 19:41:09. See the history of this page for a list of all contributions to it.