Analysis I, Section 8.1: Countability #
I have attempted to make the translation as faithful a paraphrasing as possible of the original text. When there is a choice between a more idiomatic Lean solution and a more faithful translation, I have generally chosen the latter. In particular, there will be places where the Lean code could be "golfed" to be more elegant and idiomatic, but I have consciously avoided doing so.
Main constructions and results of this section:
- Custom notions for "equal cardinality", "countable", and "at most countable". Note that Mathlib's
Countabletypeclass corresponds to what we call "at most countable" in this text. - Countability of the integers and rationals.
Note that as the Chapter 3 set theory has been deprecated, we will not re-use relevant constructions from that theory here, replacing them with Mathlib counterparts instead.
The definition of equal cardinality. For simplicity we restrict attention to the Type 0 universe.
This is analogous to Chapter3.SetTheory.Set.EqualCard, but we are not using the latter since
the Chapter 3 set theory is deprecated.
Equations
- Chapter8.EqualCard X Y = ∃ (f : X → Y), Function.Bijective f
Instances For
Equivalence with Mathlib's Cardinal.mk concept
Equations
Equations
Instances For
Equations
Instances For
Equivalence with Mathlib's Denumerable concept (cf. Remark 8.1.2)
Equivalence with Mathlib's Countable typeclass
Equations
- Chapter8.Nat.min X = if hX : X.Nonempty then ⋯.choose else 0
Instances For
Proposition 8.1.5
Corollary 8.1.7
Proposition 8.1.8 / Exercise 8.1.4
Corollary 8.1.9 / Exercise 8.1.5
Proposition 8.1.10 / Exercise 8.1.7
Corollary 8.1.14 / Exercise 8.1.8
Exercise 8.1.10. Note the lack of the noncomputable keyword in the abbrev.
Equations
- Chapter8.explicit_bijection = sorry