@@ -717,13 +717,13 @@ \subsection{简单类型\texorpdfstring{\(\lambda\)}{Lambda}-演算的闭典范
717
717
本身也是模型之一.
718
718
719
719
我们现在就可以迅速证明 \( \cons {y}\ne\cons {n}\) .
720
- 考虑所有集合的范畴 \( \cons {Set}\) , 它是积闭的.
720
+ 考虑所有集合的范畴 \( \mathsf {Set}\) , 它是积闭的.
721
721
我们再选择 \( 1 \rightrightarrows B\) 为
722
722
\( 1=\{ \varnothing \} \) 到
723
723
\( 2=\{ \varnothing , \{ \varnothing \}\} \) 的两个态射即可.
724
724
如果 \( \cons {y}=\cons {n}\) ,
725
725
那么说明引理~\ref {beginning:lambda:initial } 产生的函子
726
- \( \mathrm s:\mathcal T \to \cons {Set}\)
726
+ \( \mathrm s:\mathcal T \to \mathsf {Set}\)
727
727
满足 \( \mathrm {s}(\cons {y}) = \mathrm {s}(\cons {n})\) ,
728
728
进一步得到集合 \( 2\) 的两个元素相等, 矛盾. 注意这个模型
729
729
仍然无法证明闭典范性, 因为 \( \mathrm {s}\) 仍然有可能
@@ -734,7 +734,7 @@ \subsection{简单类型\texorpdfstring{\(\lambda\)}{Lambda}-演算的闭典范
734
734
为了研究闭典范性, 我们需要先找出类型论中的闭元素, 即不包含
735
735
自由变量的表达式. 这很容易, 我们只需要要求语境为空即可.
736
736
因此我们考虑 \( \boldsymbol\Gamma (X) = \hom _{\mathcal T}(1, X)\) .
737
- 这是一个 \( \mathcal T \to \cons {Set}\) 的函子.
737
+ 这是一个 \( \mathcal T \to \mathsf {Set}\) 的函子.
738
738
739
739
如上文所述, 我们一般的思路是为每一个类型赋予一个谓词.
740
740
在范畴论中, 我们可以使用一个 \( f : Y \to X\) 的态射作
@@ -757,12 +757,12 @@ \subsection{简单类型\texorpdfstring{\(\lambda\)}{Lambda}-演算的闭典范
757
757
一个代换, \( \sigma '\) 是某个函数. 这样, \( \mathcal G\)
758
758
就是每个类型的闭表达式集上所有可能的谓词的范畴.
759
759
如果读者熟悉范畴论, 就应该知道这是逗号范畴的特例:
760
- \[ \mathcal G = \mathrm {Id}_{\cons {Set}}\downarrow \boldsymbol\Gamma .\]
760
+ \[ \mathcal G = \mathrm {Id}_{\mathsf {Set}}\downarrow \boldsymbol\Gamma .\]
761
761
它也可以看成是下面这个拉回:
762
762
\[
763
763
\begin {tikzcd }
764
- \mathcal G \ar [r, dashed] \ar [d, dashed, "\mathrm{gl}" '] \ar [dr, phantom, "\lrcorner" , very near start] & \cons {Set}^{\to } \ar [d, "\mathrm{cod}" ] \\
765
- \mathcal T \ar [r, "\boldsymbol\Gamma" '] & \cons {Set}
764
+ \mathcal G \ar [r, dashed] \ar [d, dashed, "\mathrm{gl}" '] \ar [dr, phantom, "\lrcorner" , very near start] & \mathsf {Set}^{\to } \ar [d, "\mathrm{cod}" ] \\
765
+ \mathcal T \ar [r, "\boldsymbol\Gamma" '] & \mathsf {Set}
766
766
\end {tikzcd }
767
767
\]
768
768
注意这时候我们自动有了一个函子 \( \mathrm {gl}\) , 它把
@@ -793,7 +793,7 @@ \subsection{简单类型\texorpdfstring{\(\lambda\)}{Lambda}-演算的闭典范
793
793
\boldsymbol\Gamma (1) \ar [r, "\boldsymbol\Gamma(\cons{y})" '] & \boldsymbol\Gamma (\cons {Ans}) &\ar [l, "\boldsymbol\Gamma(\cons{n})" ] \boldsymbol\Gamma (1)
794
794
\end {tikzcd }
795
795
\]
796
- 注意整个交换图都在 \( \cons {Set}\) 中.
796
+ 注意整个交换图都在 \( \mathsf {Set}\) 中.
797
797
798
798
我们需要证明的是任何一个表达式 \( M \in \boldsymbol\Gamma (\cons {Ans})
799
799
= \hom _{\mathcal T}(1, \cons {Ans})\) 都一定恰好是
0 commit comments