Cauchy sequences #
A basic theory of Cauchy sequences, used in the construction of the reals and p-adic numbers. Where applicable, lemmas that will be reused in other contexts have been stated in extra generality. There are other "versions" of Cauchyness in the library, in particular Cauchy filters in topology. This is a concrete implementation that is useful for simplicity and computability reasons.
Important definitions #
IsCauSeq
: a predicate that saysf : ℕ → β
is Cauchy.CauSeq
: the type of Cauchy sequences valued in typeβ
with respect to an absolute value functionabv
.
Tags #
sequence, cauchy, abs val, absolute value
Alias of the forward direction of isCauSeq_neg
.
Alias of the reverse direction of isCauSeq_neg
.
Given a Cauchy sequence f
, create a Cauchy sequence from a sequence g
with
the same values as f
.
Equations
- f.ofEq g e = ⟨g, ⋯⟩
Instances For
The constant Cauchy sequence.
Equations
- CauSeq.const abv x = ⟨fun (x_1 : ℕ) => x, ⋯⟩
Instances For
Equations
- CauSeq.instZero = { zero := CauSeq.const abv 0 }
Equations
- CauSeq.instOne = { one := CauSeq.const abv 1 }
Equations
- CauSeq.instInhabited = { default := 0 }
Equations
- CauSeq.addGroup = Function.Injective.addGroup Subtype.val ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- CauSeq.instNatCast = { natCast := fun (n : ℕ) => CauSeq.const abv ↑n }
Equations
- CauSeq.instIntCast = { intCast := fun (n : ℤ) => CauSeq.const abv ↑n }
Equations
- CauSeq.addGroupWithOne = Function.Injective.addGroupWithOne Subtype.val ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- CauSeq.ring = Function.Injective.ring Subtype.val ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- CauSeq.instCommRingOfIsAbsoluteValue = CommRing.mk ⋯
Given a Cauchy sequence f
with nonzero limit, create a Cauchy sequence with values equal to
the inverses of the values of f
.
Instances For
The entries of a positive Cauchy sequence eventually have a positive lower bound.
Instances For
Equations
- CauSeq.instPreorderAbs = Preorder.mk ⋯ ⋯ ⋯
Note that DistribLattice (CauSeq α abs)
is not true because there is no PartialOrder
.