Analysis I, Section 7.3: Sums of non-negative numbers
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:
-
Equivalent characterizations of convergence of nonnegative series.
-
Cauchy condensation test.
namespace Chapter7open Realabbrev Series.nonneg (s: Series) : Prop := β n, s.seq n β₯ 0abbrev Series.partial_of_nonneg {s: Series} (h: s.nonneg) : Monotone s.partial := s:Seriesh:s.nonnegβ’ Monotone s.partial All goals completed! πProposition 7.3.1
theorem Series.converges_of_nonneg_iff {s: Series} (h: s.nonneg) : s.converges β β M, β N, s.partial N β€ M := s:Seriesh:s.nonnegβ’ s.converges β β M, β (N : β€), s.partial N β€ M
-- This broadly follows the argument in the text, though for one direction I choose to use Mathlib routines rather than Chapter6 results.
s:Seriesh:s.nonnegβ’ s.converges β β M, β (N : β€), s.partial N β€ Ms:Seriesh:s.nonnegβ’ (β M, β (N : β€), s.partial N β€ M) β s.converges
s:Seriesh:s.nonnegβ’ s.converges β β M, β (N : β€), s.partial N β€ M s:Seriesh:s.nonneghconv:s.convergesβ’ β M, β (N : β€), s.partial N β€ M
set S : Chapter6.Sequence := β¨ s.m, s.partial, s:Seriesh:s.nonneghconv:s.convergesβ’ β n < s.m, s.partial n = 0 s:Seriesh:s.nonneghconv:s.convergesn:β€hn:n < s.mβ’ s.partial n = 0; All goals completed! π β©
have : S.IsBounded := s:Seriesh:s.nonnegβ’ s.converges β β M, β (N : β€), s.partial N β€ M
s:Seriesh:s.nonneghconv:s.convergesS:Chapter6.Sequence := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)β’ S.Convergent
s:Seriesh:s.nonneghconv:s.convergesS:Chapter6.Sequence := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)β’ β L, Filter.Tendsto S.seq Filter.atTop (nhds L)
All goals completed! π
s:Seriesh:s.nonneghconv:s.convergesS:Chapter6.Sequence := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)M:βhpos:M β₯ 0hM:S.BoundedBy Mβ’ β M, β (N : β€), s.partial N β€ M
s:Seriesh:s.nonneghconv:s.convergesS:Chapter6.Sequence := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)M:βhpos:M β₯ 0hM:S.BoundedBy Mβ’ β (N : β€), s.partial N β€ M; s:Seriesh:s.nonneghconv:s.convergesS:Chapter6.Sequence := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)M:βhpos:M β₯ 0hMβ:S.BoundedBy MN:β€hM:|S.seq N| β€ Mβ’ s.partial N β€ M
All goals completed! π
s:Seriesh:s.nonneghbound:β M, β (N : β€), s.partial N β€ Mβ’ s.converges
s:Seriesh:s.nonneghbound:β M, β (N : β€), s.partial N β€ Mhinfin:Filter.Tendsto s.partial Filter.atTop Filter.atTopβ’ s.convergess:Seriesh:s.nonneghbound:β M, β (N : β€), s.partial N β€ Mhfin:β l, Filter.Tendsto s.partial Filter.atTop (nhds l)β’ s.converges
s:Seriesh:s.nonneghbound:β M, β (N : β€), s.partial N β€ Mhinfin:Filter.Tendsto s.partial Filter.atTop Filter.atTopβ’ s.converges s:Seriesh:s.nonneghinfin:Filter.Tendsto s.partial Filter.atTop Filter.atTopM:βhM:β (N : β€), s.partial N β€ Mβ’ s.converges
s:Seriesh:s.nonneghinfin:Filter.Tendsto s.partial Filter.atTop Filter.atTopM:βhM:β (N : β€), s.partial N β€ MN:β€hN:M < s.partial Nβ’ s.converges
All goals completed! π
All goals completed! πtheorem Series.sum_of_nonneg_lt {s: Series} (h: s.nonneg) {M:β} (hM: β N, s.partial N β€ M) : s.sum β€ M := s:Seriesh:s.nonnegM:βhM:β (N : β€), s.partial N β€ Mβ’ s.sum β€ M
have : β M, β N, s.partial N β€ M := s:Seriesh:s.nonnegM:βhM:β (N : β€), s.partial N β€ Mβ’ s.sum β€ M All goals completed! π
s:Seriesh:s.nonnegM:βhM:β (N : β€), s.partial N β€ Mthis:s.convergesβ’ s.sum β€ M; s:Seriesh:s.nonnegM:βhM:β (N : β€), s.partial N β€ Mthis:s.convergesβ’ Exists.choose β― β€ M
s:Seriesh:s.nonnegM:βhM:β (N : β€), s.partial N β€ Mthis:s.convergeshconv:?_mvar.6536 := Exists.choose_spec _fvar.5634β’ Exists.choose β― β€ M; s:Seriesh:s.nonnegM:βhM:β (N : β€), s.partial N β€ Mthis:s.convergeshconv:Filter.Tendsto (Chapter7.Series.partial _fvar.5571) Filter.atTop (nhds (Exists.choose _fvar.5634)) := Exists.choose_spec _fvar.5634β’ Exists.choose β― β€ M; All goals completed! πtheorem Series.partial_le_sum_of_nonneg {s: Series} (hnon: s.nonneg) (hconv: s.converges) (N : β€) :
s.partial N β€ s.sum := s:Serieshnon:s.nonneghconv:s.convergesN:β€β’ s.partial N β€ s.sum
s:Serieshnon:s.nonneghconv:s.convergesN:β€β’ Filter.Tendsto s.partial Filter.atTop (nhds s.sum)
s:Serieshnon:s.nonneghconv:s.convergesN:β€β’ Filter.Tendsto s.partial Filter.atTop (nhds (Exists.choose β―)); All goals completed! πSome useful nonnegativity lemmas for later applications.
theorem Series.partial_nonneg {s: Series} (hnon: s.nonneg) (N : β€) : 0 β€ s.partial N := s:Serieshnon:s.nonnegN:β€β’ 0 β€ s.partial N
s:Serieshnon:s.nonnegN:β€β’ 0 β€ β n β Finset.Icc s.m N, s.seq n; s:Serieshnon:s.nonnegN:β€β’ β i β Finset.Icc s.m N, 0 β€ s.seq i; All goals completed! πtheorem Series.sum_of_nonneg {s:Series} (hnon: s.nonneg) : 0 β€ s.sum := s:Serieshnon:s.nonnegβ’ 0 β€ s.sum
s:Serieshnon:s.nonnegh:s.convergesβ’ 0 β€ s.sums:Serieshnon:s.nonnegh:Β¬s.convergesβ’ 0 β€ s.sum s:Serieshnon:s.nonnegh:s.convergesβ’ 0 β€ s.sums:Serieshnon:s.nonnegh:Β¬s.convergesβ’ 0 β€ s.sum All goals completed! π
All goals completed! πCorollary 7.3.2 (Comparison test) / Exercise 7.3.1
theorem Series.converges_of_le {s t: Series} (hm: s.m = t.m) (hcomp: β n β₯ s.m, |s.seq n| β€ t.seq n) (hconv : t.converges) : s.absConverges β§ |s.sum| β€ s.abs.sum β§ s.abs.sum β€ t.sum := s:Seriest:Serieshm:s.m = t.mhcomp:β n β₯ s.m, |s.seq n| β€ t.seq nhconv:t.convergesβ’ s.absConverges β§ |s.sum| β€ s.abs.sum β§ s.abs.sum β€ t.sum All goals completed! πtheorem Series.diverges_of_ge {s t: Series} (hm: s.m = t.m) (hcomp: β n β₯ s.m, |s.seq n| β€ t.seq n) (hdiv: Β¬ s.absConverges) : t.diverges := s:Seriest:Serieshm:s.m = t.mhcomp:β n β₯ s.m, |s.seq n| β€ t.seq nhdiv:Β¬s.absConvergesβ’ t.diverges All goals completed! πLemma 7.3.3 (Geometric series) / Exercise 7.3.2
theorem Series.converges_geom {x: β} (hx: |x| < 1) : (fun n β¦ x ^ n : Series).convergesTo (1 / (1 - x)) := x:βhx:|x| < 1β’ { m := 0, seq := fun n => if n β₯ 0 then (fun n => x ^ n) n.toNat else 0, vanish := β― }.convergesTo (1 / (1 - x)) All goals completed! πtheorem Series.absConverges_geom {x: β} (hx: |x| < 1) : (fun n β¦ x ^ n : Series).absConverges := x:βhx:|x| < 1β’ { m := 0, seq := fun n => if n β₯ 0 then (fun n => x ^ n) n.toNat else 0, vanish := β― }.absConverges All goals completed! πtheorem Series.diverges_geom {x: β} (hx: |x| β₯ 1) : (fun n β¦ x ^ n : Series).diverges := x:βhx:|x| β₯ 1β’ { m := 0, seq := fun n => if n β₯ 0 then (fun n => x ^ n) n.toNat else 0, vanish := β― }.diverges All goals completed! πtheorem Series.converges_geom_iff (x: β) : (fun n β¦ x ^ n : Series).converges β |x| < 1 := x:ββ’ { m := 0, seq := fun n => if n β₯ 0 then (fun n => x ^ n) n.toNat else 0, vanish := β― }.converges β |x| < 1 All goals completed! πProposition 7.3.4 (Cauchy criterion)
theorem Series.cauchy_criterion {s:Series} (hm: s.m = 1) (hs:s.nonneg) (hmono: β n β₯ 1, s.seq (n+1) β€ s.seq n) : s.converges β (fun k β¦ 2^k * s.seq (2^k): Series).converges := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nβ’ s.converges β
{ m := 0, seq := fun n => if n β₯ 0 then (fun k => 2 ^ k * s.seq (2 ^ k)) n.toNat else 0, vanish := β― }.converges
-- This proof is written to follow the structure of the original text.
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)β’ s.converges β t.converges
have ht: t.nonneg := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nβ’ s.converges β
{ m := 0, seq := fun n => if n β₯ 0 then (fun k => 2 ^ k * s.seq (2 ^ k)) n.toNat else 0, vanish := β― }.converges s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:β€β’ t.seq n β₯ 0; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:β€h:n β₯ 0β’ t.seq n β₯ 0s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:β€h:Β¬n β₯ 0β’ t.seq n β₯ 0 s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:β€h:n β₯ 0β’ t.seq n β₯ 0s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:β€h:Β¬n β₯ 0β’ t.seq n β₯ 0 All goals completed! π; All goals completed! π
have hmono' : β n β₯ 1, β m β₯ n, s.seq m β€ s.seq n := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nβ’ s.converges β
{ m := 0, seq := fun n => if n β₯ 0 then (fun k => 2 ^ k * s.seq (2 ^ k)) n.toNat else 0, vanish := β― }.converges
s:Serieshmβ:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395n:β€hn:n β₯ 1m:β€hm:m β₯ nβ’ s.seq m β€ s.seq n; s:Serieshmβ:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395n:β€hn:n β₯ 1k:βhm:n + βk β₯ nβ’ s.seq (n + βk) β€ s.seq n; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395n:β€hn:n β₯ 1k:ββ’ s.seq (n + βk) β€ s.seq n
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395n:β€hn:n β₯ 1β’ s.seq (n + β0) β€ s.seq ns:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395n:β€hn:n β₯ 1k:βhk:s.seq (n + βk) β€ s.seq nβ’ s.seq (n + β(k + 1)) β€ s.seq n; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395n:β€hn:n β₯ 1k:βhk:s.seq (n + βk) β€ s.seq nβ’ s.seq (n + β(k + 1)) β€ s.seq n
convert (hmono (n+k) (s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:β€hn:n β₯ 1k:βhk:s.seq (n + βk) β€ s.seq nβ’ n + βk β₯ 1 All goals completed! π)).trans hk using 2; All goals completed! π
have htm : t.m = 0 := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nβ’ s.converges β
{ m := 0, seq := fun n => if n β₯ 0 then (fun k => 2 ^ k * s.seq (2 ^ k)) n.toNat else 0, vanish := β― }.converges All goals completed! π
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029β’ (β M, β (N : β€), s.partial N β€ M) β β M, β (N : β€), t.partial N β€ M
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391β’ (β M, β (N : β€), S N β€ M) β β M, β (N : β€), t.partial N β€ M
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328β’ (β M, β (N : β€), S N β€ M) β β M, β (N : β€), T N β€ M
have Lemma_7_3_6 (K:β) : S (2^(K+1) - 1) β€ T K β§ T K β€ 2 * S (2^K) := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nβ’ s.converges β
{ m := 0, seq := fun n => if n β₯ 0 then (fun k => 2 ^ k * s.seq (2 ^ k)) n.toNat else 0, vanish := β― }.converges
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328β’ S (2 ^ (0 + 1) - 1) β€ T β0 β§ T β0 β€ 2 * S (2 ^ 0)s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βhK:S (2 ^ (K + 1) - 1) β€ T βK β§ T βK β€ 2 * S (2 ^ K)β’ S (2 ^ (K + 1 + 1) - 1) β€ T β(K + 1) β§ T β(K + 1) β€ 2 * S (2 ^ (K + 1))
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328β’ S (2 ^ (0 + 1) - 1) β€ T β0 β§ T β0 β€ 2 * S (2 ^ 0) s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328β’ s.seq 1 β€ 2 * s.seq 1; All goals completed! π
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βhK:S (2 ^ (K + 1) - 1) β€ T βK β§ T βK β€ 2 * S (2 ^ K)h2K:1 β€ 2 ^ Kβ’ S (2 ^ (K + 1 + 1) - 1) β€ T β(K + 1) β§ T β(K + 1) β€ 2 * S (2 ^ (K + 1)); s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βhK:S (2 ^ (K + 1) - 1) β€ T βK β§ T βK β€ 2 * S (2 ^ K)h2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)β’ S (2 ^ (K + 1 + 1) - 1) β€ T β(K + 1) β§ T β(K + 1) β€ 2 * S (2 ^ (K + 1))
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)β’ S (2 ^ (K + 1 + 1) - 1) β€ T β(K + 1) β§ T β(K + 1) β€ 2 * S (2 ^ (K + 1))
have claim1 : T (K + 1) = T K + 2^(K+1) * s.seq (2^(K+1)) := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nβ’ s.converges β
{ m := 0, seq := fun n => if n β₯ 0 then (fun k => 2 ^ k * s.seq (2 ^ k)) n.toNat else 0, vanish := β― }.converges s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)β’ βK β₯ t.m - 1; All goals completed! π
have claim2a : S (2^(K+1)) β₯ S (2^K) + 2^K * s.seq (2^(K+1)) := calc
_ = S (2^K) + β n β .Ioc (2^K) (2^(K+1)), s.seq n := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)β’ S (2 ^ (K + 1)) = S (2 ^ K) + β n β Finset.Ioc (2 ^ K) (2 ^ (K + 1)), s.seq n
have : Disjoint (Finset.Icc s.m (2^K)) (Finset.Ioc (2^K) (2^(K+1))) := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)β’ S (2 ^ (K + 1)) = S (2 ^ K) + β n β Finset.Ioc (2 ^ K) (2 ^ (K + 1)), s.seq n
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)β’ β a β Finset.Icc s.m (2 ^ K), β b β Finset.Ioc (2 ^ K) (2 ^ (K + 1)), a β b; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)x:β€hx:x β Finset.Icc s.m (2 ^ K)y:β€hy:y β Finset.Ioc (2 ^ K) (2 ^ (K + 1))β’ x β y; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)x:β€y:β€hx:s.m β€ x β§ x β€ 2 ^ Khy:2 ^ K < y β§ y β€ 2 ^ (K + 1)β’ x β y; All goals completed! π
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.118039β’ Finset.Icc s.m (2 ^ (K + 1)) = Finset.Icc s.m (2 ^ K) βͺ Finset.Ioc (2 ^ K) (2 ^ (K + 1))
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.118039x:β€β’ x β Finset.Icc s.m (2 ^ (K + 1)) β x β Finset.Icc s.m (2 ^ K) βͺ Finset.Ioc (2 ^ K) (2 ^ (K + 1)); s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.118039x:β€β’ s.m β€ x β§ x β€ 2 ^ (K + 1) β s.m β€ x β§ x β€ 2 ^ K β¨ 2 ^ K < x β§ x β€ 2 ^ (K + 1); s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.118039x:β€β’ s.m β€ x β§ x β€ 2 ^ (K + 1) β s.m β€ x β§ x β€ 2 ^ K β¨ 2 ^ K < x β§ x β€ 2 ^ (K + 1)s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.118039x:β€β’ s.m β€ x β§ x β€ 2 ^ K β¨ 2 ^ K < x β§ x β€ 2 ^ (K + 1) β s.m β€ x β§ x β€ 2 ^ (K + 1)
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.118039x:β€β’ s.m β€ x β§ x β€ 2 ^ (K + 1) β s.m β€ x β§ x β€ 2 ^ K β¨ 2 ^ K < x β§ x β€ 2 ^ (K + 1) s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.118039x:β€h1:s.m β€ xh2:x β€ 2 ^ (K + 1)β’ s.m β€ x β§ x β€ 2 ^ K β¨ 2 ^ K < x β§ x β€ 2 ^ (K + 1); All goals completed! π
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.118039x:β€h1:s.m β€ xh2:x β€ 2 ^ Kβ’ s.m β€ x β§ x β€ 2 ^ (K + 1)s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.118039x:β€h1:2 ^ K < xh2:x β€ 2 ^ (K + 1)β’ s.m β€ x β§ x β€ 2 ^ (K + 1)
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.118039x:β€h1:s.m β€ xh2:x β€ 2 ^ Kβ’ s.m β€ x β§ x β€ 2 ^ (K + 1) s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.118039x:β€h1:s.m β€ xh2:x β€ 2 ^ Kβ’ x β€ 2 * 2 ^ K; All goals completed! π
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.118039x:β€h1:2 ^ K < xh2:x β€ 2 ^ (K + 1)β’ 1 β€ x; All goals completed! π
_ β₯ S (2^K) + β n β .Ioc ((2:β€)^K) (2^(K+1)), s.seq (2^(K+1)) := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)β’ S (2 ^ K) + β n β Finset.Ioc (2 ^ K) (2 ^ (K + 1)), s.seq n β₯
S (2 ^ K) + β n β Finset.Ioc (2 ^ K) (2 ^ (K + 1)), s.seq (2 ^ (K + 1))
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)n:β€hn:n β Finset.Ioc (2 ^ K) (2 ^ (K + 1))β’ s.seq (2 ^ (K + 1)) β€ s.seq n; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)n:β€hn:2 ^ K < n β§ n β€ 2 ^ (K + 1)β’ s.seq (2 ^ (K + 1)) β€ s.seq n; exact hmono' _ (s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)n:β€hn:2 ^ K < n β§ n β€ 2 ^ (K + 1)β’ n β₯ 1 All goals completed! π) _ hn.2
_ = _ := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)β’ S (2 ^ K) + β n β Finset.Ioc (2 ^ K) (2 ^ (K + 1)), s.seq (2 ^ (K + 1)) = S (2 ^ K) + 2 ^ K * s.seq (2 ^ (K + 1)) s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)β’ β(2 * 2 ^ K - 2 ^ K).toNat = 2 ^ K β¨ s.seq (2 * 2 ^ K) = 0; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)β’ β(2 * 2 ^ K - 2 ^ K).toNat = 2 ^ K; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)β’ β(2 ^ K).toNat = 2 ^ K; All goals completed! π
have claim2 : 2 * S (2^(K+1)) β₯ 2 * S (2^K) + 2^(K+1) * s.seq (2^(K+1)) := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nβ’ s.converges β
{ m := 0, seq := fun n => if n β₯ 0 then (fun k => 2 ^ k * s.seq (2 ^ k)) n.toNat else 0, vanish := β― }.converges
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.109886claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := Trans.trans (Trans.trans ?_mvar.116563 ?_mvar.117032) ?_mvar.117196β’ 2 * S (2 ^ (K + 1)) β₯ 2 * S (2 ^ K) + 2 * 2 ^ K * s.seq (2 ^ (K + 1)); All goals completed! π
have claim3 : S (2^(K+1+1) - 1) β€ S (2^(K+1)-1) + 2^(K+1) * s.seq (2^(K+1)) := calc
_ = S (2^(K+1)-1) + β n β .Icc (2^(K+1)) (2^(K+1+1)-1), s.seq n := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)β’ S (2 ^ (K + 1 + 1) - 1) = S (2 ^ (K + 1) - 1) + β n β Finset.Icc (2 ^ (K + 1)) (2 ^ (K + 1 + 1) - 1), s.seq n
have : Disjoint (Finset.Icc s.m (2^(K+1)-1)) (Finset.Icc (2^(K+1)) (2^(K+1+1)-1)) := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)β’ S (2 ^ (K + 1 + 1) - 1) = S (2 ^ (K + 1) - 1) + β n β Finset.Icc (2 ^ (K + 1)) (2 ^ (K + 1 + 1) - 1), s.seq n
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)β’ β a β Finset.Icc s.m (2 ^ (K + 1) - 1), β b β Finset.Icc (2 ^ (K + 1)) (2 ^ (K + 1 + 1) - 1), a β b; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)x:β€hx:x β Finset.Icc s.m (2 ^ (K + 1) - 1)y:β€hy:y β Finset.Icc (2 ^ (K + 1)) (2 ^ (K + 1 + 1) - 1)β’ x β y; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)x:β€y:β€hx:s.m β€ x β§ x β€ 2 ^ (K + 1) - 1hy:2 ^ (K + 1) β€ y β§ y β€ 2 ^ (K + 1 + 1) - 1β’ x β y; All goals completed! π
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.188930β’ Finset.Icc s.m (2 ^ (K + 1 + 1) - 1) = Finset.Icc s.m (2 ^ (K + 1) - 1) βͺ Finset.Icc (2 ^ (K + 1)) (2 ^ (K + 1 + 1) - 1)
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.188930aβ:β€β’ aβ β Finset.Icc s.m (2 ^ (K + 1 + 1) - 1) β
aβ β Finset.Icc s.m (2 ^ (K + 1) - 1) βͺ Finset.Icc (2 ^ (K + 1)) (2 ^ (K + 1 + 1) - 1); s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.188930aβ:β€β’ s.m β€ aβ β§ aβ β€ 2 ^ (K + 1 + 1) - 1 β s.m β€ aβ β§ aβ β€ 2 ^ (K + 1) - 1 β¨ 2 ^ (K + 1) β€ aβ β§ aβ β€ 2 ^ (K + 1 + 1) - 1; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.188930aβ:β€β’ s.m β€ aβ β§ aβ β€ 2 ^ (K + 1 + 1) - 1 β s.m β€ aβ β§ aβ β€ 2 ^ (K + 1) - 1 β¨ 2 ^ (K + 1) β€ aβ β§ aβ β€ 2 ^ (K + 1 + 1) - 1s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.188930aβ:β€β’ s.m β€ aβ β§ aβ β€ 2 ^ (K + 1) - 1 β¨ 2 ^ (K + 1) β€ aβ β§ aβ β€ 2 ^ (K + 1 + 1) - 1 β s.m β€ aβ β§ aβ β€ 2 ^ (K + 1 + 1) - 1
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.188930aβ:β€β’ s.m β€ aβ β§ aβ β€ 2 ^ (K + 1 + 1) - 1 β s.m β€ aβ β§ aβ β€ 2 ^ (K + 1) - 1 β¨ 2 ^ (K + 1) β€ aβ β§ aβ β€ 2 ^ (K + 1 + 1) - 1 s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.188930aβ:β€h1:s.m β€ aβh2:aβ β€ 2 ^ (K + 1 + 1) - 1β’ s.m β€ aβ β§ aβ β€ 2 ^ (K + 1) - 1 β¨ 2 ^ (K + 1) β€ aβ β§ aβ β€ 2 ^ (K + 1 + 1) - 1; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.188930aβ:β€h1:s.m β€ aβh2:aβ β€ 2 ^ (K + 1 + 1) - 1β’ aβ β€ 2 ^ (K + 1) - 1 β¨ 2 ^ (K + 1) β€ aβ; All goals completed! π
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.188930aβ:β€h1:s.m β€ aβh2:aβ β€ 2 ^ (K + 1) - 1β’ s.m β€ aβ β§ aβ β€ 2 ^ (K + 1 + 1) - 1s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.188930aβ:β€h1:2 ^ (K + 1) β€ aβh2:aβ β€ 2 ^ (K + 1 + 1) - 1β’ s.m β€ aβ β§ aβ β€ 2 ^ (K + 1 + 1) - 1
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.188930aβ:β€h1:s.m β€ aβh2:aβ β€ 2 ^ (K + 1) - 1β’ s.m β€ aβ β§ aβ β€ 2 ^ (K + 1 + 1) - 1 s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.188930aβ:β€h1:s.m β€ aβh2:aβ β€ 2 ^ (K + 1) - 1β’ aβ β€ 2 * 2 ^ (K + 1) - 1; All goals completed! π
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.188930aβ:β€h1:2 ^ (K + 1) β€ aβh2:aβ β€ 2 ^ (K + 1 + 1) - 1β’ 1 β€ aβ; All goals completed! π
_ β€ S (2^(K+1)-1) + β n β .Icc ((2:β€)^(K+1)) (2^(K+1+1)-1), s.seq (2^(K+1)) := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)β’ S (2 ^ (K + 1) - 1) + β n β Finset.Icc (2 ^ (K + 1)) (2 ^ (K + 1 + 1) - 1), s.seq n β€
S (2 ^ (K + 1) - 1) + β n β Finset.Icc (2 ^ (K + 1)) (2 ^ (K + 1 + 1) - 1), s.seq (2 ^ (K + 1))
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:β€hn:n β Finset.Icc (2 ^ (K + 1)) (2 ^ (K + 1 + 1) - 1)β’ s.seq n β€ s.seq (2 ^ (K + 1)); s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:β€hn:2 ^ (K + 1) β€ n β§ n β€ 2 ^ (K + 1 + 1) - 1β’ s.seq n β€ s.seq (2 ^ (K + 1)); s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:β€hn:2 ^ (K + 1) β€ n β§ n β€ 2 ^ (K + 1 + 1) - 1β’ 2 ^ (K + 1) β₯ 1; All goals completed! π
_ = _ := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)β’ S (2 ^ (K + 1) - 1) + β n β Finset.Icc (2 ^ (K + 1)) (2 ^ (K + 1 + 1) - 1), s.seq (2 ^ (K + 1)) =
S (2 ^ (K + 1) - 1) + 2 ^ (K + 1) * s.seq (2 ^ (K + 1)) s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)β’ β(2 * (2 * 2 ^ K) - 2 * 2 ^ K).toNat = 2 * 2 ^ K β¨ s.seq (2 * 2 ^ K) = 0; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)β’ β(2 * (2 * 2 ^ K) - 2 * 2 ^ K).toNat = 2 * 2 ^ K; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) :=
Chapter7.Series.partial_succ _fvar.22328
(Chapter7.Series.cauchy_criterion._proof_6 _fvar.21394 _fvar.22396 _fvar.30283 _fvar.40030 _fvar.40871 _fvar.108353
_fvar.109321 _fvar.109326 _fvar.109330)claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)β’ β(2 ^ K * 2).toNat = 2 ^ K * 2; All goals completed! π
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.109886claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := Trans.trans (Trans.trans ?_mvar.116563 ?_mvar.117032) ?_mvar.117196claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.178245claim3:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := Trans.trans (Trans.trans ?_mvar.186554 ?_mvar.187315) ?_mvar.187746β’ S (2 ^ (K + 1 + 1) - 1) β€ T (βK + 1) β§ T (βK + 1) β€ 2 * S (2 ^ (K + 1)); s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.109886claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := Trans.trans (Trans.trans ?_mvar.116563 ?_mvar.117032) ?_mvar.117196claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.178245claim3:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := Trans.trans (Trans.trans ?_mvar.186554 ?_mvar.187315) ?_mvar.187746β’ S (2 ^ (K + 1 + 1) - 1) β€ T (βK + 1)s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.109886claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := Trans.trans (Trans.trans ?_mvar.116563 ?_mvar.117032) ?_mvar.117196claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.178245claim3:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := Trans.trans (Trans.trans ?_mvar.186554 ?_mvar.187315) ?_mvar.187746β’ T (βK + 1) β€ 2 * S (2 ^ (K + 1)) s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.109886claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := Trans.trans (Trans.trans ?_mvar.116563 ?_mvar.117032) ?_mvar.117196claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.178245claim3:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := Trans.trans (Trans.trans ?_mvar.186554 ?_mvar.187315) ?_mvar.187746β’ S (2 ^ (K + 1 + 1) - 1) β€ T (βK + 1)s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328K:βh2K:1 β€ 2 ^ Kh2K':1 β€ 2 ^ (K + 1)hK1:S (2 ^ (K + 1) - 1) β€ T βKhK2:T βK β€ 2 * S (2 ^ K)claim1:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.109886claim2a:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := Trans.trans (Trans.trans ?_mvar.116563 ?_mvar.117032) ?_mvar.117196claim2:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.178245claim3:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := Trans.trans (Trans.trans ?_mvar.186554 ?_mvar.187315) ?_mvar.187746β’ T (βK + 1) β€ 2 * S (2 ^ (K + 1)) All goals completed! π
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 Kβ’ (β M, β (N : β€), S N β€ M) β β M, β (N : β€), T N β€ Ms:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 Kβ’ (β M, β (N : β€), T N β€ M) β β M, β (N : β€), S N β€ M
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 Kβ’ (β M, β (N : β€), S N β€ M) β β M, β (N : β€), T N β€ M s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), S N β€ Mβ’ β M, β (N : β€), T N β€ M; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), S N β€ Mβ’ β (N : β€), T N β€ 2 * M; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), S N β€ MN:β€β’ T N β€ 2 * M; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), S N β€ MN:β€hN:N < 0β’ T N β€ 2 * Ms:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), S N β€ MN:β€hN:0 β€ Nβ’ T N β€ 2 * M
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), S N β€ MN:β€hN:N < 0β’ T N β€ 2 * M s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), S N β€ MN:β€hN:N < 0β’ 0 β€ M; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), S N β€ MN:β€hN:N < 0β’ 0 = S 0; All goals completed! π
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), S N β€ MN:β€hN:0 β€ Nβ’ T βN.toNat β€ 2 * M; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), S N β€ MN:β€hN:0 β€ Nβ’ 2 * S (2 ^ N.toNat) β€ 2 * M; All goals completed! π
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), T N β€ Mβ’ β M, β (N : β€), S N β€ M; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), T N β€ Mβ’ β (N : β€), S N β€ M; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), T N β€ MK':β€β’ S K' β€ M; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), T N β€ MK':β€hK':K' < 1β’ S K' β€ Ms:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), T N β€ MK':β€hK':1 β€ K'β’ S K' β€ M
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), T N β€ MK':β€hK':K' < 1β’ S K' β€ M s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), T N β€ MK':β€hK':K' < 1β’ 0 β€ M; All goals completed! π
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), T N β€ MK':β€hK':1 β€ K'K:β := (_fvar.266718 - 1).toNatβ’ S K' β€ M; have hK : K' = K + 1 := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nβ’ s.converges β
{ m := 0, seq := fun n => if n β₯ 0 then (fun k => 2 ^ k * s.seq (2 ^ k)) n.toNat else 0, vanish := β― }.converges s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := ?_mvar.22395hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.30282htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40029S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := fun K => @?_mvar.40851 KM:βhM:β (N : β€), T N β€ MK':β€hK':1 β€ K'K:β := (_fvar.266718 - 1).toNatβ’ K' = K' - 1 + 1; All goals completed! π
calc
_ β€ S (2 ^ (K+1) - 1) := s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)M:βhM:β (N : β€), T N β€ MK':β€hK':1 β€ K'K:β := (_fvar.266718 - 1).toNathK:_fvar.266718 = β_fvar.270222 + 1 :=
Eq.mpr
(id
(congrArg (fun _a => _fvar.266718 = _a + 1)
(Int.toNat_of_nonneg
(le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.neg_congr
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1)))))
Mathlib.Tactic.Ring.neg_zero))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.atom_pf _fvar.266718)
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul _fvar.266718 (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(_fvar.266718 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0))))
(Mathlib.Tactic.Ring.add_pf_zero_add
(_fvar.266718 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.266718)
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1)))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt (Int.negOfNat 1).rawCast
(Mathlib.Tactic.Ring.add_pf_add_zero
(_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))))
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0))))
(Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 0)))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.266718 (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0)))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 0)))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (neg_neg_of_pos Mathlib.Tactic.Linarith.zero_lt_one)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.266773))
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Int.add_one_le_iff.mpr a))))))))
(Eq.trans (Mathlib.Tactic.Abel.term_atomg _fvar.266718)
(Eq.symm
(Mathlib.Tactic.Abel.subst_into_addg (_fvar.266718 - 1) 1
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.termg 1 1 0) (Mathlib.Tactic.Abel.termg 1 _fvar.266718 0)
(Mathlib.Tactic.Abel.unfold_sub _fvar.266718 1
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.subst_into_addg _fvar.266718 (-1) (Mathlib.Tactic.Abel.termg 1 _fvar.266718 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.term_atomg _fvar.266718)
(Mathlib.Tactic.Abel.subst_into_negg 1 (Mathlib.Tactic.Abel.termg 1 1 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0) (Mathlib.Tactic.Abel.term_atomg 1)
(Mathlib.Tactic.Abel.term_neg 1 1 0 (-1) 0 (Eq.refl (-1)) neg_zero))
(Mathlib.Tactic.Abel.term_add_constg 1 _fvar.266718 0 (Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0) (zero_add (Mathlib.Tactic.Abel.termg (-1) 1 0)))))
(Mathlib.Tactic.Abel.term_atomg 1)
(Mathlib.Tactic.Abel.term_add_constg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg 1 1 0) 0
(Eq.trans
(Mathlib.Tactic.Abel.term_add_termg (-1) 1 0 1 0 0 0
(Mathlib.Meta.NormNum.IsNat.to_eq
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.isInt_neg (Eq.refl Neg.neg)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Eq.refl (Int.negOfNat 1)))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Eq.refl (Int.ofNat 0))))
(Eq.refl 0))
(zero_add 0))
(Mathlib.Tactic.Abel.zero_termg 1 0))))))β’ S K' β€ S (2 ^ (K + 1) - 1)
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)M:βhM:β (N : β€), T N β€ MK':β€hK':1 β€ K'K:β := (_fvar.266718 - 1).toNathK:_fvar.266718 = β_fvar.270222 + 1 :=
Eq.mpr
(id
(congrArg (fun _a => _fvar.266718 = _a + 1)
(Int.toNat_of_nonneg
(le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.neg_congr
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1)))))
Mathlib.Tactic.Ring.neg_zero))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.atom_pf _fvar.266718)
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul _fvar.266718 (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(_fvar.266718 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0))))
(Mathlib.Tactic.Ring.add_pf_zero_add
(_fvar.266718 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.266718)
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1)))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt (Int.negOfNat 1).rawCast
(Mathlib.Tactic.Ring.add_pf_add_zero
(_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))))
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0))))
(Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 0)))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.266718 (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0)))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 0)))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (neg_neg_of_pos Mathlib.Tactic.Linarith.zero_lt_one)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.266773))
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Int.add_one_le_iff.mpr a))))))))
(Eq.trans (Mathlib.Tactic.Abel.term_atomg _fvar.266718)
(Eq.symm
(Mathlib.Tactic.Abel.subst_into_addg (_fvar.266718 - 1) 1
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.termg 1 1 0) (Mathlib.Tactic.Abel.termg 1 _fvar.266718 0)
(Mathlib.Tactic.Abel.unfold_sub _fvar.266718 1
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.subst_into_addg _fvar.266718 (-1) (Mathlib.Tactic.Abel.termg 1 _fvar.266718 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.term_atomg _fvar.266718)
(Mathlib.Tactic.Abel.subst_into_negg 1 (Mathlib.Tactic.Abel.termg 1 1 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0) (Mathlib.Tactic.Abel.term_atomg 1)
(Mathlib.Tactic.Abel.term_neg 1 1 0 (-1) 0 (Eq.refl (-1)) neg_zero))
(Mathlib.Tactic.Abel.term_add_constg 1 _fvar.266718 0 (Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0) (zero_add (Mathlib.Tactic.Abel.termg (-1) 1 0)))))
(Mathlib.Tactic.Abel.term_atomg 1)
(Mathlib.Tactic.Abel.term_add_constg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg 1 1 0) 0
(Eq.trans
(Mathlib.Tactic.Abel.term_add_termg (-1) 1 0 1 0 0 0
(Mathlib.Meta.NormNum.IsNat.to_eq
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.isInt_neg (Eq.refl Neg.neg)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Eq.refl (Int.negOfNat 1)))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Eq.refl (Int.ofNat 0))))
(Eq.refl 0))
(zero_add 0))
(Mathlib.Tactic.Abel.zero_termg 1 0))))))β’ K' β€ 2 ^ (K + 1) - 1; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)M:βhM:β (N : β€), T N β€ MK':β€hK':1 β€ K'K:β := (_fvar.266718 - 1).toNathK:_fvar.266718 = β_fvar.270222 + 1 :=
Eq.mpr
(id
(congrArg (fun _a => _fvar.266718 = _a + 1)
(Int.toNat_of_nonneg
(le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.neg_congr
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1)))))
Mathlib.Tactic.Ring.neg_zero))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.atom_pf _fvar.266718)
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul _fvar.266718 (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(_fvar.266718 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0))))
(Mathlib.Tactic.Ring.add_pf_zero_add
(_fvar.266718 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.266718)
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1)))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt (Int.negOfNat 1).rawCast
(Mathlib.Tactic.Ring.add_pf_add_zero
(_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))))
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0))))
(Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 0)))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.266718 (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0)))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 0)))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (neg_neg_of_pos Mathlib.Tactic.Linarith.zero_lt_one)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.266773))
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Int.add_one_le_iff.mpr a))))))))
(Eq.trans (Mathlib.Tactic.Abel.term_atomg _fvar.266718)
(Eq.symm
(Mathlib.Tactic.Abel.subst_into_addg (_fvar.266718 - 1) 1
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.termg 1 1 0) (Mathlib.Tactic.Abel.termg 1 _fvar.266718 0)
(Mathlib.Tactic.Abel.unfold_sub _fvar.266718 1
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.subst_into_addg _fvar.266718 (-1) (Mathlib.Tactic.Abel.termg 1 _fvar.266718 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.term_atomg _fvar.266718)
(Mathlib.Tactic.Abel.subst_into_negg 1 (Mathlib.Tactic.Abel.termg 1 1 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0) (Mathlib.Tactic.Abel.term_atomg 1)
(Mathlib.Tactic.Abel.term_neg 1 1 0 (-1) 0 (Eq.refl (-1)) neg_zero))
(Mathlib.Tactic.Abel.term_add_constg 1 _fvar.266718 0 (Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0) (zero_add (Mathlib.Tactic.Abel.termg (-1) 1 0)))))
(Mathlib.Tactic.Abel.term_atomg 1)
(Mathlib.Tactic.Abel.term_add_constg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg 1 1 0) 0
(Eq.trans
(Mathlib.Tactic.Abel.term_add_termg (-1) 1 0 1 0 0 0
(Mathlib.Meta.NormNum.IsNat.to_eq
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.isInt_neg (Eq.refl Neg.neg)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Eq.refl (Int.negOfNat 1)))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Eq.refl (Int.ofNat 0))))
(Eq.refl 0))
(zero_add 0))
(Mathlib.Tactic.Abel.zero_termg 1 0))))))β’ βK + 1 β€ 2 ^ (K + 1) - 1
s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)M:βhM:β (N : β€), T N β€ MK':β€hK':1 β€ K'K:β := (_fvar.266718 - 1).toNathK:_fvar.266718 = β_fvar.270222 + 1 :=
Eq.mpr
(id
(congrArg (fun _a => _fvar.266718 = _a + 1)
(Int.toNat_of_nonneg
(le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.neg_congr
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1)))))
Mathlib.Tactic.Ring.neg_zero))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.atom_pf _fvar.266718)
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul _fvar.266718 (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(_fvar.266718 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0))))
(Mathlib.Tactic.Ring.add_pf_zero_add
(_fvar.266718 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.266718)
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1)))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt (Int.negOfNat 1).rawCast
(Mathlib.Tactic.Ring.add_pf_add_zero
(_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))))
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0))))
(Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 0)))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.266718 (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0)))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 0)))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (neg_neg_of_pos Mathlib.Tactic.Linarith.zero_lt_one)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.266773))
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Int.add_one_le_iff.mpr a))))))))
(Eq.trans (Mathlib.Tactic.Abel.term_atomg _fvar.266718)
(Eq.symm
(Mathlib.Tactic.Abel.subst_into_addg (_fvar.266718 - 1) 1
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.termg 1 1 0) (Mathlib.Tactic.Abel.termg 1 _fvar.266718 0)
(Mathlib.Tactic.Abel.unfold_sub _fvar.266718 1
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.subst_into_addg _fvar.266718 (-1) (Mathlib.Tactic.Abel.termg 1 _fvar.266718 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.term_atomg _fvar.266718)
(Mathlib.Tactic.Abel.subst_into_negg 1 (Mathlib.Tactic.Abel.termg 1 1 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0) (Mathlib.Tactic.Abel.term_atomg 1)
(Mathlib.Tactic.Abel.term_neg 1 1 0 (-1) 0 (Eq.refl (-1)) neg_zero))
(Mathlib.Tactic.Abel.term_add_constg 1 _fvar.266718 0 (Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0) (zero_add (Mathlib.Tactic.Abel.termg (-1) 1 0)))))
(Mathlib.Tactic.Abel.term_atomg 1)
(Mathlib.Tactic.Abel.term_add_constg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg 1 1 0) 0
(Eq.trans
(Mathlib.Tactic.Abel.term_add_termg (-1) 1 0 1 0 0 0
(Mathlib.Meta.NormNum.IsNat.to_eq
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.isInt_neg (Eq.refl Neg.neg)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Eq.refl (Int.negOfNat 1)))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Eq.refl (Int.ofNat 0))))
(Eq.refl 0))
(zero_add 0))
(Mathlib.Tactic.Abel.zero_termg 1 0))))))n:ββ’ βn + 1 β€ 2 ^ (n + 1) - 1; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)M:βhM:β (N : β€), T N β€ MK':β€hK':1 β€ K'K:β := (_fvar.266718 - 1).toNathK:_fvar.266718 = β_fvar.270222 + 1 :=
Eq.mpr
(id
(congrArg (fun _a => _fvar.266718 = _a + 1)
(Int.toNat_of_nonneg
(le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.neg_congr
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1)))))
Mathlib.Tactic.Ring.neg_zero))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.atom_pf _fvar.266718)
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul _fvar.266718 (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(_fvar.266718 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0))))
(Mathlib.Tactic.Ring.add_pf_zero_add
(_fvar.266718 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.266718)
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1)))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt (Int.negOfNat 1).rawCast
(Mathlib.Tactic.Ring.add_pf_add_zero
(_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))))
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0))))
(Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 0)))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.266718 (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0)))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 0)))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (neg_neg_of_pos Mathlib.Tactic.Linarith.zero_lt_one)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.266773))
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Int.add_one_le_iff.mpr a))))))))
(Eq.trans (Mathlib.Tactic.Abel.term_atomg _fvar.266718)
(Eq.symm
(Mathlib.Tactic.Abel.subst_into_addg (_fvar.266718 - 1) 1
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.termg 1 1 0) (Mathlib.Tactic.Abel.termg 1 _fvar.266718 0)
(Mathlib.Tactic.Abel.unfold_sub _fvar.266718 1
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.subst_into_addg _fvar.266718 (-1) (Mathlib.Tactic.Abel.termg 1 _fvar.266718 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.term_atomg _fvar.266718)
(Mathlib.Tactic.Abel.subst_into_negg 1 (Mathlib.Tactic.Abel.termg 1 1 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0) (Mathlib.Tactic.Abel.term_atomg 1)
(Mathlib.Tactic.Abel.term_neg 1 1 0 (-1) 0 (Eq.refl (-1)) neg_zero))
(Mathlib.Tactic.Abel.term_add_constg 1 _fvar.266718 0 (Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0) (zero_add (Mathlib.Tactic.Abel.termg (-1) 1 0)))))
(Mathlib.Tactic.Abel.term_atomg 1)
(Mathlib.Tactic.Abel.term_add_constg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg 1 1 0) 0
(Eq.trans
(Mathlib.Tactic.Abel.term_add_termg (-1) 1 0 1 0 0 0
(Mathlib.Meta.NormNum.IsNat.to_eq
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.isInt_neg (Eq.refl Neg.neg)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Eq.refl (Int.negOfNat 1)))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Eq.refl (Int.ofNat 0))))
(Eq.refl 0))
(zero_add 0))
(Mathlib.Tactic.Abel.zero_termg 1 0))))))β’ β0 + 1 β€ 2 ^ (0 + 1) - 1s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)M:βhM:β (N : β€), T N β€ MK':β€hK':1 β€ K'K:β := (_fvar.266718 - 1).toNathK:_fvar.266718 = β_fvar.270222 + 1 :=
Eq.mpr
(id
(congrArg (fun _a => _fvar.266718 = _a + 1)
(Int.toNat_of_nonneg
(le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.neg_congr
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1)))))
Mathlib.Tactic.Ring.neg_zero))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.atom_pf _fvar.266718)
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul _fvar.266718 (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(_fvar.266718 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0))))
(Mathlib.Tactic.Ring.add_pf_zero_add
(_fvar.266718 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.266718)
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1)))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt (Int.negOfNat 1).rawCast
(Mathlib.Tactic.Ring.add_pf_add_zero
(_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))))
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0))))
(Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 0)))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.266718 (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0)))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 0)))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (neg_neg_of_pos Mathlib.Tactic.Linarith.zero_lt_one)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.266773))
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Int.add_one_le_iff.mpr a))))))))
(Eq.trans (Mathlib.Tactic.Abel.term_atomg _fvar.266718)
(Eq.symm
(Mathlib.Tactic.Abel.subst_into_addg (_fvar.266718 - 1) 1
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.termg 1 1 0) (Mathlib.Tactic.Abel.termg 1 _fvar.266718 0)
(Mathlib.Tactic.Abel.unfold_sub _fvar.266718 1
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.subst_into_addg _fvar.266718 (-1) (Mathlib.Tactic.Abel.termg 1 _fvar.266718 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.term_atomg _fvar.266718)
(Mathlib.Tactic.Abel.subst_into_negg 1 (Mathlib.Tactic.Abel.termg 1 1 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0) (Mathlib.Tactic.Abel.term_atomg 1)
(Mathlib.Tactic.Abel.term_neg 1 1 0 (-1) 0 (Eq.refl (-1)) neg_zero))
(Mathlib.Tactic.Abel.term_add_constg 1 _fvar.266718 0 (Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0) (zero_add (Mathlib.Tactic.Abel.termg (-1) 1 0)))))
(Mathlib.Tactic.Abel.term_atomg 1)
(Mathlib.Tactic.Abel.term_add_constg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg 1 1 0) 0
(Eq.trans
(Mathlib.Tactic.Abel.term_add_termg (-1) 1 0 1 0 0 0
(Mathlib.Meta.NormNum.IsNat.to_eq
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.isInt_neg (Eq.refl Neg.neg)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Eq.refl (Int.negOfNat 1)))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Eq.refl (Int.ofNat 0))))
(Eq.refl 0))
(zero_add 0))
(Mathlib.Tactic.Abel.zero_termg 1 0))))))n:βhn:βn + 1 β€ 2 ^ (n + 1) - 1β’ β(n + 1) + 1 β€ 2 ^ (n + 1 + 1) - 1; s:Serieshm:s.m = 1hs:s.nonneghmono:β n β₯ 1, s.seq (n + 1) β€ s.seq nt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hmono':failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328Lemma_7_3_6:β (K : β), @_fvar.40146 (2 ^ (K + 1) - 1) β€ @_fvar.40274 βK β§ @_fvar.40274 βK β€ 2 * @_fvar.40146 (2 ^ K) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)M:βhM:β (N : β€), T N β€ MK':β€hK':1 β€ K'K:β := (_fvar.266718 - 1).toNathK:_fvar.266718 = β_fvar.270222 + 1 :=
Eq.mpr
(id
(congrArg (fun _a => _fvar.266718 = _a + 1)
(Int.toNat_of_nonneg
(le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.neg_congr
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1)))))
Mathlib.Tactic.Ring.neg_zero))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.atom_pf _fvar.266718)
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul _fvar.266718 (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(_fvar.266718 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0))))
(Mathlib.Tactic.Ring.add_pf_zero_add
(_fvar.266718 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.266718)
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1)))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt (Int.negOfNat 1).rawCast
(Mathlib.Tactic.Ring.add_pf_add_zero
(_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))))
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0))))
(Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 0)))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.266718 (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0)))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 0)))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (neg_neg_of_pos Mathlib.Tactic.Linarith.zero_lt_one)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.266773))
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Int.add_one_le_iff.mpr a))))))))
(Eq.trans (Mathlib.Tactic.Abel.term_atomg _fvar.266718)
(Eq.symm
(Mathlib.Tactic.Abel.subst_into_addg (_fvar.266718 - 1) 1
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.termg 1 1 0) (Mathlib.Tactic.Abel.termg 1 _fvar.266718 0)
(Mathlib.Tactic.Abel.unfold_sub _fvar.266718 1
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.subst_into_addg _fvar.266718 (-1) (Mathlib.Tactic.Abel.termg 1 _fvar.266718 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.term_atomg _fvar.266718)
(Mathlib.Tactic.Abel.subst_into_negg 1 (Mathlib.Tactic.Abel.termg 1 1 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0) (Mathlib.Tactic.Abel.term_atomg 1)
(Mathlib.Tactic.Abel.term_neg 1 1 0 (-1) 0 (Eq.refl (-1)) neg_zero))
(Mathlib.Tactic.Abel.term_add_constg 1 _fvar.266718 0 (Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0) (zero_add (Mathlib.Tactic.Abel.termg (-1) 1 0)))))
(Mathlib.Tactic.Abel.term_atomg 1)
(Mathlib.Tactic.Abel.term_add_constg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg 1 1 0) 0
(Eq.trans
(Mathlib.Tactic.Abel.term_add_termg (-1) 1 0 1 0 0 0
(Mathlib.Meta.NormNum.IsNat.to_eq
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.isInt_neg (Eq.refl Neg.neg)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Eq.refl (Int.negOfNat 1)))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Eq.refl (Int.ofNat 0))))
(Eq.refl 0))
(zero_add 0))
(Mathlib.Tactic.Abel.zero_termg 1 0))))))n:βhn:βn + 1 β€ 2 ^ (n + 1) - 1β’ β(n + 1) + 1 β€ 2 ^ (n + 1 + 1) - 1
s:Serieshm:s.m = 1hs:s.nonnegt:Chapter7.Series := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)ht:Chapter7.Series.nonneg _fvar.22328 := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)htm:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := of_eq_true (eq_self 0)S:β€ β β := Chapter7.Series.partial _fvar.21391T:β€ β β := Chapter7.Series.partial _fvar.22328M:βhM:β (N : β€), T N β€ MK':β€hK':1 β€ K'K:β := (_fvar.266718 - 1).toNathK:_fvar.266718 = β_fvar.270222 + 1 :=
Eq.mpr
(id
(congrArg (fun _a => _fvar.266718 = _a + 1)
(Int.toNat_of_nonneg
(le_of_not_gt fun a =>
Mathlib.Tactic.Linarith.lt_irrefl
(Eq.mp
(congrArg (fun _a => _a < 0)
(Mathlib.Tactic.Ring.of_eq
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.neg_congr
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1)))))
Mathlib.Tactic.Ring.neg_zero))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.atom_pf _fvar.266718)
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_mul _fvar.266718 (Nat.rawCast 1)
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1))))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_lt (Nat.rawCast 1)
(Mathlib.Tactic.Ring.add_pf_zero_add
(_fvar.266718 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0))))
(Mathlib.Tactic.Ring.add_pf_zero_add
(_fvar.266718 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))
(Mathlib.Tactic.Ring.sub_congr
(Mathlib.Tactic.Ring.add_congr
(Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.266718)
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.sub_pf
(Mathlib.Tactic.Ring.neg_add
(Mathlib.Tactic.Ring.neg_one_mul
(Mathlib.Meta.NormNum.IsInt.to_raw_eq
(Mathlib.Meta.NormNum.isInt_mul (Eq.refl HMul.hMul)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.negOfNat 1)))))
Mathlib.Tactic.Ring.neg_zero)
(Mathlib.Tactic.Ring.add_pf_add_gt (Int.negOfNat 1).rawCast
(Mathlib.Tactic.Ring.add_pf_add_zero
(_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))))
(Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0))))
(Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 0)))
(Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero
(Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.266718 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))
(Mathlib.Tactic.Ring.add_pf_add_overlap_zero
(Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.266718 (Nat.rawCast 1)
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.IsInt.of_raw β€ (Int.negOfNat 1))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw β€ 1))
(Eq.refl (Int.ofNat 0)))))
(Mathlib.Tactic.Ring.add_pf_zero_add 0)))
(Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 0)))))
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le
(Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (neg_neg_of_pos Mathlib.Tactic.Linarith.zero_lt_one)
(Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.266773))
(Mathlib.Tactic.Linarith.sub_nonpos_of_le (Int.add_one_le_iff.mpr a))))))))
(Eq.trans (Mathlib.Tactic.Abel.term_atomg _fvar.266718)
(Eq.symm
(Mathlib.Tactic.Abel.subst_into_addg (_fvar.266718 - 1) 1
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.termg 1 1 0) (Mathlib.Tactic.Abel.termg 1 _fvar.266718 0)
(Mathlib.Tactic.Abel.unfold_sub _fvar.266718 1
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.subst_into_addg _fvar.266718 (-1) (Mathlib.Tactic.Abel.termg 1 _fvar.266718 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0))
(Mathlib.Tactic.Abel.term_atomg _fvar.266718)
(Mathlib.Tactic.Abel.subst_into_negg 1 (Mathlib.Tactic.Abel.termg 1 1 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0) (Mathlib.Tactic.Abel.term_atomg 1)
(Mathlib.Tactic.Abel.term_neg 1 1 0 (-1) 0 (Eq.refl (-1)) neg_zero))
(Mathlib.Tactic.Abel.term_add_constg 1 _fvar.266718 0 (Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg (-1) 1 0) (zero_add (Mathlib.Tactic.Abel.termg (-1) 1 0)))))
(Mathlib.Tactic.Abel.term_atomg 1)
(Mathlib.Tactic.Abel.term_add_constg 1 _fvar.266718 (Mathlib.Tactic.Abel.termg (-1) 1 0)
(Mathlib.Tactic.Abel.termg 1 1 0) 0
(Eq.trans
(Mathlib.Tactic.Abel.term_add_termg (-1) 1 0 1 0 0 0
(Mathlib.Meta.NormNum.IsNat.to_eq
(Mathlib.Meta.NormNum.IsInt.to_isNat
(Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd)
(Mathlib.Meta.NormNum.isInt_neg (Eq.refl Neg.neg)
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Eq.refl (Int.negOfNat 1)))
(Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.isNat_ofNat β€ (Eq.refl 1)))
(Eq.refl (Int.ofNat 0))))
(Eq.refl 0))
(zero_add 0))
(Mathlib.Tactic.Abel.zero_termg 1 0))))))n:βhmono:β (n : β€), 1 β€ n β s.seq (n + 1) β€ s.seq nhmono':β (n : β€), 1 β€ n β β (m : β€), n β€ m β s.seq m β€ s.seq nLemma_7_3_6:β (K : β), S (2 ^ K * 2 - 1) β€ T βK β§ T βK β€ 2 * S (2 ^ K)hn:βn + 1 β€ 2 ^ n * 2 - 1β’ βn + 1 + 1 β€ 2 ^ n * 2 * 2 - 1; All goals completed! π
_ β€ T K := (Lemma_7_3_6 K).1
_ β€ M := hM KCorollary 7.3.7
theorem Series.converges_qseries (q: β) (hq: q > 0) : (mk' (m := 1) fun n β¦ 1 / (n:β) ^ q : Series).converges β (q>1) := q:βhq:q > 0β’ (mk' fun n => 1 / ββn ^ q).converges β q > 1
-- This proof is written to follow the structure of the original text.
q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140β’ s.converges β q > 1
have hs : s.nonneg := q:βhq:q > 0β’ (mk' fun n => 1 / ββn ^ q).converges β q > 1 q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140n:β€β’ s.seq n β₯ 0; q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140n:β€β’ 0 β€ if 1 β€ n then (βn ^ q)β»ΒΉ else 0; q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140n:β€h:1 β€ nβ’ 0 β€ if 1 β€ n then (βn ^ q)β»ΒΉ else 0q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140n:β€h:Β¬1 β€ nβ’ 0 β€ if 1 β€ n then (βn ^ q)β»ΒΉ else 0 q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140n:β€h:1 β€ nβ’ 0 β€ if 1 β€ n then (βn ^ q)β»ΒΉ else 0q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140n:β€h:Β¬1 β€ nβ’ 0 β€ if 1 β€ n then (βn ^ q)β»ΒΉ else 0 All goals completed! π; All goals completed! π
have hmono : β n β₯ 1, s.seq (n+1) β€ s.seq n := q:βhq:q > 0β’ (mk' fun n => 1 / ββn ^ q).converges β q > 1
q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209n:β€hn:n β₯ 1β’ s.seq (n + 1) β€ s.seq n
have hn1 : n β₯ 0 := q:βhq:q > 0β’ (mk' fun n => 1 / ββn ^ q).converges β q > 1 All goals completed! π
have hn3 : n.toNat > 0 := q:βhq:q > 0β’ (mk' fun n => 1 / ββn ^ q).converges β q > 1 All goals completed! π
q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209n:β€hn:n β₯ 1hn1:_fvar.304325 β₯ 0 := ?_mvar.304364hn3:Int.toNat _fvar.304325 > 0 := ?_mvar.305025β’ ((βn + 1) ^ q)β»ΒΉ β€ (βn ^ q)β»ΒΉ
q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209n:β€hn:n β₯ 1hn1:_fvar.304325 β₯ 0 := ?_mvar.304364hn3:Int.toNat _fvar.304325 > 0 := ?_mvar.305025β’ 0 < βn ^ qq:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209n:β€hn:n β₯ 1hn1:_fvar.304325 β₯ 0 := ?_mvar.304364hn3:Int.toNat _fvar.304325 > 0 := ?_mvar.305025β’ 0 β€ βnq:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209n:β€hn:n β₯ 1hn1:_fvar.304325 β₯ 0 := ?_mvar.304364hn3:Int.toNat _fvar.304325 > 0 := ?_mvar.305025β’ βn β€ βn + 1q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209n:β€hn:n β₯ 1hn1:_fvar.304325 β₯ 0 := ?_mvar.304364hn3:Int.toNat _fvar.304325 > 0 := ?_mvar.305025β’ 0 β€ q q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209n:β€hn:n β₯ 1hn1:_fvar.304325 β₯ 0 := ?_mvar.304364hn3:Int.toNat _fvar.304325 > 0 := ?_mvar.305025β’ 0 < βn ^ qq:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209n:β€hn:n β₯ 1hn1:_fvar.304325 β₯ 0 := ?_mvar.304364hn3:Int.toNat _fvar.304325 > 0 := ?_mvar.305025β’ 0 β€ βnq:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209n:β€hn:n β₯ 1hn1:_fvar.304325 β₯ 0 := ?_mvar.304364hn3:Int.toNat _fvar.304325 > 0 := ?_mvar.305025β’ βn β€ βn + 1q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209n:β€hn:n β₯ 1hn1:_fvar.304325 β₯ 0 := ?_mvar.304364hn3:Int.toNat _fvar.304325 > 0 := ?_mvar.305025β’ 0 β€ q try All goals completed! π
All goals completed! π
q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316β’ { m := 0, seq := fun n => if n β₯ 0 then (fun k => 2 ^ k * s.seq (2 ^ k)) n.toNat else 0, vanish := β― }.converges β q > 1
have (n:β) : 2^n * s.seq (2^n) = (2^(1-q))^n := q:βhq:q > 0β’ (mk' fun n => 1 / ββn ^ q).converges β q > 1
have : 1 β€ (2:β€)^n := q:βhq:q > 0β’ (mk' fun n => 1 / ββn ^ q).converges β q > 1 q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316n:ββ’ 1 β€ 2 ^ n; All goals completed! π
q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316n:βthis:1 β€ 2 ^ _fvar.316959 := ?_mvar.317451β’ 2 ^ n * ((2 ^ n) ^ q)β»ΒΉ = (2 ^ (1 - q)) ^ n
q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316n:βthis:1 β€ 2 ^ _fvar.316959 := ?_mvar.317451β’ (2 ^ n) ^ (-q + 1) = (2 ^ n) ^ (1 - q)q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316n:βthis:1 β€ 2 ^ _fvar.316959 := ?_mvar.317451β’ 0 β€ 2q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316n:βthis:1 β€ 2 ^ _fvar.316959 := ?_mvar.317451β’ 2 ^ n β 0q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316n:βthis:1 β€ 2 ^ _fvar.316959 := ?_mvar.317451β’ 0 β€ 2 ^ n q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316n:βthis:1 β€ 2 ^ _fvar.316959 := ?_mvar.317451β’ (2 ^ n) ^ (-q + 1) = (2 ^ n) ^ (1 - q)q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316n:βthis:1 β€ 2 ^ _fvar.316959 := ?_mvar.317451β’ 0 β€ 2q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316n:βthis:1 β€ 2 ^ _fvar.316959 := ?_mvar.317451β’ 2 ^ n β 0q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316n:βthis:1 β€ 2 ^ _fvar.316959 := ?_mvar.317451β’ 0 β€ 2 ^ n (try All goals completed! π); All goals completed! π
q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := fun n => @?_mvar.317365 nβ’ |2 ^ (1 - q)| < 1 β 1 < q
q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := fun n => @?_mvar.317365 nβ’ 1 < 2 β§ 1 - q < 0 β¨ 2 < 1 β§ 0 < 1 - q β 1 < qq:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := fun n => @?_mvar.317365 nβ’ 0 < 2q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := fun n => @?_mvar.317365 nβ’ 0 β€ 2 ^ (1 - q) q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := fun n => @?_mvar.317365 nβ’ 1 < 2 β§ 1 - q < 0 β¨ 2 < 1 β§ 0 < 1 - q β 1 < qq:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := fun n => @?_mvar.317365 nβ’ 0 < 2q:βhq:q > 0s:Chapter7.Series := Chapter7.Series.mk' fun n => 1 / ββn ^ _fvar.296140hs:Chapter7.Series.nonneg _fvar.297160 := ?_mvar.297209hmono:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.304316this:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := fun n => @?_mvar.317365 nβ’ 0 β€ 2 ^ (1 - q) try All goals completed! π
All goals completed! πRemark 7.3.8
theorem Series.zeta_eq {q:β} (hq: q > 1) : (mk' (m := 1) fun n β¦ 1 / (n:β) ^ q : Series).sum = riemannZeta q := q:βhq:q > 1β’ β(mk' fun n => 1 / ββn ^ q).sum = riemannZeta βq
-- `riemannZeta` is defined over the complex numbers, so some preliminary work is needed to specialize to the reals.
q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028β’ β(mk' fun n => 1 / ββn ^ q).sum = riemannZeta βq
have hL : L = riemannZeta q := q:βhq:q > 1β’ β(mk' fun n => 1 / ββn ^ q).sum = riemannZeta βq
q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028β’ βL = β' (n : β), 1 / (βn + 1) ^ βq
q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028n:ββ’ 1 / (βn + 1) ^ βq = β(1 / (βn + 1) ^ q)
All goals completed! π
q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259β’ β(mk' fun n => 1 / ββn ^ q).sum = βL
q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259β’ (mk' fun n => 1 / ββn ^ q).sum = L; q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259β’ (mk' fun n => 1 / ββn ^ q).convergesTo L
have : Summable (fun (n : β)β¦ 1 / (n+1:β) ^ q) := q:βhq:q > 1β’ β(mk' fun n => 1 / ββn ^ q).sum = riemannZeta βq
q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259n:ββ’ βn + 1 = |βn + 1|
q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259n:ββ’ 0 β€ βn + 1; All goals completed! π
have tail (a: β€ β β) (L:β) : Filter.atTop.Tendsto a (nhds L) β Filter.atTop.Tendsto (fun n:β β¦ a n) (nhds L) := q:βhq:q > 1β’ β(mk' fun n => 1 / ββn ^ q).sum = riemannZeta βq
q:βhq:q > 1Lβ:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259this:Summable fun n => 1 / (βn + 1) ^ _fvar.334028 := ?_mvar.340240a:β€ β βL:ββ’ Filter.atTop = Filter.map (fun n => βn) Filter.atTop
All goals completed! π
q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259this:Summable fun n => 1 / (βn + 1) ^ _fvar.334028 := ?_mvar.340240tail:β (a : β€ β β) (L : β), Filter.Tendsto a Filter.atTop (nhds L) β Filter.Tendsto (fun n => a βn) Filter.atTop (nhds L) := fun a L => @?_mvar.343975 a Lβ’ Filter.Tendsto (mk' fun n => 1 / ββn ^ q).partial Filter.atTop (nhds L)
q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259this:Summable fun n => 1 / (βn + 1) ^ _fvar.334028 := ?_mvar.340240tail:β (a : β€ β β) (L : β), Filter.Tendsto a Filter.atTop (nhds L) β Filter.Tendsto (fun n => a βn) Filter.atTop (nhds L) := fun a L => @?_mvar.343975 a Lβ’ Filter.Tendsto (fun n => (mk' fun n => 1 / ββn ^ q).partial βn) Filter.atTop (nhds L)
q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259this:Summable fun n => 1 / (βn + 1) ^ _fvar.334028 := ?_mvar.340240tail:β (a : β€ β β) (L : β), Filter.Tendsto a Filter.atTop (nhds L) β Filter.Tendsto (fun n => a βn) Filter.atTop (nhds L) := fun a L => @?_mvar.343975 a Ln:ββ’ (mk' fun n => 1 / ββn ^ q).partial βn = β i β Finset.range n, 1 / (βi + 1) ^ q
q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259this:Summable fun n => 1 / (βn + 1) ^ _fvar.334028 := ?_mvar.340240tail:β (a : β€ β β) (L : β), Filter.Tendsto a Filter.atTop (nhds L) β Filter.Tendsto (fun n => a βn) Filter.atTop (nhds L) := fun a L => @?_mvar.343975 a Ln:ββ’ (β x β Finset.Icc 1 βn, if 1 β€ x then (βx ^ q)β»ΒΉ else 0) = β x β Finset.range n, ((βx + 1) ^ q)β»ΒΉ
set e : β βͺ β€ := {
toFun n := n+1
inj' _ _ _ := q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 :=
Eq.mpr
(id
(congrArg (fun _a => β_fvar.334370 = _a)
(zeta_eq_tsum_one_div_nat_add_one_cpow
(Eq.mpr
(id
(Eq.trans (congrArg (fun x => x < (β_fvar.334028).re) (Eq.symm Nat.cast_one))
(congrArg (fun x => x < _fvar.334028) Nat.cast_one)))
_fvar.334029))))
(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))
β (β_fvar.334370) (β(β' (a : β), 1 / (βa + 1) ^ _fvar.334028)) (Eq.refl β_fvar.334370)
(β' (n : β), 1 / (βn + 1) ^ β_fvar.334028) (β' (a : β), β(1 / (βa + 1) ^ _fvar.334028))
(eq_of_heq
((fun Ξ± inst inst_1 Ξ² f f' e'_5 =>
Eq.casesOn (motive := fun a x => f' = a β e'_5 β x β tsum f β tsum f') e'_5
(fun h =>
Eq.ndrec (motive := fun f' => β (e_5 : f = f'), e_5 β Eq.refl f β tsum f β tsum f')
(fun e_5 h => HEq.refl (tsum f)) (Eq.symm h) e'_5)
(Eq.refl f') (HEq.refl e'_5))
β NormedAddCommGroup.toENormedAddCommMonoid.toAddCommMonoid
PseudoMetricSpace.toUniformSpace.toTopologicalSpace β (fun n => 1 / (βn + 1) ^ β_fvar.334028)
(fun a => β(1 / (βa + 1) ^ _fvar.334028))
(funext fun n =>
of_eq_true
(Eq.trans
(congr (congrArg Eq (one_div ((βn + 1) ^ β_fvar.334028)))
(Eq.trans
(Eq.trans (congrArg Complex.ofReal (one_div ((βn + 1) ^ _fvar.334028)))
(Complex.ofReal_inv ((βn + 1) ^ _fvar.334028)))
(congrArg Inv.inv
(Eq.trans
((fun x_0 =>
(fun x_0 =>
Complex.ofReal_cpow
(le_of_lt
(Right.add_pos_of_nonneg_of_pos (Nat.cast_nonneg' n)
(Mathlib.Meta.Positivity.pos_of_isNat
(Mathlib.Meta.NormNum.isNat_ofNat β Nat.cast_one) (Eq.refl (Nat.ble 1 1)))))
x_0)
x_0)
_fvar.334028)
(congrArg (fun x => x ^ β_fvar.334028) (Complex.ofReal_add (βn) 1))))))
(eq_self ((βn + 1) ^ β_fvar.334028)β»ΒΉ)))))))
(Complex.ofReal_tsum fun n => 1 / (βn + 1) ^ _fvar.334028))this:Summable fun n => 1 / (βn + 1) ^ _fvar.334028 :=
Eq.mpr
(eq_of_heq
((fun Ξ± Ξ² inst inst_1 f f' e'_5 =>
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))
β β Real.instAddCommMonoid PseudoMetricSpace.toUniformSpace.toTopologicalSpace
(fun n => 1 / (βn + 1) ^ _fvar.334028) (fun n => 1 / |βn + 1| ^ _fvar.334028)
(funext fun n =>
eq_of_heq
((fun Ξ± Ξ² Ξ³ self a a_1 a' e'_6 =>
Eq.casesOn (motive := fun a_2 x => a' = a_2 β e'_6 β x β a / a_1 β a / a') e'_6
(fun h =>
Eq.ndrec (motive := fun a' => β (e_6 : a_1 = a'), e_6 β Eq.refl a_1 β a / a_1 β a / a')
(fun e_6 h => HEq.refl (a / a_1)) (Eq.symm h) e'_6)
(Eq.refl a') (HEq.refl e'_6))
β β β instHDiv 1 ((βn + 1) ^ _fvar.334028) (|βn + 1| ^ _fvar.334028)
(eq_of_heq
((fun Ξ± Ξ² Ξ³ self a a' e'_5 a_1 =>
Eq.casesOn (motive := fun a_2 x => a' = a_2 β e'_5 β x β a ^ a_1 β a' ^ a_1) e'_5
(fun h =>
Eq.ndrec (motive := fun a' => β (e_5 : a = a'), e_5 β Eq.refl a β a ^ a_1 β a' ^ a_1)
(fun e_5 h => HEq.refl (a ^ a_1)) (Eq.symm h) e'_5)
(Eq.refl a') (HEq.refl e'_5))
β β β instHPow (βn + 1) |βn + 1|
(Eq.mpr
(id
(congrArg (fun _a => βn + 1 = _a)
(abs_of_nonneg
(le_of_lt
(Right.add_pos_of_nonneg_of_pos (Nat.cast_nonneg' n)
(Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat β Nat.cast_one)
(Eq.refl (Nat.ble 1 1))))))))
(Eq.refl (βn + 1)))
_fvar.334028))))))
((Real.summable_one_div_nat_add_rpow 1 _fvar.334028).mpr _fvar.334029)tail:β (a : β€ β β) (L : β), Filter.Tendsto a Filter.atTop (nhds L) β Filter.Tendsto (fun n => a βn) Filter.atTop (nhds L) :=
fun a L =>
Eq.mpr
(eq_of_heq
((fun a a' e'_1 b b' e'_2 =>
Eq.casesOn (motive := fun a_1 x => a' = a_1 β e'_1 β x β (a β b) β (a' β b')) e'_1
(fun h =>
Eq.ndrec (motive := fun a' => β (e_1 : a = a'), e_1 β Eq.refl a β (a β b) β (a' β b'))
(fun e_1 h =>
Eq.casesOn (motive := fun a_1 x => b' = a_1 β e'_2 β x β (a β b) β (a β b')) e'_2
(fun h =>
Eq.ndrec (motive := fun b' => β (e_2 : b = b'), e_2 β Eq.refl b β (a β b) β (a β b'))
(fun e_2 h => HEq.refl (a β b)) (Eq.symm h) e'_2)
(Eq.refl b') (HEq.refl e'_2))
(Eq.symm h) e'_1)
(Eq.refl a') (HEq.refl e'_1))
(Filter.Tendsto a Filter.atTop (nhds L)) (Filter.Tendsto a (Filter.map (fun n => βn) Filter.atTop) (nhds L))
(eq_of_heq
((fun Ξ± Ξ² f f' e'_3 lβ lβ' e'_4 lβ lβ' e'_5 =>
Eq.casesOn (motive := fun a x => f' = a β e'_3 β x β Filter.Tendsto f lβ lβ β Filter.Tendsto f' lβ' lβ')
e'_3
(fun h =>
Eq.ndrec (motive := fun f' =>
β (e_3 : f = f'), e_3 β Eq.refl f β Filter.Tendsto f lβ lβ β Filter.Tendsto f' lβ' lβ')
(fun e_3 h =>
Eq.casesOn (motive := fun a x =>
lβ' = a β e'_4 β x β Filter.Tendsto f lβ lβ β Filter.Tendsto f lβ' lβ') e'_4
(fun h =>
Eq.ndrec (motive := fun lβ' =>
β (e_4 : lβ = lβ'), e_4 β Eq.refl lβ β Filter.Tendsto f lβ lβ β Filter.Tendsto f lβ' lβ')
(fun e_4 h =>
Eq.casesOn (motive := fun a x =>
lβ' = a β e'_5 β x β Filter.Tendsto f lβ lβ β Filter.Tendsto f lβ lβ') e'_5
(fun h =>
Eq.ndrec (motive := fun lβ' =>
β (e_5 : lβ = lβ'),
e_5 β Eq.refl lβ β Filter.Tendsto f lβ lβ β Filter.Tendsto f lβ lβ')
(fun e_5 h => HEq.refl (Filter.Tendsto f lβ lβ)) (Eq.symm h) e'_5)
(Eq.refl lβ') (HEq.refl e'_5))
(Eq.symm h) e'_4)
(Eq.refl lβ') (HEq.refl e'_4))
(Eq.symm h) e'_3)
(Eq.refl f') (HEq.refl e'_3))
β€ β a a (Eq.refl a) Filter.atTop (Filter.map (fun n => βn) Filter.atTop)
(of_eq_true (Eq.trans (congrArg (Eq Filter.atTop) Nat.map_cast_int_atTop) (eq_self Filter.atTop))) (nhds L)
(nhds L) (Eq.refl (nhds L))))
(Filter.Tendsto (fun n => a βn) Filter.atTop (nhds L)) (Filter.Tendsto (a β fun n => βn) Filter.atTop (nhds L))
(eq_of_heq
((fun Ξ± Ξ² f f' e'_3 lβ lβ' e'_4 lβ =>
Eq.casesOn (motive := fun a x => f' = a β e'_3 β x β Filter.Tendsto f lβ lβ β Filter.Tendsto f' lβ' lβ)
e'_3
(fun h =>
Eq.ndrec (motive := fun f' =>
β (e_3 : f = f'), e_3 β Eq.refl f β Filter.Tendsto f lβ lβ β Filter.Tendsto f' lβ' lβ)
(fun e_3 h =>
Eq.casesOn (motive := fun a x =>
lβ' = a β e'_4 β x β Filter.Tendsto f lβ lβ β Filter.Tendsto f lβ' lβ) e'_4
(fun h =>
Eq.ndrec (motive := fun lβ' =>
β (e_4 : lβ = lβ'), e_4 β Eq.refl lβ β Filter.Tendsto f lβ lβ β Filter.Tendsto f lβ' lβ)
(fun e_4 h => HEq.refl (Filter.Tendsto f lβ lβ)) (Eq.symm h) e'_4)
(Eq.refl lβ') (HEq.refl e'_4))
(Eq.symm h) e'_3)
(Eq.refl f') (HEq.refl e'_3))
β β (fun n => a βn) (a β fun n => βn) (funext fun x => Eq.refl (a βx)) Filter.atTop Filter.atTop
(Eq.refl Filter.atTop) (nhds L)))))
Filter.tendsto_map'_iffn:βxβΒ²:βxβΒΉ:βxβ:(fun n => βn + 1) xβΒ² = (fun n => βn + 1) xβΒΉβ’ xβΒ² = xβΒΉ All goals completed! π
}
q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259this:Summable fun n => 1 / (βn + 1) ^ _fvar.334028 := ?_mvar.340240tail:β (a : β€ β β) (L : β), Filter.Tendsto a Filter.atTop (nhds L) β Filter.Tendsto (fun n => a βn) Filter.atTop (nhds L) := fun a L => @?_mvar.343975 a Ln:βe:β βͺ β€ := { toFun := fun n => βn + 1, inj' := β― }β’ Finset.Icc 1 βn = Finset.map e (Finset.range n)q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259this:Summable fun n => 1 / (βn + 1) ^ _fvar.334028 := ?_mvar.340240tail:β (a : β€ β β) (L : β), Filter.Tendsto a Filter.atTop (nhds L) β Filter.Tendsto (fun n => a βn) Filter.atTop (nhds L) := fun a L => @?_mvar.343975 a Ln:βe:β βͺ β€ := { toFun := fun n => βn + 1, inj' := β― }m:βhm:m β Finset.range nβ’ ((βm + 1) ^ q)β»ΒΉ = if 1 β€ e m then (β(e m) ^ q)β»ΒΉ else 0
q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259this:Summable fun n => 1 / (βn + 1) ^ _fvar.334028 := ?_mvar.340240tail:β (a : β€ β β) (L : β), Filter.Tendsto a Filter.atTop (nhds L) β Filter.Tendsto (fun n => a βn) Filter.atTop (nhds L) := fun a L => @?_mvar.343975 a Ln:βe:β βͺ β€ := { toFun := fun n => βn + 1, inj' := β― }β’ Finset.Icc 1 βn = Finset.map e (Finset.range n) q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259this:Summable fun n => 1 / (βn + 1) ^ _fvar.334028 := ?_mvar.340240tail:β (a : β€ β β) (L : β), Filter.Tendsto a Filter.atTop (nhds L) β Filter.Tendsto (fun n => a βn) Filter.atTop (nhds L) := fun a L => @?_mvar.343975 a Ln:βe:β βͺ β€ := { toFun := fun n => βn + 1, inj' := β― }x:β€β’ x β Finset.Icc 1 βn β x β Finset.map e (Finset.range n); q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259this:Summable fun n => 1 / (βn + 1) ^ _fvar.334028 := ?_mvar.340240tail:β (a : β€ β β) (L : β), Filter.Tendsto a Filter.atTop (nhds L) β Filter.Tendsto (fun n => a βn) Filter.atTop (nhds L) := fun a L => @?_mvar.343975 a Ln:βe:β βͺ β€ := { toFun := fun n => βn + 1, inj' := β― }x:β€β’ 1 β€ x β§ x β€ βn β β a < n, βa + 1 = x; q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259this:Summable fun n => 1 / (βn + 1) ^ _fvar.334028 := ?_mvar.340240tail:β (a : β€ β β) (L : β), Filter.Tendsto a Filter.atTop (nhds L) β Filter.Tendsto (fun n => a βn) Filter.atTop (nhds L) := fun a L => @?_mvar.343975 a Ln:βe:β βͺ β€ := { toFun := fun n => βn + 1, inj' := β― }x:β€β’ 1 β€ x β§ x β€ βn β β a < n, βa + 1 = xq:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259this:Summable fun n => 1 / (βn + 1) ^ _fvar.334028 := ?_mvar.340240tail:β (a : β€ β β) (L : β), Filter.Tendsto a Filter.atTop (nhds L) β Filter.Tendsto (fun n => a βn) Filter.atTop (nhds L) := fun a L => @?_mvar.343975 a Ln:βe:β βͺ β€ := { toFun := fun n => βn + 1, inj' := β― }x:β€β’ (β a < n, βa + 1 = x) β 1 β€ x β§ x β€ βn
q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259this:Summable fun n => 1 / (βn + 1) ^ _fvar.334028 := ?_mvar.340240tail:β (a : β€ β β) (L : β), Filter.Tendsto a Filter.atTop (nhds L) β Filter.Tendsto (fun n => a βn) Filter.atTop (nhds L) := fun a L => @?_mvar.343975 a Ln:βe:β βͺ β€ := { toFun := fun n => βn + 1, inj' := β― }x:β€β’ 1 β€ x β§ x β€ βn β β a < n, βa + 1 = x q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259this:Summable fun n => 1 / (βn + 1) ^ _fvar.334028 := ?_mvar.340240tail:β (a : β€ β β) (L : β), Filter.Tendsto a Filter.atTop (nhds L) β Filter.Tendsto (fun n => a βn) Filter.atTop (nhds L) := fun a L => @?_mvar.343975 a Ln:βe:β βͺ β€ := { toFun := fun n => βn + 1, inj' := β― }x:β€leftβ:1 β€ xrightβ:x β€ βnβ’ β a < n, βa + 1 = x; q:βhq:q > 1L:β := β' (n : β), 1 / (βn + 1) ^ _fvar.334028hL:β_fvar.334370 = riemannZeta β_fvar.334028 := ?_mvar.335259this:Summable fun n => 1 / (βn + 1) ^ _fvar.334028 := ?_mvar.340240tail:β (a : β€ β β) (L : β), Filter.Tendsto a Filter.atTop (nhds L) β Filter.Tendsto (fun n => a βn) Filter.atTop (nhds L) := fun a L => @?_mvar.343975 a Ln:βe:β βͺ β€ := { toFun := fun n => βn + 1, inj' := β― }x:β€leftβ:1 β€ xrightβ:x β€ βnβ’ (x - 1).toNat < n β§ β(x - 1).toNat + 1 = x; All goals completed! π
All goals completed! π
All goals completed! πtheorem Series.Basel_problem : (mk' (m := 1) fun n β¦ 1 / (n:β) ^ 2 : Series).sum = Real.pi ^ 2 / 6 := β’ (mk' fun n => 1 / ββn ^ 2).sum = Ο ^ 2 / 6
have := zeta_eq (show 2 > 1 β’ (mk' fun n => 1 / ββn ^ 2).sum = Ο ^ 2 / 6 All goals completed! π)
this:β(mk' fun n => (ββn ^ 2)β»ΒΉ).sum = βΟ ^ 2 / 6β’ (mk' fun n => 1 / ββn ^ 2).sum = Ο ^ 2 / 6
All goals completed! πExercise 7.3.3
theorem Series.nonneg_sum_zero {a:β β β} (ha: (a:Series).nonneg) (hconv: (a:Series).converges) : (a:Series).sum = 0 β β n, a n = 0 := a:β β βha:{ m := 0, seq := fun n => if n β₯ 0 then a n.toNat else 0, vanish := β― }.nonneghconv:{ m := 0, seq := fun n => if n β₯ 0 then a n.toNat else 0, vanish := β― }.convergesβ’ { m := 0, seq := fun n => if n β₯ 0 then a n.toNat else 0, vanish := β― }.sum = 0 β β (n : β), a n = 0 All goals completed! πend Chapter7