Analysis I, Section 8.3: Uncountable sets

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:

Some non-trivial API is provided beyond what is given in the textbook in order connect these notions with existing summation notions.

namespace Chapter8

Theorem 8.3.1

theorem EqualCard.power_set_false (X:Type) : ¬ EqualCard X (Set X) := X:Type¬EqualCard X (Set X) -- This proof is written to follow the structure of the original text. X:Typethis:EqualCard X (Set X)False; X:Typef:X Set Xhf:Function.Bijective fFalse X:Typef:X Set Xhf:Function.Bijective fA:Set _fvar.7 := {x | x @_fvar.22 x}False; X:Typef:X Set Xhf:Function.Bijective fA:Set _fvar.7 := {x | x @_fvar.22 x}x:Xhx:f x = AFalse X:Typef:X Set Xhf:Function.Bijective fA:Set _fvar.7 := {x | x @_fvar.22 x}x:Xhx:f x = Ah:x AFalseX:Typef:X Set Xhf:Function.Bijective fA:Set _fvar.7 := {x | x @_fvar.22 x}x:Xhx:f x = Ah:x AFalse X:Typef:X Set Xhf:Function.Bijective fA:Set _fvar.7 := {x | x @_fvar.22 x}x:Xhx:f x = Ah:x AFalseX:Typef:X Set Xhf:Function.Bijective fA:Set _fvar.7 := {x | x @_fvar.22 x}x:Xhx:f x = Ah:x AFalse X:Typef:X Set Xhf:Function.Bijective fA:Set _fvar.7 := {x | x @_fvar.22 x}x:Xhx:f x = Ah:x Ah':?_mvar.204 := _fvar.190False X:Typef:X Set Xhf:Function.Bijective fA:Set _fvar.7 := {x | x @_fvar.22 x}x:Xhx:f x = Ah:x Ah':?_mvar.197 := _fvar.183False X:Typef:X Set Xhf:Function.Bijective fA:Set _fvar.7 := {x | x @_fvar.22 x}x:Xhx:f x = Ah:x Ah':_fvar.123 @_fvar.22 _fvar.123 := _fvar.183False; All goals completed! 🐙 X:Typef:X Set Xhf:Function.Bijective fA:Set _fvar.7 := {x | x @_fvar.22 x}x:Xhx:f x = Ah:x Ah':x f xFalse have : x A := X:Type¬EqualCard X (Set X) All goals completed! 🐙 All goals completed! 🐙
theorem Uncountable.iff (X:Type) : Uncountable X ¬ AtMostCountable X := X:TypeUncountable X ¬AtMostCountable X All goals completed! 🐙theorem Uncountable.equiv {X Y: Type} (hXY : EqualCard X Y) : Uncountable X Uncountable Y := X:TypeY:TypehXY:EqualCard X YUncountable X Uncountable Y All goals completed! 🐙

Corollary 8.3.3

theorem Uncountable.power_set_nat : Uncountable (Set ) := Uncountable (Set ) -- This proof is written to follow the structure of the original text. ¬AtMostCountable (Set ) ¬(CountablyInfinite (Set ) Finite (Set )) have : ¬ CountablyInfinite (Set ) := Uncountable (Set ) this:?_mvar.3902 := Chapter8.EqualCard.power_set_false ¬CountablyInfinite (Set ) this:CountablyInfinite (Set )EqualCard (Set ); All goals completed! 🐙 have : ¬ Finite (Set ) := Uncountable (Set ) this✝:¬Chapter8.CountablyInfinite (Set ) := ?_mvar.3896this:Finite (Set )False have : Finite ((fun x: ({x}:Set )) '' .univ) := Finite.Set.subset (s := .univ) (this✝:¬Chapter8.CountablyInfinite (Set ) := have this := Chapter8.EqualCard.power_set_false ; Mathlib.Tactic.Contrapose.mtr (Eq.mpr (id (implies_congr (Mathlib.Tactic.PushNeg.not_not_eq (Chapter8.CountablyInfinite (Set ))) (Mathlib.Tactic.PushNeg.not_not_eq (Chapter8.EqualCard (Set ))))) fun this => Chapter8.EqualCard.symm this) thisthis:Finite (Set )(fun x => {x}) '' Set.univ Set.univ All goals completed! 🐙) replace : Finite := Uncountable (Set ) this✝¹:¬Chapter8.CountablyInfinite (Set ) := ?_mvar.3896this✝:Finite (Set )this:Finite ((fun x => {x}) '' Set.univ) := Finite.Set.subset Set.univ ?_mvar.4390Set.univ.Finite this✝¹:¬Chapter8.CountablyInfinite (Set ) := ?_mvar.3896this✝:Finite (Set )this:Finite ((fun x => {x}) '' Set.univ) := Finite.Set.subset Set.univ ?_mvar.4390Finite Set.univ this✝¹:¬Chapter8.CountablyInfinite (Set ) := ?_mvar.3896this✝:Finite (Set )this:Finite ((fun x => {x}) '' Set.univ) := Finite.Set.subset Set.univ ?_mvar.4390Set.InjOn (fun x => {x}) Set.univ this✝¹:¬Chapter8.CountablyInfinite (Set ) := ?_mvar.3896this✝:Finite (Set )this:Finite ((fun x => {x}) '' Set.univ) := Finite.Set.subset Set.univ ?_mvar.4390x₁✝:a✝²:x₁✝ Set.univx₂✝:a✝¹:x₂✝ Set.univa✝:(fun x => {x}) x₁✝ = (fun x => {x}) x₂✝x₁✝ = x₂✝; All goals completed! 🐙 have hinf : ¬ Finite := Uncountable (Set ) this✝¹:¬Chapter8.CountablyInfinite (Set ) := ?_mvar.3896this✝:Finite (Set )this:Finite := ?_mvar.5522Infinite ; All goals completed! 🐙 All goals completed! 🐙 All goals completed! 🐙
open Real in /-- Corollary 8.3.4 -/ theorem Uncountable.real : Uncountable := Uncountable -- This proof is written to follow the structure of the original text. a: := fun n => 10 ^ (-n)Uncountable a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nUncountable have hsummable (A: Set ) : Summable (fun n:A a n) := Uncountable a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nA:Set Summable a a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nA:Set n:a n = (1 / 10) ^ na: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nA:Set 0 1 / 10a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nA:Set 1 / 10 < 1 a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nA:Set n:a n = (1 / 10) ^ na: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nA:Set 0 1 / 10a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nA:Set 1 / 10 < 1 try All goals completed! 🐙 a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nA:Set n:10 ^ (-n) = (1 / 10) ^ n a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nA:Set n:(10 ^ n)⁻¹ = (10 ^ n)⁻¹a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nA:Set n:0 10; a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nA:Set n:0 10; All goals completed! 🐙 have h_decomp {A B C: Set } (hC : C = A B) (hAB: n, n A B) : ∑' n:C, a n = ∑' n:A, a n + ∑' n:B, a n := Uncountable a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 AA:Set B:Set C:Set hC:C = A BhAB: (n : ), n A B∑' (n : C), a n = ∑' (x : (A B)), a xa: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 AA:Set B:Set C:Set hC:C = A BhAB: (n : ), n A BT2Space a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 AA:Set B:Set C:Set hC:C = A BhAB: (n : ), n A BContinuousAdd a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 AA:Set B:Set C:Set hC:C = A BhAB: (n : ), n A BDisjoint A Ba: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 AA:Set B:Set C:Set hC:C = A BhAB: (n : ), n A BSummable (a Subtype.val)a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 AA:Set B:Set C:Set hC:C = A BhAB: (n : ), n A BSummable (a Subtype.val) a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 AA:Set B:Set C:Set hC:C = A BhAB: (n : ), n A B∑' (n : C), a n = ∑' (x : (A B)), a xa: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 AA:Set B:Set C:Set hC:C = A BhAB: (n : ), n A BT2Space a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 AA:Set B:Set C:Set hC:C = A BhAB: (n : ), n A BContinuousAdd a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 AA:Set B:Set C:Set hC:C = A BhAB: (n : ), n A BDisjoint A Ba: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 AA:Set B:Set C:Set hC:C = A BhAB: (n : ), n A BSummable (a Subtype.val)a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 AA:Set B:Set C:Set hC:C = A BhAB: (n : ), n A BSummable (a Subtype.val) first | a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 AA:Set B:Set C:Set hC:C = A BhAB: (n : ), n A BSummable (a Subtype.val) | try All goals completed! 🐙 a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 AA:Set B:Set C:Set hC:C = A BhAB: (n : ), n A B∑' (n : C), a n = ∑' (x : (A B)), a x All goals completed! 🐙 a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 AA:Set B:Set C:Set hC:C = A BhAB: (n : ), n A BA B = ; All goals completed! 🐙 have h_nonneg (A:Set ) : ∑' n:A, a n 0 := Uncountable a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABA:Set 0 ∑' (n : A), (10 ^ n)⁻¹; All goals completed! 🐙 have h_congr {A B: Set } (hAB: A = B) : ∑' n:A, a n = ∑' n:B, a n := Uncountable All goals completed! 🐙 have : Function.Injective f := Uncountable a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f BA = B; a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bthis:A BFalse a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bthis:(symmDiff A B).NonemptyFalse a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bthis:Nat.min (symmDiff A B) symmDiff A B n symmDiff A B, Nat.min (symmDiff A B) nFalse a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.32459 _fvar.32462)this:n₀ symmDiff A B n symmDiff A B, n₀ nFalse a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.32459 _fvar.32462)this:(n₀ A n₀ B n₀ B n₀ A) (n : ), n A n B n B n A n₀ nFalse; a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.32459 _fvar.32462)h1:n₀ A n₀ B n₀ B n₀ Ah2: (n : ), n A n B n B n A n₀ nFalse a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.32459 _fvar.32462)h1:n₀ A n₀ B n₀ B n₀ Ah2: (n : ), n A n B n B n A n₀ nthis: A B : Set ⦄, f A = f B let n₀ := Nat.min (symmDiff A B); n₀ A n₀ B n₀ B n₀ A (∀ (n : ), n A n B n B n A n₀ n) n₀ A n₀ B Falseh:¬(n₀ A n₀ B)Falsea: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah2: (n : ), n A n B n B n A n₀ nh:n₀ A n₀ BFalse a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.32459 _fvar.32462)h1:n₀ A n₀ B n₀ B n₀ Ah2: (n : ), n A n B n B n A n₀ nthis: A B : Set ⦄, f A = f B let n₀ := Nat.min (symmDiff A B); n₀ A n₀ B n₀ B n₀ A (∀ (n : ), n A n B n B n A n₀ n) n₀ A n₀ B Falseh:¬(n₀ A n₀ B)False a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.32459 _fvar.32462)h2: (n : ), n A n B n B n A n₀ nthis: A B : Set ⦄, f A = f B let n₀ := Nat.min (symmDiff A B); n₀ A n₀ B n₀ B n₀ A (∀ (n : ), n A n B n B n A n₀ n) n₀ A n₀ B Falseh:¬(n₀ A n₀ B)h1:n₀ B n₀ AFalse a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.32459 _fvar.32462)h2: (n : ), n A n B n B n A n₀ nthis: A B : Set ⦄, f A = f B let n₀ := Nat.min (symmDiff A B); n₀ A n₀ B n₀ B n₀ A (∀ (n : ), n A n B n B n A n₀ n) n₀ A n₀ B Falseh:¬(n₀ A n₀ B)h1:n₀ B n₀ ANat.min (symmDiff B A) B Nat.min (symmDiff B A) A Nat.min (symmDiff B A) A Nat.min (symmDiff B A) Ba: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.32459 _fvar.32462)h2: (n : ), n A n B n B n A n₀ nthis: A B : Set ⦄, f A = f B let n₀ := Nat.min (symmDiff A B); n₀ A n₀ B n₀ B n₀ A (∀ (n : ), n A n B n B n A n₀ n) n₀ A n₀ B Falseh:¬(n₀ A n₀ B)h1:n₀ B n₀ A (n : ), n B n A n A n B Nat.min (symmDiff B A) na: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.32459 _fvar.32462)h2: (n : ), n A n B n B n A n₀ nthis: A B : Set ⦄, f A = f B let n₀ := Nat.min (symmDiff A B); n₀ A n₀ B n₀ B n₀ A (∀ (n : ), n A n B n B n A n₀ n) n₀ A n₀ B Falseh:¬(n₀ A n₀ B)h1:n₀ B n₀ ANat.min (symmDiff B A) B Nat.min (symmDiff B A) A a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.32459 _fvar.32462)h2: (n : ), n A n B n B n A n₀ nthis: A B : Set ⦄, f A = f B let n₀ := Nat.min (symmDiff A B); n₀ A n₀ B n₀ B n₀ A (∀ (n : ), n A n B n B n A n₀ n) n₀ A n₀ B Falseh:¬(n₀ A n₀ B)h1:n₀ B n₀ ANat.min (symmDiff B A) B Nat.min (symmDiff B A) A Nat.min (symmDiff B A) A Nat.min (symmDiff B A) Ba: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.32459 _fvar.32462)h2: (n : ), n A n B n B n A n₀ nthis: A B : Set ⦄, f A = f B let n₀ := Nat.min (symmDiff A B); n₀ A n₀ B n₀ B n₀ A (∀ (n : ), n A n B n B n A n₀ n) n₀ A n₀ B Falseh:¬(n₀ A n₀ B)h1:n₀ B n₀ A (n : ), n B n A n A n B Nat.min (symmDiff B A) na: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.32459 _fvar.32462)h2: (n : ), n A n B n B n A n₀ nthis: A B : Set ⦄, f A = f B let n₀ := Nat.min (symmDiff A B); n₀ A n₀ B n₀ B n₀ A (∀ (n : ), n A n B n B n A n₀ n) n₀ A n₀ B Falseh:¬(n₀ A n₀ B)h1:n₀ B n₀ ANat.min (symmDiff B A) B Nat.min (symmDiff B A) A a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.32459 _fvar.32462)h2: (n : ), n A n B n B n A n₀ nthis: A B : Set ⦄, f A = f B let n₀ := Nat.min (symmDiff A B); n₀ A n₀ B n₀ B n₀ A (∀ (n : ), n A n B n B n A n₀ n) n₀ A n₀ B Falseh:¬(n₀ A n₀ B)h1:n₀ B n₀ ANat.min (symmDiff A B) B Nat.min (symmDiff A B) A a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.32459 _fvar.32462)h2: (n : ), n A n B n B n A n₀ nthis: A B : Set ⦄, f A = f B let n₀ := Nat.min (symmDiff A B); n₀ A n₀ B n₀ B n₀ A (∀ (n : ), n A n B n B n A n₀ n) n₀ A n₀ B Falseh:¬(n₀ A n₀ B)h1:n₀ B n₀ ANat.min (symmDiff A B) B Nat.min (symmDiff A B) A Nat.min (symmDiff A B) A Nat.min (symmDiff A B) Ba: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.32459 _fvar.32462)h2: (n : ), n A n B n B n A n₀ nthis: A B : Set ⦄, f A = f B let n₀ := Nat.min (symmDiff A B); n₀ A n₀ B n₀ B n₀ A (∀ (n : ), n A n B n B n A n₀ n) n₀ A n₀ B Falseh:¬(n₀ A n₀ B)h1:n₀ B n₀ A (n : ), n B n A n A n B Nat.min (symmDiff A B) na: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => @?_mvar.11064 Ah_decomp: {A : Set } {B : Set } {C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A} {B} {C} hC hAB => @?_mvar.13645 A B C hC hABh_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => @?_mvar.18320 Ah_congr: {A : Set } {B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A} {B} hAB => @?_mvar.32425 A B hABA:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.32459 _fvar.32462)h2: (n : ), n A n B n B n A n₀ nthis: A B : Set ⦄, f A = f B let n₀ := Nat.min (symmDiff A B); n₀ A n₀ B n₀ B n₀ A (∀ (n : ), n A n B n B n A n₀ n) n₀ A n₀ B Falseh:¬(n₀ A n₀ B)h1:n₀ B n₀ ANat.min (symmDiff A B) B Nat.min (symmDiff A B) A All goals completed! 🐙 replace h2 {n:} (hn: n < n₀) : n A n B := Uncountable All goals completed! 🐙 have : (0:) > 0 := calc _ = f A - f B := a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn0 = f A - f B All goals completed! 🐙 _ = ∑' n:A, a n - ∑' n:B, a n := rfl _ = (∑' n:{n A|n n₀}, a n + ∑' n:{n A|n > n₀}, a n) - (∑' n:{n B|n n₀}, a n + ∑' n:{n B|n > n₀}, a n) := a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn∑' (n : A), a n - ∑' (n : B), a n = ∑' (n : {n | n A n n₀}), a n + ∑' (n : {n | n A n > n₀}), a n - (∑' (n : {n | n B n n₀}), a n + ∑' (n : {n | n B n > n₀}), a n) a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn∑' (n : A), a n = ∑' (n : {n | n A n n₀}), a n + ∑' (n : {n | n A n > n₀}), a na: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn∑' (n : B), a n = ∑' (n : {n | n B n n₀}), a n + ∑' (n : {n | n B n > n₀}), a n; all_goals a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn∑' (n : B), a n = ∑' (n : {n | n B n n₀}), a n + ∑' (n : {n | n B n > n₀}), a n a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hnB = {n | n B n n₀} {n | n B n > n₀}a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn (n : ), n {n | n B n n₀} {n | n B n > n₀} a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hnB = {n | n B n n₀} {n | n B n > n₀} a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hnn:n B n {n | n B n n₀} {n | n B n > n₀}; a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hnn:n B n B n n₀ n B n₀ < n; All goals completed! 🐙 a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hnn:hn:n {n | n B n n₀} {n | n B n > n₀}False; a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hnn:hn:(n B n n₀) n B n₀ < nFalse; All goals completed! 🐙 } _ = ((∑' n:{n A|n < n₀}, a n + ∑' n:{n A|n = n₀}, a n) + ∑' n:{n A|n > n₀}, a n) - ((∑' n:{n B|n < n₀}, a n + ∑' n:{n B|n = n₀}, a n) + ∑' n:{n B|n > n₀}, a n) := a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn∑' (n : {n | n A n n₀}), a n + ∑' (n : {n | n A n > n₀}), a n - (∑' (n : {n | n B n n₀}), a n + ∑' (n : {n | n B n > n₀}), a n) = ∑' (n : {n | n A n < n₀}), a n + ∑' (n : {n | n A n = n₀}), a n + ∑' (n : {n | n A n > n₀}), a n - (∑' (n : {n | n B n < n₀}), a n + ∑' (n : {n | n B n = n₀}), a n + ∑' (n : {n | n B n > n₀}), a n) a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn∑' (n : {n | n A n n₀}), a n = ∑' (n : {n | n A n < n₀}), a n + ∑' (n : {n | n A n = n₀}), a na: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn∑' (n : {n | n B n n₀}), a n = ∑' (n : {n | n B n < n₀}), a n + ∑' (n : {n | n B n = n₀}), a n; all_goals a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn∑' (n : {n | n B n n₀}), a n = ∑' (n : {n | n B n < n₀}), a n + ∑' (n : {n | n B n = n₀}), a n a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn{n | n B n n₀} = {n | n B n < n₀} {n | n B n = n₀}a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn (n : ), n {n | n B n < n₀} {n | n B n = n₀} a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn{n | n B n n₀} = {n | n B n < n₀} {n | n B n = n₀} a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hnn:n {n | n B n n₀} n {n | n B n < n₀} {n | n B n = n₀}; All goals completed! 🐙 a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hnn:hn:n {n | n B n < n₀} {n | n B n = n₀}False; a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hnn:hn:(n B n < n₀) n B n = n₀False; All goals completed! 🐙 } _ = ((∑' n:{n A|n < n₀}, a n + a n₀) + ∑' n:{n A|n > n₀}, a n) - ((∑' n:{n B|n < n₀}, a n + 0) + ∑' n:{n B|n > n₀}, a n) := a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn∑' (n : {n | n A n < n₀}), a n + ∑' (n : {n | n A n = n₀}), a n + ∑' (n : {n | n A n > n₀}), a n - (∑' (n : {n | n B n < n₀}), a n + ∑' (n : {n | n B n = n₀}), a n + ∑' (n : {n | n B n > n₀}), a n) = ∑' (n : {n | n A n < n₀}), a n + a n₀ + ∑' (n : {n | n A n > n₀}), a n - (∑' (n : {n | n B n < n₀}), a n + 0 + ∑' (n : {n | n B n > n₀}), a n) a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn∑' (n : {n | n A n = n₀}), a n = a n₀a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn∑' (n : {n | n B n = n₀}), a n = 0 a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn∑' (n : {n | n A n = n₀}), a n = a n₀ calc _ = ∑' n:({n₀}:Set ), a n := a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn∑' (n : {n | n A n = n₀}), a n = ∑' (n : {n₀}), a n a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hn{n | n A n = n₀} = {n₀}; a: := fun n => 10 ^ (-n)f:Set := fun A => ∑' (n : A), @_fvar.10315 nhsummable: (A : Set ), Summable fun n => @_fvar.10315 n := fun A => Summable.subtype (Eq.mpr (eq_of_heq ((fun α β inst inst' e'_3 inst_1 f f' e'_5 => Eq.casesOn (motive := fun a x => inst' = a e'_3 x Summable f Summable f') e'_3 (fun h => Eq.ndrec (motive := fun inst' => (e_3 : inst = inst'), e_3 Eq.refl inst Summable f Summable f') (fun e_3 h => Eq.casesOn (motive := fun a x => f' = a e'_5 x Summable f Summable f') e'_5 (fun h => Eq.ndrec (motive := fun f' => (e_5 : f = f'), e_5 Eq.refl f Summable f Summable f') (fun e_5 h => HEq.refl (Summable f)) (Eq.symm h) e'_5) (Eq.refl f') (HEq.refl e'_5)) (Eq.symm h) e'_3) (Eq.refl inst') (HEq.refl e'_3)) Real.instAddCommGroup.toAddCommMonoid Real.instAddCommMonoid (Eq.refl Real.instAddCommGroup.toAddCommMonoid) PseudoMetricSpace.toUniformSpace.toTopologicalSpace _fvar.10315 (fun n => (1 / 10) ^ n) (funext fun n => Eq.mpr (id (Eq.trans (congrArg (Eq (@_fvar.10315 n)) (Eq.trans (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))) (congrArg (fun x => x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (congrArg (fun x => @_fvar.10315 n = x ^ n) (Mathlib.Meta.NormNum.IsNNRat.to_eq (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) Nat.cast_one (Eq.refl 10))))) (id (Eq.mpr (id (congrArg (fun _a => 10 ^ (-n) = _a) (one_div_pow 10 n))) (Eq.mpr (id (congrArg (fun _a => _a = 1 / 10 ^ n) (Real.rpow_neg (Mathlib.Meta.NormNum.isNat_le_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl true)) n))) (Eq.mpr (id (congrArg (fun _a => (10 ^ n)⁻¹ = _a) (one_div (10 ^ n)))) (of_eq_true (Eq.trans (congrArg (fun x => x⁻¹ = (10 ^ n)⁻¹) (Real.rpow_natCast 10 n)) (eq_self (10 ^ n)⁻¹)))))))))) (summable_geometric_of_lt_one (Mathlib.Meta.NormNum.isRat_le_true (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10)))) (Eq.refl true)) (Mathlib.Meta.NormNum.isNNRat_lt_true (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)))) (Eq.refl (Nat.mul 1 1)) (Eq.refl 10))) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Eq.refl true)))) Ah_decomp: {A B C : Set }, C = A B (∀ (n : ), n A B) ∑' (n : C), @_fvar.10315 n = ∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n := fun {A B C} hC hAB => Eq.mpr (eq_of_heq ((fun α a a' e'_2 a_1 a'_1 e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_2 x (a = a_1) (a' = a'_1)) e'_2 (fun h => Eq.ndrec (motive := fun a' => (e_2 : a = a'), e_2 Eq.refl a (a = a_1) (a' = a'_1)) (fun e_2 h => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_3 x (a = a_1) (a = a'_1)) e'_3 (fun h => Eq.ndrec (motive := fun a' => (e_3 : a_1 = a'), e_3 Eq.refl a_1 (a = a_1) (a = a')) (fun e_3 h => HEq.refl (a = a_1)) (Eq.symm h) e'_3) (Eq.refl a'_1) (HEq.refl e'_3)) (Eq.symm h) e'_2) (Eq.refl a') (HEq.refl e'_2)) (∑' (n : C), @_fvar.10315 n) (∑' (x : (A B)), @_fvar.10315 x) (Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (x : (A B)), @_fvar.10315 x) hC)) (Eq.refl (∑' (n : (A B)), @_fvar.10315 n))) (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n) (∑' (x : A), @_fvar.10315 x + ∑' (x : B), @_fvar.10315 x) (Eq.refl (∑' (n : A), @_fvar.10315 n + ∑' (n : B), @_fvar.10315 n)))) (Summable.tsum_union_disjoint (Eq.mpr (id (congrArg (fun _a => _a) (propext Set.disjoint_iff_inter_eq_empty))) (Chapter8.Uncountable.real._proof_2 hAB)) (@_fvar.11065 A) (@_fvar.11065 B))h_nonneg: (A : Set ), ∑' (n : A), @_fvar.10315 n 0 := fun A => Eq.mpr (id (Eq.trans (congrArg (fun x => tsum x 0) (funext fun n => congrFun (funext fun n => Eq.trans (Real.rpow_neg_natCast 10 n) (Eq.trans (zpow_neg 10 n) (congrArg Inv.inv (zpow_natCast 10 n)))) n)) ge_iff_le._simp_1)) (tsum_nonneg fun n => le_of_lt (inv_pos_of_pos (pow_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 10)) (Eq.refl (Nat.ble 1 10))) n)))h_congr: {A B : Set }, A = B ∑' (n : A), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n := fun {A B} hAB => Eq.mpr (id (congrArg (fun _a => ∑' (n : _a), @_fvar.10315 n = ∑' (n : B), @_fvar.10315 n) hAB)) (Eq.refl (∑' (n : B), @_fvar.10315 n))A:Set B:Set hAB:f A = f Bn₀: := Chapter8.Nat.min (symmDiff _fvar.41696 _fvar.41697)h1:n₀ A n₀ B n₀ B n₀ Ah:n₀ A n₀ Bh2: {n : }, n < _fvar.41699 (n _fvar.41696 n _fvar.41697) := fun {n} hn => Chapter8.Uncountable.real._proof_8 _fvar.13646 _fvar.18321 _fvar.32426 _fvar.41698 _fvar.41700 _fvar.41701 _fvar.41706 hnn:n {n | n A n = n₀} n {n₀}; a: