Аналіз I, Глава 5.3 #
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:
- Notion of a formal limit of a Cauchy sequence
- Construction of a real number type
Chapter5.Real
- Basic arithmetic operations and properties
A sequence starting at zero that is Cauchy, can be viewed as a Cauchy sequence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Chapter5.CauchySequence.instCoeFun = { coe := fun (a : Chapter5.CauchySequence) (n : ℕ) => Chapter5.CauchySequence.toSequence.seq ↑n }
Твердження 5.3.3 / Вправа 5.3.1
Equations
- One or more equations did not get rendered due to their size.
Instances For
It is convenient in Lean to assign the "dummy" value of 0 to LIM a
when a
is not Cauchy.
This requires Classical logic, because the property of being Cauchy is not computable or
decidable.
Equations
Instances For
Визначення 5.3.4 (Addition of reals)
Equations
- One or more equations did not get rendered due to their size.
Визначення 5.3.9 (Product of reals)
Equations
- One or more equations did not get rendered due to their size.
Equations
- Chapter5.Real.instRatCast = { ratCast := fun (q : ℚ) => ⟦Chapter5.CauchySequence.mk' ⋯⟧ }
Equations
- Chapter5.Real.instOfNat = { ofNat := ↑↑n }
Equations
- Chapter5.Real.instNatCast = { natCast := fun (n : ℕ) => ↑↑n }
Equations
- Chapter5.Real.instIntCast = { intCast := fun (n : ℤ) => ↑↑n }
Equations
- Chapter5.Real.instNeg = { neg := fun (x : Chapter5.Real) => ↑(-1) * x }
Твердження 5.3.11
Твердження 5.3.12 (laws of algebra)
Equations
- Chapter5.Real.instAddCommGroup = { toAddGroup := Chapter5.Real.addGroup_inst, add_comm := Chapter5.Real.instAddCommGroup._proof_12 }
Твердження 5.3.12 (laws of algebra)
Equations
- One or more equations did not get rendered due to their size.
Твердження 5.3.12 (laws of algebra)
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Визначення 5.3.12 (sequences bounded away from zero). Sequences are indexed to start from zero as this is more convenient for Mathlib purposes.
Instances For
This result was not explicitly stated in the text, but is needed in the theory. It's a good exercise, so I'm setting it as such.
Лема 5.3.17 (Reciprocation is well-defined)
Визначення 5.3.16 (Reciprocation of real numbers). Requires classical logic because we need to assign a "junk" value to the inverse of 0.
Equations
- Chapter5.Real.instInv = { inv := fun (x : Chapter5.Real) => if h : x ≠ 0 then Chapter5.LIM ⋯.choose⁻¹ else 0 }
Default definition of division
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.