Construction of the hyperreal numbers as an ultraproduct of real sequences #
We define the Hyperreal numbers as quotients of sequences ℕ → ℝ by an ultrafilter. These form
a field, and we prove some of their basic properties.
Note that most of the machinery that is usually defined for the specific purpose of non-standard analysis (infinitesimal and infinite elements, standard parts) has been generalized to other non-archimedean fields. In particular:
ArchimedeanClasscan be used to measure whether an element is infinitesimal (0 < mk x) or infinite (mk x < 0).ArchimedeanClass.stdPartgeneralizes the standard part function to a general ordered field.
Todo #
Use Łoś's Theorem FirstOrder.Language.Ultraproduct.sentence_realize to formalize the transfer
principle on Hyperreal.
Hyperreal numbers on the ultrafilter extending the cofinite filter.
Instances For
Hyperreal numbers on the ultrafilter extending the cofinite filter.
Instances For
The canonical map ℝ → ℝ* as an OrderRingHom.
Instances For
Basic constants #
Construct a hyperreal number from a sequence of real numbers.
Instances For
ω #
A sample infinite hyperreal ω = ⟦(0, 1, 2, 3, ⋯)⟧.
Conventions for notations in identifiers:
- The recommended spelling of
ωin identifiers isomega.
Instances For
A sample infinite hyperreal ω = ⟦(0, 1, 2, 3, ⋯)⟧.
Conventions for notations in identifiers:
- The recommended spelling of
ωin identifiers isomega.
Instances For
ε #
A sample infinitesimal hyperreal ε = ⟦(0, 1, 1/2, 1/3, ⋯)⟧.
Conventions for notations in identifiers:
- The recommended spelling of
εin identifiers isepsilon.
Instances For
A sample infinitesimal hyperreal ε = ⟦(0, 1, 1/2, 1/3, ⋯)⟧.
Conventions for notations in identifiers:
- The recommended spelling of
εin identifiers isepsilon.
Instances For
Some facts about Tendsto #
Alias of Hyperreal.epsilon_lt_of_pos.
Standard part predicate.
Do not use. This is equivalent to the conjunction of 0 ≤ ArchimedeanClass.mk x and
ArchimedeanClass.stdPart x = r.
Instances For
Standard part function: like a "round" to ℝ instead of ℤ
Instances For
A hyperreal number is infinitesimal if its standard part is 0.
Do not use. Write 0 < ArchimedeanClass.mk x instead.
Instances For
A hyperreal number is positive infinite if it is larger than all real numbers.
Do not use. Write 0 < x ∧ ArchimedeanClass.mk x < 0 instead.
Instances For
A hyperreal number is negative infinite if it is smaller than all real numbers.
Do not use. Write x < 0 ∧ ArchimedeanClass.mk x < 0 instead.
Instances For
A hyperreal number is infinite if it is infinite positive or infinite negative.
Do not use. Write ArchimedeanClass.mk x < 0 instead.