Demostrar con Lean4 que si r⊆s y s⊆t, entonces r⊆t.
Para ello, completar la siguiente teoría de Lean4:
|
import Mathlib.Tactic open Set variable {α : Type _} variable (r s t : Set α) example (rs : r ⊆ s) (st : s ⊆ t) : r ⊆ t := by sorry |
Demostración en lenguaje natural
1ª demostración en LN
Tenemos que demostrar que
(∀x)[x∈r→x∈t]
Sea
x tal que
x∈r
Puesto que
r⊆s, se tiene que
x∈s
y, puesto que \(s ⊆ t), se tiene que
x∈t
que es lo que teníamos que demostrar.
2ª demostración en LN
Tenemos que demostrar que
(∀x)[x∈r→x∈t]
Sea
x tal que
x∈r
Tenemos que demostrar que
x∈t
que, puesto que
s⊆t, se reduce a
x∈s
que, puesto que
r⊆s, se redece a
x∈r
que es lo que hemos supuesto.
Demostraciones con Lean4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
import Mathlib.Tactic open Set variable {α : Type _} variable (r s t : Set α) -- 1ª demostración example (rs : r ⊆ s) (st : s ⊆ t) : r ⊆ t := by intros x xr -- xr : x ∈ r have xs : x ∈ s := rs xr show x ∈ t exact st xs -- 2ª demostración example (rs : r ⊆ s) (st : s ⊆ t) : r ⊆ t := by intros x xr -- x : α -- xr : x ∈ r apply st -- ⊢ x ∈ s apply rs -- ⊢ x ∈ r exact xr -- 3ª demostración example (rs : r ⊆ s) (st : s ⊆ t) : r ⊆ t := fun _ xr ↦ st (rs xr) -- 4ª demostración example (rs : r ⊆ s) (st : s ⊆ t) : r ⊆ t := -- by exact? Subset.trans rs st -- 5ª demostración example (rs : r ⊆ s) (st : s ⊆ t) : r ⊆ t := by tauto -- Lemas usados -- ============ -- #check (Subset.trans : r ⊆ s → s ⊆ t → r ⊆ t) |
Demostraciones interactivas
Se puede interactuar con las demostraciones anteriores en Lean 4 Web.
Referencias