ホモトピー型理論
[0016]

iiを階数、A:U(i)A:\mathcal {U}(i)を型、B:AU(i)B:A\to \mathcal {U}(i)を型の族、C:x:AB(x)U(i)C:\prod _{x:A}B(x)\to \mathcal {U}(i)を型の族とする。

  • -関数assoc(C):(z:x:AB(x)C(proj1(z),proj2(z)))(x:Ay:B(x)C(x,y))\mathord {\textnormal {\textsf {assoc}}}(C):(\sum _{z:\sum _{x:A}B(x)}C(\mathord {\textnormal {\textsf {proj}}}_{1}(z),\mathord {\textnormal {\textsf {proj}}}_{2}(z)))\to (\sum _{x:A}\sum _{y:B(x)}C(x,y))λw.pair(proj1(proj1(w)),pair(proj2(proj1(w)),proj2(w)))\lambda w.\mathord {\textnormal {\textsf {pair}}}(\mathord {\textnormal {\textsf {proj}}}_{1}(\mathord {\textnormal {\textsf {proj}}}_{1}(w)),\mathord {\textnormal {\textsf {pair}}}(\mathord {\textnormal {\textsf {proj}}}_{2}(\mathord {\textnormal {\textsf {proj}}}_{1}(w)),\mathord {\textnormal {\textsf {proj}}}_{2}(w)))と定義する。
  • -関数assoc1(C):(x:Ay:B(x)C(x,y))(z:x:AB(x)C(proj1(z),proj2(z)))\mathord {\textnormal {\textsf {assoc}}}^{-1}(C):(\sum _{x:A}\sum _{y:B(x)}C(x,y))\to (\sum _{z:\sum _{x:A}B(x)}C(\mathord {\textnormal {\textsf {proj}}}_{1}(z),\mathord {\textnormal {\textsf {proj}}}_{2}(z)))λw.pair(pair(proj1(w),proj1(proj2(w))),proj2(proj2(w)))\lambda w.\mathord {\textnormal {\textsf {pair}}}(\mathord {\textnormal {\textsf {pair}}}(\mathord {\textnormal {\textsf {proj}}}_{1}(w),\mathord {\textnormal {\textsf {proj}}}_{1}(\mathord {\textnormal {\textsf {proj}}}_{2}(w))),\mathord {\textnormal {\textsf {proj}}}_{2}(\mathord {\textnormal {\textsf {proj}}}_{2}(w)))と定義する。