Аналіз I, Глава 3.6 #
Я (пр.перекл. Терренс Тао) намагався зробити переклад якомога точнішим перефразуванням оригінального тексту. Коли є вибір між більш ідіоматичним рішенням Lean та більш точним перекладом, я зазвичай обирав останній. Зокрема, будуть місця, де код Lean можна було б "підбуцнути", щоб зробити його більш елегантним та ідіоматичним, але я свідомо уникав цього вибору.
Основні конструкції та результати цього розділу:
- Потужність множини
- Скінченні та нескінченні множини
- Зв'язки з Mathlib-івськіми еквівалентами
Після цього розділу ці нотації будуть вважатися застарілими на користь їхніх еквівалентів із Mathlib.
@[reducible, inline]
Визначення 3.6.1 (Рівна потужність)
Equations
- X.equal_card Y = ∃ (f : X.toSubtype → Y.toSubtype), Function.Bijective f
Instances For
Твердження 3.6.4 / Вправа 3.6.1
Equations
- Chapter3.SetTheory.Set.inst_setoid = { r := Chapter3.SetTheory.Set.equal_card, iseqv := ⋯ }
@[reducible, inline]
Визначення 3.6.5
Equations
- X.has_card n = (X ≈ Chapter3.SetTheory.Set.Fin n)
Instances For
@[reducible, inline]
Для цілей Lean зручно надавати нескінченним множинам сміттєву
потужність як нуль.
Equations
- X.card = if h : X.finite then Exists.choose h else 0
Instances For
theorem
Chapter3.SetTheory.Set.prod_equal_card_prod
[SetTheory]
(A B : Set)
:
(A ×ˢ B).equal_card (B ×ˢ A)
Вправа 3.6.5
theorem
Chapter3.SetTheory.Set.pow_pow_equal_card_pow_prod
[SetTheory]
(A B C : Set)
:
((A ^ B) ^ C).equal_card (A ^ B ×ˢ C)
Вправа 3.6.6
theorem
Chapter3.SetTheory.Set.surjection_from_injection
[SetTheory]
{A B : Set}
(hA : A ≠ ∅)
(f : A.toSubtype → B.toSubtype)
(hf : Function.Injective f)
:
∃ (g : B.toSubtype → A.toSubtype), Function.Surjective g
Вправа 3.6.8