-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathInterseccion_con_su_union.thy
67 lines (61 loc) · 1.66 KB
/
Interseccion_con_su_union.thy
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
61
62
63
64
65
66
67
(* Interseccion_con_su_union.thy
s \<inter> (s \<union> t) = s
José A. Alonso Jiménez
Sevilla, 28 de febrero de 2024
---------------------------------------------------------------------
*)
(* ---------------------------------------------------------------------
-- Demostrar que
-- s \<inter> (s \<union> t) = s
-- ------------------------------------------------------------------ *)
theory Interseccion_con_su_union
imports Main
begin
(* 1\<ordfeminine> demostración *)
lemma "s \<inter> (s \<union> t) = s"
proof (rule equalityI)
show "s \<inter> (s \<union> t) \<subseteq> s"
proof (rule subsetI)
fix x
assume "x \<in> s \<inter> (s \<union> t)"
then show "x \<in> s"
by (simp only: IntD1)
qed
next
show "s \<subseteq> s \<inter> (s \<union> t)"
proof (rule subsetI)
fix x
assume "x \<in> s"
then have "x \<in> s \<union> t"
by (simp only: UnI1)
with \<open>x \<in> s\<close> show "x \<in> s \<inter> (s \<union> t)"
by (rule IntI)
qed
qed
(* 2\<ordfeminine> demostración *)
lemma "s \<inter> (s \<union> t) = s"
proof
show "s \<inter> (s \<union> t) \<subseteq> s"
proof
fix x
assume "x \<in> s \<inter> (s \<union> t)"
then show "x \<in> s"
by simp
qed
next
show "s \<subseteq> s \<inter> (s \<union> t)"
proof
fix x
assume "x \<in> s"
then have "x \<in> s \<union> t"
by simp
then show "x \<in> s \<inter> (s \<union> t)"
using \<open>x \<in> s\<close> by simp
qed
qed
(* 3\<ordfeminine> demostración *)
lemma "s \<inter> (s \<union> t) = s"
by (fact Un_Int_eq)
(* 4\<ordfeminine> demostración *)
lemma "s \<inter> (s \<union> t) = s"
by auto