diff --git a/Inst_eddies/Documentation_texfol/Graphiques/.gitignore b/Inst_eddies/Documentation_texfol/Graphiques/.gitignore
index f81ca1b4b6b2a57c110e4497a2a7e9afdd41ed27..eafb36aebb48d45399fe62cf1951a9ad4ab31d28 100644
--- a/Inst_eddies/Documentation_texfol/Graphiques/.gitignore
+++ b/Inst_eddies/Documentation_texfol/Graphiques/.gitignore
@@ -12,3 +12,4 @@ user_proc.pdf
 user_sys.pdf
 slice.pdf
 nearby_extr.pdf
+descending.pdf
diff --git a/Inst_eddies/Documentation_texfol/Graphiques/GNUmakefile b/Inst_eddies/Documentation_texfol/Graphiques/GNUmakefile
index 0ff27522ba5aadd8230a28a1f06fd865539ac9b7..ec27166bc2c94cdebe6505a21cd1ea7ad7168f2b 100644
--- a/Inst_eddies/Documentation_texfol/Graphiques/GNUmakefile
+++ b/Inst_eddies/Documentation_texfol/Graphiques/GNUmakefile
@@ -1,5 +1,5 @@
 objects = degeneracy.pdf periodicity.pdf copy.pdf set_all_outerm.pdf	\
-SHPC.pdf plot_test_output.pdf slice.pdf nearby_extr
+SHPC.pdf plot_test_output.pdf slice.pdf nearby_extr.pdf descending.pdf
 
 %.pdf: %.odg
 	unoconv --doctype=graphics $<
diff --git a/Inst_eddies/Documentation_texfol/Graphiques/descending.odg b/Inst_eddies/Documentation_texfol/Graphiques/descending.odg
new file mode 100644
index 0000000000000000000000000000000000000000..85cee50fb487ef2dbb05e916ee23ab94f343d645
Binary files /dev/null and b/Inst_eddies/Documentation_texfol/Graphiques/descending.odg differ
diff --git a/Inst_eddies/Documentation_texfol/documentation.tex b/Inst_eddies/Documentation_texfol/documentation.tex
index 51fe0c1196bfe7f7c2e88ac4a11ddcfeb0bf4953..55d89fadfc8f68e450516c1596689c4dc3aec150 100644
--- a/Inst_eddies/Documentation_texfol/documentation.tex
+++ b/Inst_eddies/Documentation_texfol/documentation.tex
@@ -965,6 +965,200 @@ des contours au cours de la boucle. En effet, les bons contours
 trouvés sont de plus en plus grands, et on cherche toujours un contour
 plus grand.
 
+\subsubsection{Décroissance des intervalles de SSH}
+
+Montrons que, à la sortie de \verb+get_1_outerm+, le tableau :
+\begin{verbatim}
+abs(ediff1d(cont_list(:n_cont)%ssh))
+\end{verbatim}
+est nécessairement décroissant. C'est trivial si \verb+n_cont+ à la
+sortie $\le 2$. Montrons-le si \verb+n_cont+ à la sortie $\ge 3$. On
+suppose donc qu'on est passé dans la boucle sur \verb+level_good+,
+\verb+level_bad+ et \verb+level_try+. Pour cette démonstration, notons
+:
+\begin{itemize}
+\item $j \in \{1, \dots, j_\mathrm{max}\}$ l'indice de l'itération
+  dans la boucle  (pas de variable correspondante dans le programme) ;
+\item $g_j$ la valeur de \verb+level_good+ à l'entrée de l'itération
+  $j$ ;
+\item $b_j$ la valeur de \verb+level_bad+ à l'entrée de l'itération
+  $j$ ;
+\item $t_j$ la valeur de \verb+level_try+ à la fin de l'itération $j$ ;
+\item $s_k$ une valeur de \verb+cont_list(:n_cont)%ssh+ ;
+\item $n$ pour \verb+n_cont+.
+\end{itemize}
+Noter que $j$ est a priori différent de $n$.
+
+Mathématiquement, le problème se pose de la façon
+suivante.
+
+On se donne deux suites de réels $(g_j)$ et $(b_j)$ pour
+$1 \le j \le j_\mathrm{max}$ et on définit une troisième suite de
+réels $(t_j)$ pour $1 \le j \le j_\mathrm{max}$ par :
+\begin{equation*}
+  t_j := \frac{g_j + b_j}{2}
+\end{equation*}
+Nous supposons que :
+\begin{equation}
+  \label{eq:t_j}
+  \forall j \in \{1, \dots, j_\mathrm{max} - 1\},
+  (g_{j + 1} = t_j \land b_{j + 1} = b_j)
+  \lor (g_{j + 1} = g_j \land b_{j + 1} = t_j)
+\end{equation}
+Alors :
+\begin{equation*}
+  \forall j \in \{1, \dots, j_\mathrm{max} - 1\},
+  g_{j + 1} - b_{j + 1} = \frac{g_j - b_j}{2}
+\end{equation*}
+Supposons dans la suite qu'on a un cyclone, c'est-à-dire que
+\begin{equation}
+  \label{eq:cyclone}
+  g_1 < b_1
+\end{equation}
+On pourrait faire une démonstration analogue dans le cas
+d'un anticyclone. \`A partir de l'hypothèse \ref{eq:cyclone}, on
+montre facilement par récurrence :
+\begin{equation*}
+  \forall j, g_j < t_j < b_j
+\end{equation*}
+et la suite $(g_j)$ est croissante, la suite $(b_j)$ est
+décroissante. D'où aussi :
+\begin{equation*}
+  \max g_j = g_{j_\mathrm{max}} < b_{j_\mathrm{max}} = \min b_j
+\end{equation*}
+
+Remarquons que :
+\begin{equation*}
+  \left(t_{j + 1} = \frac{t_j + b_j}{2} > t_j \right)
+  \lor \left(t_{j + 1} = \frac{g_j + t_j}{2} < t_j \right)
+\end{equation*}
+donc la suite $(t_j)$ n'est a priori pas monotone.
+
+Soit $j \in \{1, \dots, j_\mathrm{max} - 1\}$.
+
+Si $g_{j + 1} = t_j$ alors :
+\begin{equation*}
+  \forall l \ge 1, t_{j + l} > g_{j + l} \ge g_{j + 1} = t_j
+\end{equation*}
+On peut aussi noter en passant la propriété qui nous sera utile :
+\begin{equation}
+  \label{eq:tjl}
+  \forall l \ge 1, t_{j + l} < b_{j + l} \le b_{j + 1} = b_j
+\end{equation}
+
+Si au contraire $b_{j + 1} = t_j$ alors :
+\begin{equation*}
+  \forall l \ge 1, t_{j + l} < b_{j + l} \le b_{j + 1} = t_j
+\end{equation*}
+Donc, dans les deux cas :
+\begin{equation*}
+  \forall j \in \{1, \dots, j_\mathrm{max} - 1\}, \forall l \ge 1,
+  t_{j + l} \ne t_j
+\end{equation*}
+Ou encore :
+\begin{equation}
+  \label{eq:injection}
+  \forall (j, j') \in \{1, \dots, j_\mathrm{max}\}^2,
+  j \ne j' \Rightarrow t_j \ne t_{j'}
+\end{equation}
+
+On se donne une quatrième suite de réels $(s_k)_{2 \le k \le n}$. On
+suppose :
+\begin{equation*}
+  \forall k, \exists j \in \{1, \dots, j_\mathrm{max} - 1\},
+  s_k = t_j = g_{j + 1}
+\end{equation*}
+(On ne peut pas supposer plus puisque dans l'algorithme, on
+n'enregistre pas forcément une nouvelle valeur de SSH à chaque fois qu'on
+trouve une valeur différente de \verb+level_good+.) D'après la
+propriété \ref{eq:injection}, $j$ est unique :
+\begin{equation*}
+  \forall k, \exists ! j \in \{1, \dots, j_\mathrm{max} - 1\},
+  s_k = t_j = g_{j + 1}
+\end{equation*}
+Notons-le $J(k)$.
+\begin{equation*}
+  \forall k, s_k = t_{J(k)} = g_{J(k) + 1}
+\end{equation*}
+Hypothèse : $J(k)$ est strictement croissant. (Les valeurs de SSH sont
+enregistrées dans l'ordre des itérations, au plus une valeur de SSH
+par itération.) Donc, avec la croissance de $(g_j)$, la suite $(s_k)$
+est croissante.
+
+Montrons que $(s_k)$ est même strictement croissante.
+\begin{equation*}
+  s_{k + 1} = t_{J(k + 1)} = g_{J(k + 1) + 1}
+\end{equation*}
+Donc (hypothèse \ref{eq:t_j}) :
+\begin{equation*}
+  g_{J(k + 1) + 1} > g_{J(k + 1)}
+\end{equation*}
+Donc :
+\begin{equation*}
+  \forall j \le J(k + 1), g_{J(k + 1) + 1} > g_{j}
+\end{equation*}
+Or :
+\begin{align}
+  & J(k) < J(k + 1)
+    \notag \\
+  \Rightarrow & J(k) + 1 \le J(k + 1)
+    \label{eq:J_k1}
+\end{align}
+D'où :
+\begin{equation*}
+  g_{J(k + 1) + 1} > g_{J(k) + 1}
+\end{equation*}
+C'est-à-dire :
+\begin{equation*}
+  s_{k + 1} > s_k
+\end{equation*}
+$\Box$
+
+Montrons enfin la décroissance de la suite $(s_{k + 1} -
+s_k)$. Cf. figure \ref{fig:descending}.
+\begin{figure}[htbp]
+  \centering
+  \includegraphics{descending}
+  \caption{get\_1\_outerm. Décroissance de la suite
+    $(s_{k + 1} - s_k)$.}
+  \label{fig:descending}
+\end{figure}
+Avec l'inégalité \ref{eq:J_k1} :
+\begin{equation*}
+  g_{J(k + 1)} \ge g_{J(k) + 1} = s_k
+\end{equation*}
+Avec la propriété \ref{eq:tjl} :
+\begin{equation*}
+  \forall j > J(k + 1), t_j < b_{J(k + 1)}
+\end{equation*}
+D'où, pour tout $j > J(k + 1)$ :
+\begin{equation*}
+  t_j - t_{J(k + 1)} < b_{J(k + 1)} - t_{J(k + 1)}
+  =  t_{J(k + 1)} - g_{J(k + 1)}
+\end{equation*}
+et :
+\begin{equation*}
+  t_{J(k + 1)} - g_{J(k + 1)} \le t_{J(k + 1)} - s_k
+  = s_{k + 1} - s_k
+\end{equation*}
+Ainsi :
+\begin{equation*}
+  \forall j > J(k + 1), t_j - s_{k + 1} < s_{k + 1} - s_k
+\end{equation*}
+Or :
+\begin{equation*}
+  s_{k + 2} = t_{J(k + 2)}
+\end{equation*}
+et :
+\begin{equation*}
+  J(k + 2) > J(k + 1)
+\end{equation*}
+donc :
+\begin{equation*}
+  s_{k + 2} - s_{k + 1} < s_{k + 1} - s_k
+\end{equation*}
+$\Box$
+
 \subsection{good\_contour}
 
 Trouve, si elle existe, une ligne de niveau à un niveau donné,
diff --git a/Inst_eddies/get_1_outerm.f90 b/Inst_eddies/get_1_outerm.f90
index b353610a8ee7b7849efd3ad29d924806b075e0f9..597d08cc7bbb2d56e01638ac74412b33c3f9716d 100644
--- a/Inst_eddies/get_1_outerm.f90
+++ b/Inst_eddies/get_1_outerm.f90
@@ -24,7 +24,9 @@ contains
     ! including the outermost contour, are in monotonic order of ssh:
     ! ascending if the extremum is a minimum, descending if the
     ! extremum is a maximum. The area is only computed for the
-    ! outermost contour.
+    ! outermost contour. On return, the array
+    ! abs(ediff1d(cont_list(:n_cont)%ssh)) is in descending
+    ! order. (See notes for a proof.)
 
     ! Method: dichotomy on level of ssh.