From b30dbdc7c4a288624e7942f412697ffbe97d891c Mon Sep 17 00:00:00 2001
From: "David A. Madore" <david+git@madore.org>
Date: Mon, 4 Dec 2023 19:54:44 +0100
Subject: Functoriality of connectors and of logical formulae.

---
 transp-inf110-02-typage.tex | 147 ++++++++++++++++++++++++++++++++++++--------
 1 file changed, 123 insertions(+), 24 deletions(-)

(limited to 'transp-inf110-02-typage.tex')

diff --git a/transp-inf110-02-typage.tex b/transp-inf110-02-typage.tex
index b16d9a6..c0aeb08 100644
--- a/transp-inf110-02-typage.tex
+++ b/transp-inf110-02-typage.tex
@@ -2487,56 +2487,155 @@ B\Rightarrow C)$ est une tautologie, donc
 \[
 ((D\Rightarrow E)\land (E\Rightarrow D) \Rightarrow D) \Rightarrow ((D\Rightarrow E)\Rightarrow (E\Rightarrow D)\Rightarrow D)
 \]
-en est une (par substitution de $D\Rightarrow E$ pour $A$, de
-$E\Rightarrow D$ pour $B$, et de $D$ pour $C$).
+en est (par subst\textsuperscript{ion} de $D\Rightarrow E$ pour $A$,
+de $E\Rightarrow D$ pour $B$, et de $D$ pour $C$).
+
+\medskip
+
+{\footnotesize
+
+\itempoint Attention, ce polymorphisme s'applique aux
+\alert{conclusions, pas aux hypothèses} (l'hypothèse $A$ ne permet pas
+de tout déduire !).
+
+\par}
 
 \end{frame}
 %
 \begin{frame}
-\frametitle{Occurrences positives et négatives}
+\frametitle{« Fonctorialité » des connecteurs logiques}
 
-\itempoint Dans une formule propositionnelle / type dont \alert{toutes
-  les variables sont distinctes} (on parle alors d'« occurrences »),
-on va définir des occurrences \textcolor{purple}{\textbf{positives}}
-(=\textcolor{purple}{croissantes}, \textcolor{purple}{covariantes}) et
-\textcolor{olive}{\textbf{négatives}}
-(=\textcolor{olive}{décroissantes},
-\textcolor{olive}{contravariantes}) par induction :
 \begin{itemize}
-\item une variable propositionnelle seule est une occurrence positive,
-\item dans $Q_1\land Q_2$ ainsi que $Q_1\lor Q_2$, toutes les
-  occurrences positives (resp. négatives) dans $Q_1$ et $Q_2$ le sont
-  dans la formule tout entière,
-\item dans $P\Rightarrow Q$, les occurrences positives
-  (resp. négatives) dans $Q$ le sont dans la formule mais les
-  occurrences dans $P$ sont inversées.
+\item Donnés $t_1 : \tau_1 \to \tau_1'$ et $t_2 : \tau_2 \to \tau_2'$,
+  le terme $\lambda (u : \tau_1\times\tau_2).\langle t_1(\pi_1 u),
+  t_2(\pi_2 u)\rangle$ est de type $\tau_1\times\tau_2 \to
+  \tau_1'\times\tau_2'$.
+\item Donnés $t_1 : \tau_1 \to \tau_1'$ et $t_2 : \tau_2 \to \tau_2'$,
+  le terme $\lambda (u :
+  \tau_1+\tau_2). (\texttt{match~}u\texttt{~with~}\iota_1 v_1 \mapsto
+  \iota_1^{(\tau_1',\tau_2')} (t_1v_1),\; \iota_2 v_2 \mapsto
+  \iota_2^{(\tau_1',\tau_2')} (t_2v_2))$\\est de type $\tau_1+\tau_2 \to
+  \tau_1'+\tau_2'$.
+\item Donnés $s : \sigma' \to \sigma$ (\textcolor{olive}{attention au
+  sens !}) et $t : \tau \to \tau'$, le terme $\lambda (u :
+  \sigma\to\tau). \lambda (x:\sigma'). t(u(sx))$ est de type
+  $(\sigma\to\tau) \to (\sigma'\to\tau')$.
 \end{itemize}
 
-\medskip
+\bigskip
 
-\itempoint Occurrences \textbf{strictement positives} : ce sont les
-variables seules, et les s-positives de $Q_1,Q_2,Q$ dans $Q_1\land
-Q_2$, $Q_1\lor Q_2$ et $P\Rightarrow Q$.
+Donc, par Curry-Howard :
+
+\begin{itemize}
+\item Si $Q_1\Rightarrow Q_1'$ et $Q_2\Rightarrow Q_2'$ alors
+  $(Q_1\land Q_2)\Rightarrow (Q_1'\land Q_2')$.
+\item Si $Q_1\Rightarrow Q_1'$ et $Q_2\Rightarrow Q_2'$ alors
+  $(Q_1\lor Q_2)\Rightarrow (Q_1'\lor Q_2')$.
+\item Si $P'\Rightarrow P$ (\textcolor{olive}{attention au sens !}) et
+  $Q\Rightarrow Q'$ alors $(P\Rightarrow Q)\Rightarrow (P'\Rightarrow
+  Q')$.
+\end{itemize}
 
 \bigskip
 
 {\footnotesize
 
-P.ex. dans
+\itempoint On dit que $\land$ et $\lor$ sont
+\textcolor{purple}{\textbf{croissants}} (ou
+\textcolor{purple}{covariants}) en leurs deux arguments, et que
+$\Rightarrow$ l'est dans son argument de droite, mais qu'il est
+\textcolor{olive}{\textbf{décroissant}} (ou
+\textcolor{olive}{contravariant}) dans son argument de gauche.
+
+\par}
+
+\end{frame}
+%
+\begin{frame}
+\frametitle{Sous-formules positives et négatives}
+
+Dans une formule propositionnelle, on définit les sous-formules
+\textcolor{purple}{\textbf{positives}} (voire \textbf{strictement
+  positives}) et \textcolor{olive}{\textbf{négatives}} par induction :
+\begin{itemize}
+\item les sous-formules \textcolor{purple}{positives} de $Q_1\land Q_2$ et $Q_1\lor Q_2$
+  sont la formule tout entière, et les sous-formules \textcolor{purple}{positives} de
+  $Q_1$ et celles de $Q_2$,
+\item les sous-formules \textcolor{olive}{négatives} de $Q_1\land Q_2$ et $Q_1\lor Q_2$
+  sont les sous-formules \textcolor{olive}{négatives} de $Q_1$ et celles de $Q_2$,
+\item les sous-formules \textcolor{purple}{positives} de $P \Rightarrow Q$ sont la formule
+  tout entière, les sous-formules \textcolor{purple}{positives} de $Q$ et les
+  \emph{\textcolor{olive}{négatives}} de $P$,
+\item les sous-formules \textcolor{olive}{négatives} de $P \Rightarrow
+  Q$ sont les sous-formules \textcolor{olive}{négatives} de $Q$ et les
+  \emph{\textcolor{purple}{positives}} de $P$.
+\end{itemize}
+
+\smallskip
+
+{\footnotesize
+
+\itempoint Les sous-formules strict\textsuperscript{t} positives de
+$Q_1\land Q_2$ et $Q_1\lor Q_2$, resp. $P\Rightarrow Q$ sont la
+formule tout entière et les sous-formules strict\textsuperscript{t}
+positives de $Q_1$ et de $Q_2$ (resp. $Q$).
+
+\par}
+
+\medskip
+
+{\footnotesize
+
+P.ex. dans\vskip-5ex
 \[
 ({\color{olive}A}\Rightarrow ({\color{olive}B}\Rightarrow {\color{purple}C})) \land (({\color{purple}D}\Rightarrow {\color{olive}E})\Rightarrow {\color{purple}F})
 \]
 les occurrences
 ${\color{purple}C},{\color{purple}D},{\color{purple}F}$ sont positives
-($D$ et $F$ strictement), tandis que
+($C$ et $F$ strictement), tandis que
 ${\color{olive}A},{\color{olive}B},{\color{olive}E}$ sont négatives.
 
 \par}
 
+\end{frame}
+%
+\begin{frame}
+\frametitle{« Fonctorialité » des formules}
+
+Conséquence de la fonctorialité des connecteurs logiques :
+
+\smallskip
+
+\itempoint Si $S$ est une formule propositionnelle et $S'$ obtenue en
+remplaçant une sous-formule positive $Q$ par $Q'$ telle que $Q
+\Rightarrow Q'$, alors $S \Rightarrow S'$.
+
+\smallskip
+
+\itempoint Si $S$ est une formule propositionnelle et $S'$ obtenue en
+remplaçant une sous-formule négative $P$ par $P'$ telle que $P'
+\Rightarrow P$, alors $S \Rightarrow S'$.
+
+\bigskip
+
+Comme toute sous-formule est soit positive soit négative, on en
+déduit :
+
+\smallskip
+
+\itempoint Corollaire : Si $S$ est une formule propositionnelle et
+$S'$ obtenue en remplaçant une sous-formule quelcone $R$ par $R'$
+telle que $R \Leftrightarrow R'$, alors $S \Leftrightarrow S'$.
+
+\medskip
+
+P.ex., on peut remplacer $Q_1\land Q_2$ par $Q_2\land Q_1$ ou
+$(Q_1\land Q_2)\land Q_3$ par $Q_1\land (Q_2\land Q_3)$ n'importe où
+dans une formule et on obtient ainsi une formule équivalente.
+
 \end{frame}
 %
 % TODO:
-% - substitution d'équivalences
 % - présentation en calcul des séquents
 % - élimination des coupures
 % - Kripke
-- 
cgit v1.2.3

