Enderton (set). Wrap original pigeonhole expression into aux.

finite-set-exercises
Joshua Potter 2023-09-14 10:00:39 -06:00
parent 91fc8436da
commit f1a10c6877
1 changed files with 9 additions and 2 deletions

View File

@ -65,11 +65,12 @@ theorem theorem_6b (A : Set α)
have := hfa.right ⟨ha, h⟩ have := hfa.right ⟨ha, h⟩
exact absurd this h exact absurd this h
/-- #### Pigeonhole Principle /-! #### Pigeonhole Principle
No natural number is equinumerous to a proper subset of itself. No natural number is equinumerous to a proper subset of itself.
-/ -/
theorem pigeonhole_principle (n : )
lemma pigeonhole_principle_aux (n : )
: ∀ m : , m < n → : ∀ m : , m < n →
∀ f : Fin m → Fin n, Function.Injective f → ∀ f : Fin m → Fin n, Function.Injective f →
¬ Function.Surjective f := by ¬ Function.Surjective f := by
@ -318,6 +319,12 @@ theorem pigeonhole_principle (n : )
simp only [Fin.coe_eq_castSucc, Set.mem_setOf_eq] at hfa simp only [Fin.coe_eq_castSucc, Set.mem_setOf_eq] at hfa
exact absurd (hf_surj $ Fin.castSucc a) hfa exact absurd (hf_surj $ Fin.castSucc a) hfa
theorem pigeonhole_principle (m n : ) (h : m < n)
: ∀ f : Fin m → Fin n, ¬ Function.Bijective f := by
intro f nf
have := pigeonhole_principle_aux n m h f nf.left
exact absurd nf.right this
/-- #### Corollary 6C /-- #### Corollary 6C
No finite set is equinumerous to a proper subset of itself. No finite set is equinumerous to a proper subset of itself.