Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 5db83f9

Browse files
feat(set_theory/cardinal): add lemmas (#9697)
We add three easy lemmas about cardinals living in different universes.
1 parent 3faf0f5 commit 5db83f9

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

src/set_theory/cardinal.lean

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ quotient.sound ⟨equiv.ulift.trans $ e.trans equiv.ulift.symm⟩
113113

114114
theorem lift_mk (α) : lift.{v} (#α) = #(ulift.{v u} α) := rfl
115115

116-
theorem lift_umax : lift.{(max u v) u} = lift.{v u} :=
116+
@[simp] theorem lift_umax : lift.{(max u v) u} = lift.{v u} :=
117117
funext $ λ a, quot.induction_on a $ λ α,
118118
quotient.sound ⟨equiv.ulift.trans equiv.ulift.symm⟩
119119

@@ -237,12 +237,26 @@ instance : has_add cardinal.{u} :=
237237

238238
@[simp] theorem add_def (α β : Type u) : #α + #β = #(α ⊕ β) := rfl
239239

240+
lemma add (α : Type u) (β : Type v) :
241+
#(α ⊕ β) = lift.{v u} (#α) + lift.{u v} (#β) :=
242+
begin
243+
rw [cardinal.lift_mk, cardinal.lift_mk, add_def],
244+
exact cardinal.eq.2 ⟨equiv.sum_congr (equiv.ulift).symm (equiv.ulift).symm⟩,
245+
end
246+
240247
instance : has_mul cardinal.{u} :=
241248
⟨λq₁ q₂, quotient.lift_on₂ q₁ q₂ (λα β, #(α × β)) $ assume α β γ δ ⟨e₁⟩ ⟨e₂⟩,
242249
quotient.sound ⟨equiv.prod_congr e₁ e₂⟩⟩
243250

244251
@[simp] theorem mul_def (α β : Type u) : #α * #β = #(α × β) := rfl
245252

253+
lemma mul (α : Type u) (β : Type v) :
254+
#(α × β) = lift.{v u} (#α) * lift.{u v} (#β) :=
255+
begin
256+
rw [cardinal.lift_mk, cardinal.lift_mk, mul_def],
257+
exact cardinal.eq.2 ⟨equiv.prod_congr (equiv.ulift).symm (equiv.ulift).symm⟩,
258+
end
259+
246260
private theorem add_comm (a b : cardinal.{u}) : a + b = b + a :=
247261
quotient.induction_on₂ a b $ assume α β, quotient.sound ⟨equiv.sum_comm α β⟩
248262

@@ -520,8 +534,8 @@ quot.sound ⟨equiv.sigma_congr_right $ λ i,
520534
classical.choice $ quotient.exact $ quot.out_eq $ #(f i)⟩
521535

522536
theorem sum_const (ι : Type u) (a : cardinal.{u}) : sum (λ _:ι, a) = #ι * a :=
523-
quotient.induction_on a $ λ α, by simp; exact
524-
quotient.sound ⟨equiv.sigma_equiv_prod _ _⟩
537+
quotient.induction_on a $ λ α, by { simp only [mul_def, sum_mk, mk_def], exact
538+
quotient.sound ⟨equiv.sigma_equiv_prod _ _⟩ }
525539

526540
theorem sum_le_sum {ι} (f g : ι → cardinal) (H : ∀ i, f i ≤ g i) : sum f ≤ sum g :=
527541
⟨(embedding.refl _).sigma_map $ λ i, classical.choice $

src/set_theory/cofinality.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ theorem rel_iso.cof.aux {α : Type u} {β : Type v} {r s}
7474
cardinal.lift.{(max u v)} (order.cof s) :=
7575
begin
7676
rw [order.cof, order.cof, lift_min, lift_min, cardinal.le_min],
77-
intro S, cases S with S H, simp [(∘)],
77+
intro S, cases S with S H, simp only [comp, coe_sort_coe_base, subtype.coe_mk],
7878
refine le_trans (min_le _ _) _,
7979
{ exact ⟨f ⁻¹' S, λ a,
8080
let ⟨b, bS, h⟩ := H (f a) in ⟨f.symm b, by simp [bS, ← f.map_rel_iff, h,

0 commit comments

Comments
 (0)