He añadido a la lista Lógica con Lean el vídeo en el que se comentan 7 pruebas en Lean de la regla de introducción de la intersección usando los estilos declarativos, aplicativos, funcional y automático.
A continuación, se muestra el vídeo
VIDEO
y el
código de la teoría utilizada
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
-- ----------------------------------------------------
-- Ej. 1. Demostrar
-- x ∈ A → x ∈ B → x ∈ A ∩ B
-- ----------------------------------------------------
import data.set
variable U : Type
variables A B : set U
variable x : U
open set
-- #reduce x ∈ A ∩ B
-- 1ª demostración
example : x ∈ A → x ∈ B → x ∈ A ∩ B :=
begin
intros h1 h2 ,
simp ,
split ,
{ exact h1 , } ,
{ exact h2 , } ,
end
-- 2ª demostración
example : x ∈ A → x ∈ B → x ∈ A ∩ B :=
begin
intros h1 h2 ,
split ,
{ exact h1 , } ,
{ exact h2 , } ,
end
-- 3ª demostración
example : x ∈ A → x ∈ B → x ∈ A ∩ B :=
assume h1 : x ∈ A ,
assume h2 : x ∈ B ,
show x ∈ A ∩ B , from and . intro h1 h2
-- 4ª demostración
example : x ∈ A → x ∈ B → x ∈ A ∩ B :=
assume h1 : x ∈ A ,
assume h2 : x ∈ B ,
show x ∈ A ∩ B , from ⟨h1 , h2 ⟩
-- 5ª demostración
example : x ∈ A → x ∈ B → x ∈ A ∩ B :=
assume h1 : x ∈ A ,
assume h2 : x ∈ B ,
⟨h1 , h2 ⟩
-- 6ª demostración
example : x ∈ A → x ∈ B → x ∈ A ∩ B :=
λ h1 h2 , ⟨h1 , h2 ⟩
-- 7ª demostración
example : x ∈ A → x ∈ B → x ∈ A ∩ B :=
-- by library_search
mem_inter