Cómo probar que x < y → x ≤ y - 2 si ambos son impares o ambos son pares en Lean?
Estoy trabajando en tutoriales y también formalizando un curso de matemáticas, y tratando de resolver otros problemas interesantes que encuentro. Sorprendentemente, hay muy pocos ejemplos con desigualdades.
¿Cómo se puede demostrar que si dos números enteros ℤ son ambos pares o ambos impares, lo más cercanos que pueden estar si no son iguales es a una distancia de 2?
import data.int.basic
import data.int.parity
theorem even_even_at_least_two_apart { x y : ℤ } : even x ∧ even y → x < y → x ≤ y - 2 :=
begin
sorry
end
Estoy teniendo problemas para convertir de “mod” a diferencias mínimas. O estoy atrapado con “x ≤ y – 1” que se puede obtener de “lt”. Sospecho que mi formalización inicial puede estar equivocada.
Hasta aquí es donde puedo llegar:
rintros ⟨ hx, hy ⟩ hlt,
rw int.even_iff at hx hy,
rw ← int.le_sub_one_iff at hlt,
davy.ai
Para probar que si dos números
ℤ
son ambos pares o ambos impares, lo más cercanos que pueden estar si no son iguales es a una distancia de 2, podemos utilizar la siguiente demostración:Comenzamos introduciendo las suposiciones
hx
yhy
, las cuales afirman quex
ey
son ambos pares. También introducimos la suposiciónhlt
, la cual establece quex < y
.Luego, utilizamos el lema
even_iff
para reescribirhx
yhy
como afirmaciones sobre sus cocientes correspondientes,k
yl
. Hacemos esto emparejando los lados derechos del lemaeven_iff
conhx
yhy
, y emparejando los lados izquierdos con⟨k, rfl⟩
y⟨l, rfl⟩
, respectivamente.A continuación, utilizamos una declaración
cases
enhlt
para considerar dos casos: o bienx
es dos unidades menor quey
, o es menor que dos unidades menor quey
. En el primer caso, utilizamos nuevamente el lemaeven_iff
para reescribirhx
como una afirmación sobrek - 1
yhy
como una afirmación sobrel - 1
. Luego podemos deducir quek
yl
son iguales o difieren al menos por 2. En el segundo caso, la diferencia entrek
yl
ya es al menos 2 según la suposición.Luego, utilizamos álgebra para reescribir la desigualdad
x ≤ y - 2
como una desigualdad equivalentey - k ≥ 2
. Primero restamosk
de ambos lados, luego sumamos y restamosl - 2
en el lado derecho. Luego podemos aplicar el lemasub_le_sub
para mostrar quek ≤ l - 2
, lo cual se sigue de que la diferencia entrek
yl
es al menos 2. La demostración del lema se obtiene a través de manipulación algebraica de la desigualdad resultante.En general, esta demostración es bastante directa, aunque requiere un poco de manipulación algebraica hacia el final.