@@ -66,19 +66,34 @@ theorem infinite_pigeonhole_set {β α : Type u} {s : Set β} (f : s → α) (θ
6666
6767/-- A function whose codomain's cardinality is infinite but strictly smaller than its domain's
6868has a fiber with cardinality strictly great than the codomain. -/
69- theorem infinite_pigeonhole_card_lt {β α : Type u} (f : β → α) (w : #α < #β) (w' : ℵ₀ ≤ #α ) :
69+ theorem infinite_pigeonhole_card_lt {β α : Type u} (f : β → α) (h : #α < #β) (hβ : ℵ₀ ≤ #β ) :
7070 ∃ a : α, #α < #(f ⁻¹' {a}) := by
7171 simp_rw [← succ_le_iff]
72- exact infinite_pigeonhole_card f (succ #α) (succ_le_of_lt w) (w'.trans (lt_succ _).le)
73- ((lt_succ _).trans_le (isRegular_succ w').2 .ge)
72+ rcases lt_or_ge #α ℵ₀ with hα | hα
73+ · obtain ⟨a, ha⟩ := infinite_pigeonhole_card f ℵ₀ hβ le_rfl (by rwa [isRegular_aleph0.cof_eq])
74+ exact ⟨a, ha.trans' (succ_le_of_lt hα)⟩
75+ · exact infinite_pigeonhole_card f (succ #α) (succ_le_of_lt h) (hα.trans (le_succ _))
76+ ((lt_succ _).trans_le (isRegular_succ hα).2 .ge)
7477
7578/-- A function whose codomain's cardinality is infinite but strictly smaller than its domain's
7679has an infinite fiber. -/
77- theorem exists_infinite_fiber {β α : Type u} (f : β → α) (w : #α < #β) (w' : Infinite α ) :
80+ theorem exists_infinite_fiber {β α : Type u} (f : β → α) (h : #α < #β) (hβ : Infinite β ) :
7881 ∃ a : α, Infinite (f ⁻¹' {a}) := by
79- simp_rw [Cardinal.infinite_iff] at w' ⊢
80- obtain ⟨a, ha⟩ := infinite_pigeonhole_card_lt f w w'
81- exact ⟨a, w'.trans ha.le⟩
82+ simp_rw [Cardinal.infinite_iff] at hβ ⊢
83+ rcases lt_or_ge #α ℵ₀ with hα | hα
84+ · exact infinite_pigeonhole_card f ℵ₀ hβ le_rfl (by rwa [isRegular_aleph0.cof_eq])
85+ · obtain ⟨a, ha⟩ := infinite_pigeonhole_card_lt f h hβ
86+ exact ⟨a, hα.trans ha.le⟩
87+
88+ theorem exists_uncountable_fiber {β α : Type u} (f : β → α) (h : #α < #β) (hβ : Uncountable β) :
89+ ∃ a : α, Uncountable (f ⁻¹' {a}) := by
90+ simp_rw [← Cardinal.aleph0_lt_mk_iff, ← Order.succ_le_iff, succ_aleph0] at hβ ⊢
91+ rcases lt_or_ge #α ℵ₀ with hα | hα
92+ · exact infinite_pigeonhole_card f ℵ₁ hβ aleph0_lt_aleph_one.le
93+ (by rw [isRegular_aleph_one.cof_eq]; exact hα.trans aleph0_lt_aleph_one)
94+ · obtain ⟨a, ha⟩ := infinite_pigeonhole_card_lt f h (hβ.trans' aleph0_lt_aleph_one.le)
95+ rw [← Order.succ_le_succ_iff, succ_aleph0] at hα
96+ exact ⟨a, hα.trans (succ_le_of_lt ha)⟩
8297
8398/-- If an infinite type `β` can be expressed as a union of finite sets,
8499then the cardinality of the collection of those finite sets
0 commit comments