Cauchy completion #
This file generalizes the Cauchy completion of (ℚ, abs) to the completion of a commutative ring
with absolute value.
    
def
cau_seq.completion.Cauchy
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv] :
Type u_2
The Cauchy completion of a commutative ring with absolute value.
Equations
Instances for cau_seq.completion.Cauchy
        
        - cau_seq.completion.Cauchy.has_zero
- cau_seq.completion.Cauchy.has_one
- cau_seq.completion.Cauchy.inhabited
- cau_seq.completion.Cauchy.has_add
- cau_seq.completion.Cauchy.has_neg
- cau_seq.completion.Cauchy.has_mul
- cau_seq.completion.Cauchy.has_sub
- cau_seq.completion.Cauchy.add_group
- cau_seq.completion.Cauchy.add_group_with_one
- cau_seq.completion.Cauchy.comm_ring
- cau_seq.completion.Cauchy.ring
- cau_seq.completion.Cauchy.has_rat_cast
- cau_seq.completion.Cauchy.has_inv
- cau_seq.completion.Cauchy.field
- cau_seq.completion.Cauchy.has_repr
    
def
cau_seq.completion.mk
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv] :
cau_seq β abv → cau_seq.completion.Cauchy
The map from Cauchy sequences into the Cauchy completion.
Equations
@[simp]
    
theorem
cau_seq.completion.mk_eq_mk
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv]
    (f : cau_seq β abv) :
    
theorem
cau_seq.completion.mk_eq
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv]
    {f g : cau_seq β abv} :
cau_seq.completion.mk f = cau_seq.completion.mk g ↔ f ≈ g
    
def
cau_seq.completion.of_rat
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv]
    (x : β) :
The map from the original ring into the Cauchy completion.
Equations
@[protected, instance]
    
def
cau_seq.completion.Cauchy.has_zero
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv] :
    Equations
@[protected, instance]
    
def
cau_seq.completion.Cauchy.has_one
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv] :
    Equations
@[protected, instance]
    
def
cau_seq.completion.Cauchy.inhabited
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv] :
    Equations
    
theorem
cau_seq.completion.of_rat_zero
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv] :
    
theorem
cau_seq.completion.of_rat_one
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv] :
@[simp]
    
theorem
cau_seq.completion.mk_eq_zero
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv]
    {f : cau_seq β abv} :
cau_seq.completion.mk f = 0 ↔ f.lim_zero
@[protected, instance]
    
def
cau_seq.completion.Cauchy.has_add
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv] :
    Equations
- cau_seq.completion.Cauchy.has_add = {add := λ (x y : cau_seq.completion.Cauchy), quotient.lift_on₂ x y (λ (f g : cau_seq β abv), cau_seq.completion.mk (f + g)) cau_seq.completion.Cauchy.has_add._proof_1}
@[simp]
    
theorem
cau_seq.completion.mk_add
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv]
    (f g : cau_seq β abv) :
@[protected, instance]
    
def
cau_seq.completion.Cauchy.has_neg
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv] :
    Equations
- cau_seq.completion.Cauchy.has_neg = {neg := λ (x : cau_seq.completion.Cauchy), quotient.lift_on x (λ (f : cau_seq β abv), cau_seq.completion.mk (-f)) cau_seq.completion.Cauchy.has_neg._proof_1}
@[simp]
    
theorem
cau_seq.completion.mk_neg
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv]
    (f : cau_seq β abv) :
@[protected, instance]
    
def
cau_seq.completion.Cauchy.has_mul
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv] :
    Equations
- cau_seq.completion.Cauchy.has_mul = {mul := λ (x y : cau_seq.completion.Cauchy), quotient.lift_on₂ x y (λ (f g : cau_seq β abv), cau_seq.completion.mk (f * g)) cau_seq.completion.Cauchy.has_mul._proof_1}
@[simp]
    
theorem
cau_seq.completion.mk_mul
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv]
    (f g : cau_seq β abv) :
@[protected, instance]
    
def
cau_seq.completion.Cauchy.has_sub
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv] :
    Equations
- cau_seq.completion.Cauchy.has_sub = {sub := λ (x y : cau_seq.completion.Cauchy), quotient.lift_on₂ x y (λ (f g : cau_seq β abv), cau_seq.completion.mk (f - g)) cau_seq.completion.Cauchy.has_sub._proof_1}
@[simp]
    
theorem
cau_seq.completion.mk_sub
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv]
    (f g : cau_seq β abv) :
    
theorem
cau_seq.completion.of_rat_add
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv]
    (x y : β) :
    
theorem
cau_seq.completion.of_rat_neg
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv]
    (x : β) :
    
theorem
cau_seq.completion.of_rat_mul
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv]
    (x y : β) :
@[protected, instance]
    
def
cau_seq.completion.Cauchy.add_group
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv] :
    Equations
- cau_seq.completion.Cauchy.add_group = {add := has_add.add cau_seq.completion.Cauchy.has_add, add_assoc := _, zero := 0, zero_add := _, add_zero := _, nsmul := nsmul_rec cau_seq.completion.Cauchy.has_add, nsmul_zero' := _, nsmul_succ' := _, neg := has_neg.neg cau_seq.completion.Cauchy.has_neg, sub := has_sub.sub cau_seq.completion.Cauchy.has_sub, sub_eq_add_neg := _, zsmul := zsmul_rec cau_seq.completion.Cauchy.has_neg, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _}
@[protected, instance]
    
def
cau_seq.completion.Cauchy.add_group_with_one
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv] :
    Equations
- cau_seq.completion.Cauchy.add_group_with_one = {int_cast := λ (n : ℤ), cau_seq.completion.mk ↑n, add := add_group.add cau_seq.completion.Cauchy.add_group, add_assoc := _, zero := add_group.zero cau_seq.completion.Cauchy.add_group, zero_add := _, add_zero := _, nsmul := add_group.nsmul cau_seq.completion.Cauchy.add_group, nsmul_zero' := _, nsmul_succ' := _, neg := add_group.neg cau_seq.completion.Cauchy.add_group, sub := add_group.sub cau_seq.completion.Cauchy.add_group, sub_eq_add_neg := _, zsmul := add_group.zsmul cau_seq.completion.Cauchy.add_group, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, nat_cast := λ (n : ℕ), cau_seq.completion.mk ↑n, one := 1, nat_cast_zero := _, nat_cast_succ := _, int_cast_of_nat := _, int_cast_neg_succ_of_nat := _}
@[simp]
    
theorem
cau_seq.completion.of_rat_nat_cast
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv]
    (n : ℕ) :
@[simp]
    
theorem
cau_seq.completion.of_rat_int_cast
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv]
    (z : ℤ) :
@[protected, instance]
    
def
cau_seq.completion.Cauchy.comm_ring
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv] :
    Equations
- cau_seq.completion.Cauchy.comm_ring = {add := has_add.add cau_seq.completion.Cauchy.has_add, add_assoc := _, zero := 0, zero_add := _, add_zero := _, nsmul := add_group_with_one.nsmul cau_seq.completion.Cauchy.add_group_with_one, nsmul_zero' := _, nsmul_succ' := _, neg := add_group_with_one.neg cau_seq.completion.Cauchy.add_group_with_one, sub := add_group_with_one.sub cau_seq.completion.Cauchy.add_group_with_one, sub_eq_add_neg := _, zsmul := add_group_with_one.zsmul cau_seq.completion.Cauchy.add_group_with_one, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, int_cast := add_group_with_one.int_cast cau_seq.completion.Cauchy.add_group_with_one, nat_cast := add_group_with_one.nat_cast cau_seq.completion.Cauchy.add_group_with_one, one := 1, nat_cast_zero := _, nat_cast_succ := _, int_cast_of_nat := _, int_cast_neg_succ_of_nat := _, mul := has_mul.mul cau_seq.completion.Cauchy.has_mul, mul_assoc := _, one_mul := _, mul_one := _, npow := npow_rec cau_seq.completion.Cauchy.has_mul, npow_zero' := _, npow_succ' := _, left_distrib := _, right_distrib := _, mul_comm := _}
@[protected, instance]
    
def
cau_seq.completion.Cauchy.ring
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv] :
    
    
def
cau_seq.completion.of_rat_ring_hom
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv] :
cau_seq.completion.of_rat as a ring_hom
Equations
- cau_seq.completion.of_rat_ring_hom = {to_fun := cau_seq.completion.of_rat _inst_3, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _}
@[simp]
    
theorem
cau_seq.completion.of_rat_ring_hom_apply
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv]
    (x : β) :
    
theorem
cau_seq.completion.of_rat_sub
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [comm_ring β]
    {abv : β → α}
    [is_absolute_value abv]
    (x y : β) :
@[protected, instance]
    
def
cau_seq.completion.Cauchy.has_rat_cast
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [field β]
    {abv : β → α}
    [is_absolute_value abv] :
    Equations
- cau_seq.completion.Cauchy.has_rat_cast = {rat_cast := λ (q : ℚ), cau_seq.completion.of_rat ↑q}
@[simp]
    
theorem
cau_seq.completion.of_rat_rat_cast
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [field β]
    {abv : β → α}
    [is_absolute_value abv]
    (q : ℚ) :
@[protected, instance]
    
noncomputable
def
cau_seq.completion.Cauchy.has_inv
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [field β]
    {abv : β → α}
    [is_absolute_value abv] :
    Equations
- cau_seq.completion.Cauchy.has_inv = {inv := λ (x : cau_seq.completion.Cauchy), quotient.lift_on x (λ (f : cau_seq β abv), cau_seq.completion.mk (dite f.lim_zero (λ (h : f.lim_zero), 0) (λ (h : ¬f.lim_zero), f.inv h))) cau_seq.completion.Cauchy.has_inv._proof_1}
@[simp]
    
theorem
cau_seq.completion.inv_zero
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [field β]
    {abv : β → α}
    [is_absolute_value abv] :
@[simp]
    
theorem
cau_seq.completion.inv_mk
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [field β]
    {abv : β → α}
    [is_absolute_value abv]
    {f : cau_seq β abv}
    (hf : ¬f.lim_zero) :
(cau_seq.completion.mk f)⁻¹ = cau_seq.completion.mk (f.inv hf)
    
theorem
cau_seq.completion.cau_seq_zero_ne_one
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [field β]
    {abv : β → α}
    [is_absolute_value abv] :
    
theorem
cau_seq.completion.zero_ne_one
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [field β]
    {abv : β → α}
    [is_absolute_value abv] :
0 ≠ 1
@[protected]
    
theorem
cau_seq.completion.inv_mul_cancel
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [field β]
    {abv : β → α}
    [is_absolute_value abv]
    {x : cau_seq.completion.Cauchy} :
    
theorem
cau_seq.completion.of_rat_inv
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [field β]
    {abv : β → α}
    [is_absolute_value abv]
    (x : β) :
@[protected, instance]
    
noncomputable
def
cau_seq.completion.Cauchy.field
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [field β]
    {abv : β → α}
    [is_absolute_value abv] :
The Cauchy completion forms a field.
Equations
- cau_seq.completion.Cauchy.field = {add := comm_ring.add cau_seq.completion.Cauchy.comm_ring, add_assoc := _, zero := comm_ring.zero cau_seq.completion.Cauchy.comm_ring, zero_add := _, add_zero := _, nsmul := comm_ring.nsmul cau_seq.completion.Cauchy.comm_ring, nsmul_zero' := _, nsmul_succ' := _, neg := comm_ring.neg cau_seq.completion.Cauchy.comm_ring, sub := comm_ring.sub cau_seq.completion.Cauchy.comm_ring, sub_eq_add_neg := _, zsmul := comm_ring.zsmul cau_seq.completion.Cauchy.comm_ring, zsmul_zero' := _, zsmul_succ' := _, zsmul_neg' := _, add_left_neg := _, add_comm := _, int_cast := comm_ring.int_cast cau_seq.completion.Cauchy.comm_ring, nat_cast := comm_ring.nat_cast cau_seq.completion.Cauchy.comm_ring, one := comm_ring.one cau_seq.completion.Cauchy.comm_ring, nat_cast_zero := _, nat_cast_succ := _, int_cast_of_nat := _, int_cast_neg_succ_of_nat := _, mul := comm_ring.mul cau_seq.completion.Cauchy.comm_ring, mul_assoc := _, one_mul := _, mul_one := _, npow := comm_ring.npow cau_seq.completion.Cauchy.comm_ring, npow_zero' := _, npow_succ' := _, left_distrib := _, right_distrib := _, mul_comm := _, inv := has_inv.inv cau_seq.completion.Cauchy.has_inv, div := division_ring.div._default comm_ring.mul cau_seq.completion.Cauchy.field._proof_24 comm_ring.one cau_seq.completion.Cauchy.field._proof_25 cau_seq.completion.Cauchy.field._proof_26 comm_ring.npow cau_seq.completion.Cauchy.field._proof_27 cau_seq.completion.Cauchy.field._proof_28 has_inv.inv, div_eq_mul_inv := _, zpow := division_ring.zpow._default comm_ring.mul cau_seq.completion.Cauchy.field._proof_30 comm_ring.one cau_seq.completion.Cauchy.field._proof_31 cau_seq.completion.Cauchy.field._proof_32 comm_ring.npow cau_seq.completion.Cauchy.field._proof_33 cau_seq.completion.Cauchy.field._proof_34 has_inv.inv, zpow_zero' := _, zpow_succ' := _, zpow_neg' := _, exists_pair_ne := _, rat_cast := λ (q : ℚ), cau_seq.completion.of_rat ↑q, mul_inv_cancel := _, inv_zero := _, rat_cast_mk := _, qsmul := division_ring.qsmul._default (λ (q : ℚ), cau_seq.completion.of_rat ↑q) comm_ring.add cau_seq.completion.Cauchy.field._proof_41 comm_ring.zero cau_seq.completion.Cauchy.field._proof_42 cau_seq.completion.Cauchy.field._proof_43 comm_ring.nsmul cau_seq.completion.Cauchy.field._proof_44 cau_seq.completion.Cauchy.field._proof_45 comm_ring.neg comm_ring.sub cau_seq.completion.Cauchy.field._proof_46 comm_ring.zsmul cau_seq.completion.Cauchy.field._proof_47 cau_seq.completion.Cauchy.field._proof_48 cau_seq.completion.Cauchy.field._proof_49 cau_seq.completion.Cauchy.field._proof_50 cau_seq.completion.Cauchy.field._proof_51 comm_ring.int_cast comm_ring.nat_cast comm_ring.one cau_seq.completion.Cauchy.field._proof_52 cau_seq.completion.Cauchy.field._proof_53 cau_seq.completion.Cauchy.field._proof_54 cau_seq.completion.Cauchy.field._proof_55 comm_ring.mul cau_seq.completion.Cauchy.field._proof_56 cau_seq.completion.Cauchy.field._proof_57 cau_seq.completion.Cauchy.field._proof_58 comm_ring.npow cau_seq.completion.Cauchy.field._proof_59 cau_seq.completion.Cauchy.field._proof_60 cau_seq.completion.Cauchy.field._proof_61 cau_seq.completion.Cauchy.field._proof_62, qsmul_eq_mul' := _}
    
theorem
cau_seq.completion.of_rat_div
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [field β]
    {abv : β → α}
    [is_absolute_value abv]
    (x y : β) :
@[class]
    
structure
cau_seq.is_complete
    {α : Type u_1}
    [linear_ordered_field α]
    (β : Type u_2)
    [ring β]
    (abv : β → α)
    [is_absolute_value abv] :
    Prop
- is_complete : ∀ (s : cau_seq β abv), ∃ (b : β), s ≈ cau_seq.const abv b
A class stating that a ring with an absolute value is complete, i.e. every Cauchy sequence has a limit.
Instances of this typeclass
    
theorem
cau_seq.complete
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [ring β]
    {abv : β → α}
    [is_absolute_value abv]
    [cau_seq.is_complete β abv]
    (s : cau_seq β abv) :
∃ (b : β), s ≈ cau_seq.const abv b
    
noncomputable
def
cau_seq.lim
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [ring β]
    {abv : β → α}
    [is_absolute_value abv]
    [cau_seq.is_complete β abv]
    (s : cau_seq β abv) :
β
The limit of a Cauchy sequence in a complete ring. Chosen non-computably.
Equations
- s.lim = classical.some _
    
theorem
cau_seq.equiv_lim
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [ring β]
    {abv : β → α}
    [is_absolute_value abv]
    [cau_seq.is_complete β abv]
    (s : cau_seq β abv) :
s ≈ cau_seq.const abv s.lim
    
theorem
cau_seq.eq_lim_of_const_equiv
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [ring β]
    {abv : β → α}
    [is_absolute_value abv]
    [cau_seq.is_complete β abv]
    {f : cau_seq β abv}
    {x : β}
    (h : cau_seq.const abv x ≈ f) :
    
theorem
cau_seq.lim_eq_of_equiv_const
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [ring β]
    {abv : β → α}
    [is_absolute_value abv]
    [cau_seq.is_complete β abv]
    {f : cau_seq β abv}
    {x : β}
    (h : f ≈ cau_seq.const abv x) :
    
theorem
cau_seq.lim_eq_lim_of_equiv
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [ring β]
    {abv : β → α}
    [is_absolute_value abv]
    [cau_seq.is_complete β abv]
    {f g : cau_seq β abv}
    (h : f ≈ g) :
@[simp]
    
theorem
cau_seq.lim_const
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [ring β]
    {abv : β → α}
    [is_absolute_value abv]
    [cau_seq.is_complete β abv]
    (x : β) :
(cau_seq.const abv x).lim = x
    
theorem
cau_seq.lim_add
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [ring β]
    {abv : β → α}
    [is_absolute_value abv]
    [cau_seq.is_complete β abv]
    (f g : cau_seq β abv) :
    
theorem
cau_seq.lim_mul_lim
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [ring β]
    {abv : β → α}
    [is_absolute_value abv]
    [cau_seq.is_complete β abv]
    (f g : cau_seq β abv) :
    
theorem
cau_seq.lim_mul
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [ring β]
    {abv : β → α}
    [is_absolute_value abv]
    [cau_seq.is_complete β abv]
    (f : cau_seq β abv)
    (x : β) :
    
theorem
cau_seq.lim_neg
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [ring β]
    {abv : β → α}
    [is_absolute_value abv]
    [cau_seq.is_complete β abv]
    (f : cau_seq β abv) :
    
theorem
cau_seq.lim_eq_zero_iff
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [ring β]
    {abv : β → α}
    [is_absolute_value abv]
    [cau_seq.is_complete β abv]
    (f : cau_seq β abv) :
    
theorem
cau_seq.lim_inv
    {α : Type u_1}
    [linear_ordered_field α]
    {β : Type u_2}
    [field β]
    {abv : β → α}
    [is_absolute_value abv]
    [cau_seq.is_complete β abv]
    {f : cau_seq β abv}
    (hf : ¬f.lim_zero) :
    
theorem
cau_seq.lim_le
    {α : Type u_1}
    [linear_ordered_field α]
    [cau_seq.is_complete α has_abs.abs]
    {f : cau_seq α has_abs.abs}
    {x : α}
    (h : f ≤ cau_seq.const has_abs.abs x) :
    
theorem
cau_seq.le_lim
    {α : Type u_1}
    [linear_ordered_field α]
    [cau_seq.is_complete α has_abs.abs]
    {f : cau_seq α has_abs.abs}
    {x : α}
    (h : cau_seq.const has_abs.abs x ≤ f) :
    
theorem
cau_seq.lt_lim
    {α : Type u_1}
    [linear_ordered_field α]
    [cau_seq.is_complete α has_abs.abs]
    {f : cau_seq α has_abs.abs}
    {x : α}
    (h : cau_seq.const has_abs.abs x < f) :
    
theorem
cau_seq.lim_lt
    {α : Type u_1}
    [linear_ordered_field α]
    [cau_seq.is_complete α has_abs.abs]
    {f : cau_seq α has_abs.abs}
    {x : α}
    (h : f < cau_seq.const has_abs.abs x) :