2 On nomme $f^{\alpha}$ la fonction de $\Bool^{{\mathsf{N}}-1}$
3 dans lui-même définie pour
4 chaque $x\in\Bool^{{\mathsf{N}}-1}$ par
6 f^{\alpha}(x)=(f_1(x,\alpha),\dots,f_{{\mathsf{N}}-1}(x,\alpha)).
8 On nomme $\textsc{giu}(f)^\alpha$ le sous-graphe
9 de $\textsc{giu}(f)$ engendré par le sous-ensemble
10 $\Bool^{{\mathsf{N}}-1} \times \{\alpha\}$ de $\Bool^{\mathsf{N}}$.
15 Énonçons et prouvons tout d'abord les lemmes techniques suivants:
17 \begin{lemma}\label{lemma:subgraph}
18 $G(f^\alpha)$ est un sous-graphe de $G(f)$: chaque arc de $G(f^\alpha)$ est
19 un arc de $G(f)$. De plus si $G(f)$ n'a pas d'arc de ${\mathsf{N}}$ vers un autre
20 sommet $i\neq {\mathsf{N}}$, alors on déduit
21 $G(f^\alpha)$ de $G(f)$ en supprimant le sommet ${\mathsf{N}}$ ainsi que tous les
22 arcs dont ${\mathsf{N}}$ est soit l'extrémité, soit l'origine (et dans ce dernier
23 cas, les arcs sont des boucles sur ${\mathsf{N}}$).
27 Supposons que $G(f^{\alpha})$ possède un arc de $j$ vers $i$ de signe
28 $s$. Par définition, il existe un sommet $x\in\Bool^{{\mathsf{N}}-1}$ tel que
29 $f^{\alpha}_{ij}(x)=s$, et puisque
30 $f^{\alpha}_{ij}(x)=f_{ij}(x,\alpha)$, on en déduit que $G(f)$ possède un arc
31 de $j$ à $i$ de signe $s$. Ceci prouve la première assertion.
32 Pour démontrer la seconde, il suffit de prouver que si
33 $G(f)$ a un arc de $j$ vers $i$ de signe $s$, avec $i,j\neq {\mathsf{N}}$, alors
34 $G(f^\alpha)$ contient aussi cet arc. Ainsi, supposons que $G(f)$ a un
35 arc de $j$ vers $i$ de signe $s$, avec $i,j\neq {\mathsf{N}}$.
37 $x\in\Bool^{{\mathsf{N}}-1}$ et $\beta\in\Bool$ tels que
38 $f_{ij}(x,\beta)=s$. Si $f_{ij}(x,\beta)\neq f_{ij}(x,\alpha)$, alors
39 $f_i$ dépend du ${\mathsf{N}}^{\textrm{ème}}$ composant, ce qui est en contradiction
41 Ainsi $f_{ij}(x,\alpha)$ est égal à $s$.
43 $f^{\alpha}_{ij}(x)=s$. Ainsi $G(f^\alpha)$ possède un arc
44 arc de $j$ vers $i$ de signe $s$.
47 \begin{lemma}\label{lemma:iso}
48 Les graphes $\textsc{giu}(f^\alpha)$ et $\textsc{giu}(f)^\alpha$ sont isomorphes.
52 Soit $h$ la bijection de $\Bool^{{\mathsf{N}}-1}$ vers
53 $\Bool^{{\mathsf{N}}-1}\times \{\alpha\}$ définie par $h(x)=(x,\alpha)$ pour chaque
54 $x\in\Bool^{{\mathsf{N}}-1}$.
55 On voit facilement que $h$ permet de définir un isomorphisme
56 entre $\textsc{giu}(f^\alpha)$ et $\textsc{giu}(f)^\alpha$:
57 $\textsc{giu}(f^\alpha)$ possède un arc de $x$ vers $y$ si et seulement si
58 $\textsc{giu}(f)^\alpha$ a un arc de $h(x)$ vers $h(y)$.
62 On peut alors prouver le théorème:
66 La preuve se fait par induction sur ${\mathsf{N}}$.
67 Soit $f$ une fonction de $\Bool^{\mathsf{N}}$ dans lui-même et qui vérifie les hypothèses
69 Si ${\mathsf{N}}=1$ la démonstration est élémentaire:
70 en raison du troisième point du théorème, $G(f)$ a une boucle négative;
71 ainsi $f(x)=\overline{x}$ et $\textsc{giu}(f)$ est un cycle de longueur 2.
72 On suppose donc que ${\mathsf{N}}>1$ et que le théorème est valide pour toutes les
73 fonctions de $\Bool^{{\mathsf{N}}-1}$ dans lui-même.
74 En raison du premier point du théorème, $G(f)$
75 contient au moins un sommet $i$ tel qu'il n'existe pas dans $G(f)$
76 d'arc de $i$ vers un autre sommet $j\neq i$.
77 Sans perte de généralité, on peut considérer que
78 ce sommet est ${\mathsf{N}}$.
79 Alors, d'après le lemme~\ref{lemma:subgraph},
80 $f^0$ et $f^1$ vérifient les conditions de l'hypothèse.
81 Alors, par hypothèse d'induction $\textsc{giu}(f^0)$ et
82 $\textsc{giu}(f^1)$ sont fortement connexes.
83 Ainsi, d'après le lemme~\ref{lemma:iso},
84 $\textsc{giu}(f)^0$ et $\textsc{giu}(f)^1$ sont fortement
86 Pour prouver que $\textsc{giu}(f)$ est fortement connexe, il suffit
87 de prouver que $\textsc{giu}(f)$ contient un arc $x\to y$ avec
88 $x_{\mathsf{N}}=0<y_{\mathsf{N}}$ et un arc $x\to y$ avec $x_{\mathsf{N}}=1>y_{\mathsf{N}}$.
89 En d'autres mots, il suffit de prouver que:
90 \begin{equation}\tag{$*$}
91 \forall \alpha\in\Bool,~\exists x\in\Bool^{\mathsf{N}},\qquad x_{\mathsf{N}}=\alpha\neq f_{\mathsf{N}}(x).
94 On suppose tout d'abord que ${\mathsf{N}}$ a une boucle
96 Alors, d'après la définition de
97 $G(f)$, il existe $x\in\Bool^{\mathsf{N}}$ tel que $f_{{\mathsf{N}}}(x)<0$.
98 Ainsi si $x_{\mathsf{N}}=0$, on a $f_{\mathsf{N}}(x)>f_{\mathsf{N}}(\overline{x}^{\mathsf{N}})$, et donc
99 $x_{\mathsf{N}}=0\neq f_{\mathsf{N}}(x)$ et
100 $\overline{x}^{\mathsf{N}}_{\mathsf{N}}=1\neq f_{\mathsf{N}}(\overline{x}^{\mathsf{N}})$;
101 et si $x_{\mathsf{N}}=1$, on a
102 $f_{\mathsf{N}}(x)<f_{\mathsf{N}}(\overline{x}^{\mathsf{N}})$, donc $x_{\mathsf{N}}=1\neq f_{\mathsf{N}}(x)$ et $\overline{x}^{\mathsf{N}}_{\mathsf{N}}=0\neq
103 f_{\mathsf{N}}(\overline{x}^{\mathsf{N}})$.
104 Dans les deux cas, la condition ($*$) est établie.
106 Supposons maintenant que ${\mathsf{N}}$ n'a pas de boucle négative.
107 D'après la seconde hypothèse,
108 ${\mathsf{N}}$ n'a pas de boucle, \emph{i.e.}, la valeur de $f_{\mathsf{N}}(x)$
109 ne dépend pas de la valeur de $x_{\mathsf{N}}$.
110 D'après la troisième hypothèse,
111 il existe $i\in [{\mathsf{N}}]$ tel que $G(f)$ a un arc de
112 $i$ vers ${\mathsf{N}}$.
113 Ainsi, il existe $x \in \Bool^{\mathsf{N}}$ tel que $f_{{\mathsf{N}}i}(x) \neq 0$ et donc
114 %$n$ n'est donc pas de degré zéro dans $G(f)$, \emph{i.e.}
115 $f_{\mathsf{N}}$ n'est pas constante.
116 Ainsi, il existe $x,y\in \Bool^{\mathsf{N}}$ tel que
117 $f_{\mathsf{N}}(x)=1$ et $f_{\mathsf{N}}(y)=0$.
118 Soit $x'=(x_1,\dots,x_{{\mathsf{N}}-1},0)$ et
119 $y'=(y_1,\dots,y_{{\mathsf{N}}-1},1)$.
120 Puisque la valeur de $f_{\mathsf{N}}(x)$
121 (resp. de $f_{\mathsf{N}}(y)$) ne dépend pas de la valeur de $x_{\mathsf{N}}$ (resp. de $y_{\mathsf{N}}$),
122 on a $f_{\mathsf{N}}(x')=f_{\mathsf{N}}(x)=1\neq x'_{\mathsf{N}}$ (resp. $f_{\mathsf{N}}(y')=f_{\mathsf{N}}(y)=0\neq
124 Ainsi la condition ($*$) est établie, et le théorème est prouvé.