summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid A. Madore <david+git@madore.org>2023-12-15 17:39:27 +0100
committerDavid A. Madore <david+git@madore.org>2023-12-15 17:39:27 +0100
commit88c2c12c57568de9edac5ff2775aab7bb0ebf287 (patch)
tree9edaff2a65f9d19344b3d547d37ab11fe14018f6
parente8dc0e623b6836c0d68a574fba4d58bbc16b17cb (diff)
downloadinf110-lfi-88c2c12c57568de9edac5ff2775aab7bb0ebf287.tar.gz
inf110-lfi-88c2c12c57568de9edac5ff2775aab7bb0ebf287.tar.bz2
inf110-lfi-88c2c12c57568de9edac5ff2775aab7bb0ebf287.zip
Try to make description of S,K,I combinators slightly less confusing.
-rw-r--r--transp-inf110-02-typage.tex18
1 files changed, 10 insertions, 8 deletions
diff --git a/transp-inf110-02-typage.tex b/transp-inf110-02-typage.tex
index 188b7eb..19bc7ae 100644
--- a/transp-inf110-02-typage.tex
+++ b/transp-inf110-02-typage.tex
@@ -3207,12 +3207,12 @@ $A,B,C,\ldots$ sont \alert{remplacés par des formules qcqes} :
\quad\itempoint $(\mathsf{S}): (A\Rightarrow B\Rightarrow C) \Rightarrow
(A\Rightarrow B) \Rightarrow (A \Rightarrow C)$
\item $A\land B \Rightarrow A$
-\quad \itempoint $A\land B \Rightarrow B$
-\quad \itempoint $A\Rightarrow B \Rightarrow A\land B$
+\quad\itempoint $A\land B \Rightarrow B$
+\quad\itempoint $A\Rightarrow B \Rightarrow A\land B$
+\quad\itempoint $\top$ \quad\itempoint $\bot \Rightarrow C$
\item $A \Rightarrow A \lor B$
-\quad \itempoint $B \Rightarrow A \lor B$
-\quad \itempoint $(A\Rightarrow C)\Rightarrow(B\Rightarrow C)\Rightarrow (A\lor B\Rightarrow C)$
-\item $\top$ \quad\itempoint $\bot \Rightarrow C$
+\quad\itempoint $B \Rightarrow A \lor B$
+\quad\itempoint $(A\Rightarrow C)\Rightarrow(B\Rightarrow C)\Rightarrow (A\lor B\Rightarrow C)$
\end{itemize}
\par}
@@ -3228,9 +3228,11 @@ non typé comme simplement typé. {\footnotesize (On n'a même pas besoin de
\medskip
-\itempoint Idée de la conversion : remplacer $\lambda x.uv$ par
-$\mathsf{S}(\lambda x.u)(\lambda x.v)$ et $\lambda x.y$ par
-$\mathsf{K}y$.
+\itempoint Idée de la conversion : remplacer $\lambda x.x$ par
+$\mathsf{I}$, $\lambda x.y$ par $\mathsf{K}y$ (si $x$ n'apparaît pas
+dans $y$) et $\lambda x.uv$ par $\mathsf{S}(\lambda x.u)(\lambda
+x.v)$. {\footnotesize (On peut aussi « $\eta$-convertir » $\lambda
+ x.fx$ en $f$.)}
{\footnotesize P.ex. : $\lambda f.\lambda x.f(fx)$ se réécrit $\lambda
f. \mathsf{S}(\mathsf{K}f)f$ donc