La semana en Calculemus (27 de enero de 2024)

Esta semana he publicado en Calculemus las demostraciones con Lean4 de las siguientes propiedades:

A continuación se muestran las soluciones.

1. En ℝ, x² = y² → x = y ∨ x = -y

Demostrar con Lean4 que en \(ℝ\),
\[x² = y² → x = y ∨ x = -y\]

Para ello, completar la siguiente teoría de Lean4:

1. Demostración en lenguaje natural

Usaremos los siguientes lemas
\begin{align}
&(∀ x ∈ ℝ)[x – x = 0] \tag{L1} \\
&(∀ x, y ∈ ℝ)[xy = 0 → x = 0 ∨ y = 0] \tag{L2} \\
&(∀ x, y ∈ ℝ)[x – y = 0 ↔ x = y] \tag{L3} \\
&(∀ x, y ∈ ℝ)[x + y = 0 → x = -y] \tag{L4}
\end{align}

Se tiene que
\begin{align}
(x – y)(x + y) &= x² – y² \\
&= y² – y² &&\text{[por la hipótesis]} \\
&= 0 &&\text{[por L1]}
\end{align}
y, por el lema L2, se tiene que
\[ x – y = 0 ∨ x + y = 0 \]

Acabaremos la demostración por casos.

Primer caso:
\begin{align}
x – y = 0 &⟹ x = y &&\text{[por L3]} \\
&⟹ x = y ∨ x = -y
\end{align}

Segundo caso:
\begin{align}
x + y = 0 &⟹ x = -y &&\text{[por L4]} \\
&⟹ x = y ∨ x = -y
\end{align}

2. Demostraciones con Lean4

Demostraciones interactivas

Se puede interactuar con las demostraciones anteriores en Lean 4 Web.

Referencias

3. Demostraciones con Isabelle/HOL

2. ¬¬P → P

Demostrar con Lean4 que
\[ ¬¬P → P \]

Para ello, completar la siguiente teoría de Lean4:

1. Demostración en lenguaje natural

Supongamos que
\[ ¬¬P \tag{1} \]

Por el principio del tercio excluso, se tiene
\[ P ∨ ¬P \]
lo que da lugar a dos casos.

En el primer caso, se supone \(P\) que es lo que hay que demostrar.

En el primer caso, se supone \(¬P\) que es una contradicción con (1).

2. Demostraciones con Lean4

Demostraciones interactivas

Se puede interactuar con las demostraciones anteriores en Lean 4 Web.

Referencias

3. Demostraciones con Isabelle/HOL

3. (P → Q) ↔ ¬P ∨ Q

Demostrar con Lean4 que
\[ (P → Q) ↔ ¬P ∨ Q \]

Para ello, completar la siguiente teoría de Lean4:

1. Demostración en lenguaje natural

Demostraremos cada una de las implicaciones.

(==>) Supongamos que \(P → Q\). Distinguimos dos subcasos según el valor de \(P\).

Primer subcaso: suponemos \(P\). Entonces, tenemos \(Q\) (porque \(P → Q\)) y. por tanto, \(¬P ∨ Q\).

Segundo subcaso: suponemos \(¬P\). Entonces. tenemos \(¬P ∨ Q\).

(<==) Supongamos que \(¬P ∨ Q\) y \(P\) y tenemos que demostrar \(Q\). Distinguimos dos subcasos según \(¬P ∨ Q\).

Primer subcaso: Suponemos \(¬P\). Entonces tenemos una contradicción con \(P\).

Segundo subcaso: Suponemos \(Q\), que es lo que tenemos que demostrar.

2. Demostraciones con Lean4

Demostraciones interactivas

Se puede interactuar con las demostraciones anteriores en Lean 4 Web.

Referencias

3. Demostraciones con Isabelle/HOL

4. Existen infinitos números primos

Demostrar con Lean4 que existen infinitos números primos.

Para ello, completar la siguiente teoría de Lean4:

1. Demostración en lenguaje natural

Se usarán los siguientes lemas de los números naturales, donde \(\text{Primo}(n)\) se verifica si \(n\) es primo y \(\text{minFac}(n)\) es el menor factor primo de \(n\).

\begin{align}
&n ≠ 1 → \text{Primo}(\text{minFac}(n)) \tag{L1} \\
&n! > 0 \tag{L2} \\
&0 < k → n < k + n \tag{L3} \\
&k < n → n ≠ k \tag{L4} \\
&k ≱ n → k ≤ n \tag{L5} \\
&0 < k → k ≤ n → k ∣ n! \tag{L6} \\
&0 < \text{minFac}(n) \tag{L7} \\
&k ∣ m → (k ∣ n ↔ k ∣ m + n) \tag{L8} \\
&\text{minFac}(n) ∣ n \tag{L9} \\
&\text{Primo}(n) → ¬n ∣ 1 \tag{L10}
\end{align}

Sea \(p\) el menor factor primo de \(n! + 1\). Tenemos que demostrar que \(n ≤ p\) y que \(p\) es primo.

Para demostrar que \(p\) es primo, por el lema L1, basta demostrar que
\[ n! + 1 ≠ 1 \]
Su demostración es
\begin{align}
&n ! > 0 &&\text{[por L2]} \\
&⟹ n ! + 1 > 1 &&\text{[por L3]} \\
&⟹ n ! + 1 ≠ 1 &&\text{[por L4]}
\end{align}

Para demostrar \(n ≤ p\), por el lema L5, basta demostrar que \(n ≱ p\). Su demostración es
\begin{align}
&n ≥ p \\
&⟹ p ∣ n! &&\text{[por L6 y L7]} \\
&⟹ p | 1 &&\text{[por L8 y L9]} \\
&⟹ Falso &&\text{[por L10 y \(p\) es primo]}
\end{align}

2. Demostraciones con Lean4

Demostraciones interactivas

Se puede interactuar con las demostraciones anteriores en Lean 4 Web.

5. Si n² es par, entonces n es par

Demostrar con Lean4 que si \(n²\) es par, entonces \(n\) es par.

Para ello, completar la siguiente teoría de Lean4:

1. Demostración en lenguaje natural

Se usará el siguiente lema: Si \(p\) es primo, entonces
\[ (∀ a, b ∈ ℕ)[p ∣ ab ↔ p ∣ a ∨ p ∣ b] \]

Si \(n²\) es par, entonces \(2\) divide a \(n.n\) y, por el lema, \(2\) divide a \(n\).

2. Demostraciones con Lean4

Demostraciones interactivas

Se puede interactuar con las demostraciones anteriores en Lean 4 Web.