@@ -15,7 +15,6 @@ Each interval has the name `I` + letter for left side + letter for right side
15
15
TODO: This is just the beginning; a lot of rules are missing
16
16
-/
17
17
import data.set.lattice algebra.order algebra.order_functions
18
- import tactic.linarith
19
18
20
19
namespace set
21
20
@@ -57,6 +56,15 @@ def Ioi (a : α) := {x | a < x}
57
56
@[simp] lemma mem_Ici : x ∈ Ici a ↔ a ≤ x := iff.rfl
58
57
@[simp] lemma mem_Ioi : x ∈ Ioi a ↔ a < x := iff.rfl
59
58
59
+ @[simp] lemma left_mem_Ioo : a ∈ Ioo a b ↔ false := ⟨λ h, lt_irrefl a h.1 , λ h, false.elim h⟩
60
+ @[simp] lemma left_mem_Ico : a ∈ Ico a b ↔ a < b := ⟨λ h, h.2 , λ h, ⟨le_refl _, h⟩⟩
61
+ @[simp] lemma left_mem_Icc : a ∈ Icc a b ↔ a ≤ b := ⟨λ h, h.2 , λ h, ⟨le_refl _, h⟩⟩
62
+ @[simp] lemma left_mem_Ioc : a ∈ Ioc a b ↔ false := ⟨λ h, lt_irrefl a h.1 , λ h, false.elim h⟩
63
+ @[simp] lemma right_mem_Ioo : b ∈ Ioo a b ↔ false := ⟨λ h, lt_irrefl b h.2 , λ h, false.elim h⟩
64
+ @[simp] lemma right_mem_Ico : b ∈ Ico a b ↔ false := ⟨λ h, lt_irrefl b h.2 , λ h, false.elim h⟩
65
+ @[simp] lemma right_mem_Icc : b ∈ Icc a b ↔ a ≤ b := ⟨λ h, h.1 , λ h, ⟨h, le_refl _⟩⟩
66
+ @[simp] lemma right_mem_Ioc : b ∈ Ioc a b ↔ a < b := ⟨λ h, h.1 , λ h, ⟨h, le_refl _⟩⟩
67
+
60
68
@[simp] lemma Ioo_eq_empty (h : b ≤ a) : Ioo a b = ∅ :=
61
69
eq_empty_iff_forall_not_mem.2 $ λ x ⟨h₁, h₂⟩, not_le_of_lt (lt_trans h₁ h₂) h
62
70
@@ -71,6 +79,7 @@ eq_empty_iff_forall_not_mem.2 $ λ x ⟨h₁, h₂⟩, not_lt_of_le (le_trans h
71
79
72
80
@[simp] lemma Ioo_self (a : α) : Ioo a a = ∅ := Ioo_eq_empty $ le_refl _
73
81
@[simp] lemma Ico_self (a : α) : Ico a a = ∅ := Ico_eq_empty $ le_refl _
82
+ @[simp] lemma Ioc_self (a : α) : Ioc a a = ∅ := Ioc_eq_empty $ le_refl _
74
83
75
84
lemma Iio_ne_empty [no_bot_order α] (a : α) : Iio a ≠ ∅ :=
76
85
ne_empty_iff_exists_mem.2 (no_bot a)
@@ -114,6 +123,16 @@ Icc_subset_Icc h (le_refl _)
114
123
lemma Icc_subset_Icc_right (h : b₁ ≤ b₂) : Icc a b₁ ⊆ Icc a b₂ :=
115
124
Icc_subset_Icc (le_refl _) h
116
125
126
+ lemma Ioc_subset_Ioc (h₁ : a₂ ≤ a₁) (h₂ : b₁ ≤ b₂) :
127
+ Ioc a₁ b₁ ⊆ Ioc a₂ b₂ :=
128
+ λ x ⟨hx₁, hx₂⟩, ⟨lt_of_le_of_lt h₁ hx₁, le_trans hx₂ h₂⟩
129
+
130
+ lemma Ioc_subset_Ioc_left (h : a₁ ≤ a₂) : Ioc a₂ b ⊆ Ioc a₁ b :=
131
+ Ioc_subset_Ioc h (le_refl _)
132
+
133
+ lemma Ioc_subset_Ioc_right (h : b₁ ≤ b₂) : Ioc a b₁ ⊆ Ioc a b₂ :=
134
+ Ioc_subset_Ioc (le_refl _) h
135
+
117
136
lemma Ico_subset_Ioo_left (h₁ : a₁ < a₂) : Ico a₂ b ⊆ Ioo a₁ b :=
118
137
λ x, and.imp_left $ lt_of_lt_of_le h₁
119
138
0 commit comments