Аналіз I, Розділ 7.5: Ознаки кореня та відношення

Я (прим. перекл. Терренс Тао) намагався зробити переклад якомога точнішим перефразуванням оригінального тексту. Коли є вибір між більш ідіоматичним підходом Lean та більш точним перекладом, я зазвичай обирав останній. Зокрема, будуть місця, де код Lean можна було б "підправити", щоб зробити його більш елегантним та ідіоматичним, але я свідомо уникав цього вибору.

Основні конструкції та результати цього розділу:

Одне, що лише імпліцитно вказане в тексті, — це те, що для ознаки кореня та ознаки відношення нижню та верхню границі (lim inf і lim sup) слід розуміти в розширених дійсних числах. Формалізації в Lean нижче роблять це твердження більш явним.

namespace Chapter7open Filter Real EReal

Твердження 7.5.1(a) (Ознака кореня). Потрібна технічна умова для забезпечення скінченності limsup.

theorem Series.root_test_pos {s : Series} (h : atTop.limsup (fun n ((|s.seq n|^(1/(n:)):):EReal)) < 1) : s.absConverges := s:Seriesh:limsup (fun n => (|s.seq n| ^ (1 / n))) atTop < 1s.absConverges -- Доведення написане так, щоб відповідати структурі оригінального тексту. s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)h:α' < 1s.absConverges have hpos : 0 α' := s:Seriesh:limsup (fun n => (|s.seq n| ^ (1 / n))) atTop < 1s.absConverges apply le_limsup_of_frequently_le (Frequently.of_forall _) (s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)h:α' < 1IsBoundedUnder (fun x1 x2 => x1 x2) atTop fun n => (|s.seq n| ^ (1 / n)) All goals completed! 🐙) s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)h:α' < 1x✝:0 (|s.seq x✝| ^ (1 / x✝)); All goals completed! 🐙 s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)h:α' < 1hpos:0 _fvar.1291 := ?_mvar.1416α: := EReal.toReal _fvar.1291s.absConverges have hαα' : α' = α := s:Seriesh:limsup (fun n => (|s.seq n| ^ (1 / n))) atTop < 1s.absConverges s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)h:α' < 1hpos:0 _fvar.1291 := ?_mvar.1416α: := EReal.toReal _fvar.1291α = α'; s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)h:α' < 1hpos:0 _fvar.1291 := ?_mvar.1416α: := EReal.toReal _fvar.1291α' s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)h:α' < 1hpos:0 _fvar.1291 := ?_mvar.1416α: := EReal.toReal _fvar.1291α' s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)h:α' < 1hpos:0 _fvar.1291 := ?_mvar.1416α: := EReal.toReal _fvar.1291α' s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hpos:0 _fvar.1291 := ?_mvar.1416α: := EReal.toReal _fvar.1291h:α' = 1 α'; All goals completed! 🐙 s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)h:α' < 1α: := EReal.toReal _fvar.1291hpos:α' = α' < 0; All goals completed! 🐙 s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hpos:0 αh:α < 1hαα':α' = αs.absConverges; s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αs.absConverges s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2s.absConverges have : 0 < ε := s:Seriesh:limsup (fun n => (|s.seq n| ^ (1 / n))) atTop < 1s.absConverges s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2α < 1; All goals completed! 🐙 have hε' : α' < (α+ε:) := s:Seriesh:limsup (fun n => (|s.seq n| ^ (1 / n))) atTop < 1s.absConverges s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462α < α + ε; All goals completed! 🐙 have : α + ε < 1 := s:Seriesh:limsup (fun n => (|s.seq n| ^ (1 / n))) atTop < 1s.absConverges s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146α + (1 - α) / 2 < 1; All goals completed! 🐙 have hα' : 0 < α + ε := s:Seriesh:limsup (fun n => (|s.seq n| ^ (1 / n))) atTop < 1s.absConverges All goals completed! 🐙 have := eventually_lt_of_limsup_lt hε' (s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := Eq.mpr (id (Eq.trans (div_pos_iff_of_pos_right._simp_1 (of_eq_true Nat.ofNat_pos._simp_1)) one_lt_div'._simp_4)) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.4877 + _fvar.8335)) _fvar.6576)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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 (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))):_fvar.4877 + _fvar.8335 < 1 := id (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1)))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (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_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_overlap (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1))))) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Eq.mp (congrArg (fun _a => _a 0) (CancelDenoms.sub_subst rfl (CancelDenoms.add_subst rfl (CancelDenoms.div_subst (CancelDenoms.sub_subst rfl rfl) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)))) (Eq.refl (Nat.mul 2 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.isNat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl 2)) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))))))) (Mathlib.Tactic.Linarith.mul_nonpos (Mathlib.Tactic.Linarith.sub_nonpos_of_le a) (Mathlib.Meta.NormNum.isNat_lt_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl false)))))))hα':0 < _fvar.4877 + _fvar.8335 := lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_zero_add (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Rat.rawCast (Int.negOfNat 1) 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.add_lt_of_le_of_neg (Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.8142) (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463)) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))IsBoundedUnder (fun x1 x2 => x1 x2) atTop fun n => (|s.seq n| ^ (1 / n)) All goals completed! 🐙) s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934this: a, b a, (|s.seq b| ^ (1 / b)) < (α + ε)s.absConverges s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)s.absConverges; s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)s.absConverges have (n:) (hn: n N) : |s.seq n| (α + ε)^n := s:Seriesh:limsup (fun n => (|s.seq n| ^ (1 / n))) atTop < 1s.absConverges have : n N' := s:Seriesh:limsup (fun n => (|s.seq n| ^ (1 / n))) atTop < 1s.absConverges All goals completed! 🐙 have npos : 0 < n := s:Seriesh:limsup (fun n => (|s.seq n| ^ (1 / n))) atTop < 1s.absConverges All goals completed! 🐙 s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':N: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:hn:n Nthis:_fvar.16724 _fvar.16471 := ?_mvar.16862npos:0 < _fvar.16724 := ?_mvar.17078hN:(|s.seq n| ^ (1 / n)) < (α + ε)|s.seq n| (α + ε) ^ n s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':N: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:hn:n Nthis:_fvar.16724 _fvar.16471 := ?_mvar.16862npos:0 < _fvar.16724 := ?_mvar.17078hN:|s.seq n| ^ (1 / n) < α + ε|s.seq n| (α + ε) ^ n calc _ = (|s.seq n|^(1/(n:)))^n := s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := Eq.mpr (id (Eq.trans (div_pos_iff_of_pos_right._simp_1 (of_eq_true Nat.ofNat_pos._simp_1)) one_lt_div'._simp_4)) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.4877 + _fvar.8335)) _fvar.6576)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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 (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))):_fvar.4877 + _fvar.8335 < 1 := id (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1)))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (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_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_overlap (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1))))) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Eq.mp (congrArg (fun _a => _a 0) (CancelDenoms.sub_subst rfl (CancelDenoms.add_subst rfl (CancelDenoms.div_subst (CancelDenoms.sub_subst rfl rfl) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)))) (Eq.refl (Nat.mul 2 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.isNat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl 2)) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))))))) (Mathlib.Tactic.Linarith.mul_nonpos (Mathlib.Tactic.Linarith.sub_nonpos_of_le a) (Mathlib.Meta.NormNum.isNat_lt_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl false)))))))hα':0 < _fvar.4877 + _fvar.8335 := lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_zero_add (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Rat.rawCast (Int.negOfNat 1) 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.add_lt_of_le_of_neg (Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.8142) (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463)) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))N':N: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:hn:n Nthis:_fvar.16724 _fvar.16471 := Decidable.byContradiction fun a => Chapter7.Series.root_test_pos._proof_1 _fvar.16471 _fvar.16724 _fvar.16732 anpos:0 < _fvar.16724 := Decidable.byContradiction fun a => Chapter7.Series.root_test_pos._proof_2 _fvar.16471 _fvar.16724 _fvar.16732 _fvar.16863 ahN:|s.seq n| ^ (1 / n) < α + ε|s.seq n| = (|s.seq n| ^ (1 / n)) ^ n s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := Eq.mpr (id (Eq.trans (div_pos_iff_of_pos_right._simp_1 (of_eq_true Nat.ofNat_pos._simp_1)) one_lt_div'._simp_4)) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.4877 + _fvar.8335)) _fvar.6576)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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 (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))):_fvar.4877 + _fvar.8335 < 1 := id (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1)))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (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_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_overlap (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1))))) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Eq.mp (congrArg (fun _a => _a 0) (CancelDenoms.sub_subst rfl (CancelDenoms.add_subst rfl (CancelDenoms.div_subst (CancelDenoms.sub_subst rfl rfl) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)))) (Eq.refl (Nat.mul 2 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.isNat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl 2)) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))))))) (Mathlib.Tactic.Linarith.mul_nonpos (Mathlib.Tactic.Linarith.sub_nonpos_of_le a) (Mathlib.Meta.NormNum.isNat_lt_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl false)))))))hα':0 < _fvar.4877 + _fvar.8335 := lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_zero_add (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Rat.rawCast (Int.negOfNat 1) 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.add_lt_of_le_of_neg (Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.8142) (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463)) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))N':N: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:hn:n Nthis:_fvar.16724 _fvar.16471 := Decidable.byContradiction fun a => Chapter7.Series.root_test_pos._proof_1 _fvar.16471 _fvar.16724 _fvar.16732 anpos:0 < _fvar.16724 := Decidable.byContradiction fun a => Chapter7.Series.root_test_pos._proof_2 _fvar.16471 _fvar.16724 _fvar.16732 _fvar.16863 ahN:|s.seq n| ^ (1 / n) < α + ε|s.seq n| = |s.seq n| ^ (1 / n * n) s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := Eq.mpr (id (Eq.trans (div_pos_iff_of_pos_right._simp_1 (of_eq_true Nat.ofNat_pos._simp_1)) one_lt_div'._simp_4)) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.4877 + _fvar.8335)) _fvar.6576)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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 (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))):_fvar.4877 + _fvar.8335 < 1 := id (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1)))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (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_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_overlap (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1))))) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Eq.mp (congrArg (fun _a => _a 0) (CancelDenoms.sub_subst rfl (CancelDenoms.add_subst rfl (CancelDenoms.div_subst (CancelDenoms.sub_subst rfl rfl) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)))) (Eq.refl (Nat.mul 2 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.isNat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl 2)) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))))))) (Mathlib.Tactic.Linarith.mul_nonpos (Mathlib.Tactic.Linarith.sub_nonpos_of_le a) (Mathlib.Meta.NormNum.isNat_lt_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl false)))))))hα':0 < _fvar.4877 + _fvar.8335 := lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_zero_add (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Rat.rawCast (Int.negOfNat 1) 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.add_lt_of_le_of_neg (Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.8142) (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463)) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))N':N: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:hn:n Nthis:_fvar.16724 _fvar.16471 := Decidable.byContradiction fun a => Chapter7.Series.root_test_pos._proof_1 _fvar.16471 _fvar.16724 _fvar.16732 anpos:0 < _fvar.16724 := Decidable.byContradiction fun a => Chapter7.Series.root_test_pos._proof_2 _fvar.16471 _fvar.16724 _fvar.16732 _fvar.16863 ahN:|s.seq n| ^ (1 / n) < α + ε|s.seq n| ^ (1 / n * n) = |s.seq n|; s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := Eq.mpr (id (Eq.trans (div_pos_iff_of_pos_right._simp_1 (of_eq_true Nat.ofNat_pos._simp_1)) one_lt_div'._simp_4)) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.4877 + _fvar.8335)) _fvar.6576)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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 (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))):_fvar.4877 + _fvar.8335 < 1 := id (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1)))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (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_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_overlap (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1))))) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Eq.mp (congrArg (fun _a => _a 0) (CancelDenoms.sub_subst rfl (CancelDenoms.add_subst rfl (CancelDenoms.div_subst (CancelDenoms.sub_subst rfl rfl) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)))) (Eq.refl (Nat.mul 2 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.isNat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl 2)) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))))))) (Mathlib.Tactic.Linarith.mul_nonpos (Mathlib.Tactic.Linarith.sub_nonpos_of_le a) (Mathlib.Meta.NormNum.isNat_lt_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl false)))))))hα':0 < _fvar.4877 + _fvar.8335 := lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_zero_add (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Rat.rawCast (Int.negOfNat 1) 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.add_lt_of_le_of_neg (Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.8142) (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463)) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))N':N: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:hn:n Nthis:_fvar.16724 _fvar.16471 := Decidable.byContradiction fun a => Chapter7.Series.root_test_pos._proof_1 _fvar.16471 _fvar.16724 _fvar.16732 anpos:0 < _fvar.16724 := Decidable.byContradiction fun a => Chapter7.Series.root_test_pos._proof_2 _fvar.16471 _fvar.16724 _fvar.16732 _fvar.16863 ahN:|s.seq n| ^ (1 / n) < α + ε1 / n * n = 1; All goals completed! 🐙 _ _ := s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := Eq.mpr (id (Eq.trans (div_pos_iff_of_pos_right._simp_1 (of_eq_true Nat.ofNat_pos._simp_1)) one_lt_div'._simp_4)) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.4877 + _fvar.8335)) _fvar.6576)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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 (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))):_fvar.4877 + _fvar.8335 < 1 := id (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1)))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (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_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_overlap (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1))))) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Eq.mp (congrArg (fun _a => _a 0) (CancelDenoms.sub_subst rfl (CancelDenoms.add_subst rfl (CancelDenoms.div_subst (CancelDenoms.sub_subst rfl rfl) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)))) (Eq.refl (Nat.mul 2 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.isNat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl 2)) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))))))) (Mathlib.Tactic.Linarith.mul_nonpos (Mathlib.Tactic.Linarith.sub_nonpos_of_le a) (Mathlib.Meta.NormNum.isNat_lt_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl false)))))))hα':0 < _fvar.4877 + _fvar.8335 := lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_zero_add (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Rat.rawCast (Int.negOfNat 1) 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.add_lt_of_le_of_neg (Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.8142) (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463)) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))N':N: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:hn:n Nthis:_fvar.16724 _fvar.16471 := Decidable.byContradiction fun a => Chapter7.Series.root_test_pos._proof_1 _fvar.16471 _fvar.16724 _fvar.16732 anpos:0 < _fvar.16724 := Decidable.byContradiction fun a => Chapter7.Series.root_test_pos._proof_2 _fvar.16471 _fvar.16724 _fvar.16732 _fvar.16863 ahN:|s.seq n| ^ (1 / n) < α + ε(|s.seq n| ^ (1 / n)) ^ n (α + ε) ^ n convert pow_le_pow_left₀ (s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := Eq.mpr (id (Eq.trans (div_pos_iff_of_pos_right._simp_1 (of_eq_true Nat.ofNat_pos._simp_1)) one_lt_div'._simp_4)) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.4877 + _fvar.8335)) _fvar.6576)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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 (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))):_fvar.4877 + _fvar.8335 < 1 := id (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1)))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (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_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_overlap (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1))))) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Eq.mp (congrArg (fun _a => _a 0) (CancelDenoms.sub_subst rfl (CancelDenoms.add_subst rfl (CancelDenoms.div_subst (CancelDenoms.sub_subst rfl rfl) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)))) (Eq.refl (Nat.mul 2 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.isNat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl 2)) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))))))) (Mathlib.Tactic.Linarith.mul_nonpos (Mathlib.Tactic.Linarith.sub_nonpos_of_le a) (Mathlib.Meta.NormNum.isNat_lt_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl false)))))))hα':0 < _fvar.4877 + _fvar.8335 := lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_zero_add (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Rat.rawCast (Int.negOfNat 1) 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.add_lt_of_le_of_neg (Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.8142) (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463)) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))N':N: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:hn:n Nthis:_fvar.16724 _fvar.16471 := Decidable.byContradiction fun a => Chapter7.Series.root_test_pos._proof_1 _fvar.16471 _fvar.16724 _fvar.16732 anpos:0 < _fvar.16724 := Decidable.byContradiction fun a => Chapter7.Series.root_test_pos._proof_2 _fvar.16471 _fvar.16724 _fvar.16732 _fvar.16863 ahN:|s.seq n| ^ (1 / n) < α + ε0 |s.seq n| ^ (1 / n) All goals completed! 🐙) (le_of_lt hN) n.toNat all_goals s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := Eq.mpr (id (Eq.trans (div_pos_iff_of_pos_right._simp_1 (of_eq_true Nat.ofNat_pos._simp_1)) one_lt_div'._simp_4)) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.4877 + _fvar.8335)) _fvar.6576)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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 (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))):_fvar.4877 + _fvar.8335 < 1 := id (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1)))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (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_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_overlap (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1))))) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Eq.mp (congrArg (fun _a => _a 0) (CancelDenoms.sub_subst rfl (CancelDenoms.add_subst rfl (CancelDenoms.div_subst (CancelDenoms.sub_subst rfl rfl) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)))) (Eq.refl (Nat.mul 2 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.isNat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl 2)) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))))))) (Mathlib.Tactic.Linarith.mul_nonpos (Mathlib.Tactic.Linarith.sub_nonpos_of_le a) (Mathlib.Meta.NormNum.isNat_lt_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl false)))))))hα':0 < _fvar.4877 + _fvar.8335 := lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_zero_add (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Rat.rawCast (Int.negOfNat 1) 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.add_lt_of_le_of_neg (Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.8142) (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463)) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))N':N: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)n:hn:n Nthis:_fvar.16724 _fvar.16471 := Decidable.byContradiction fun a => Chapter7.Series.root_test_pos._proof_1 _fvar.16471 _fvar.16724 _fvar.16732 anpos:0 < _fvar.16724 := Decidable.byContradiction fun a => Chapter7.Series.root_test_pos._proof_2 _fvar.16471 _fvar.16724 _fvar.16732 _fvar.16863 ahN:|s.seq n| ^ (1 / n) < α + εn = n.toNat; All goals completed! 🐙 s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)s.absConverges have hNk : N = s.m + k := s:Seriesh:limsup (fun n => (|s.seq n| ^ (1 / n))) atTop < 1s.absConverges All goals completed! 🐙 have hgeom : (fun n (α+ε) ^ n : Series).converges := s:Seriesh:limsup (fun n => (|s.seq n| ^ (1 / n))) atTop < 1s.absConverges All goals completed! 🐙 s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergess.absConverges have : (s.from N).absConverges := s:Seriesh:limsup (fun n => (|s.seq n| ^ (1 / n))) atTop < 1s.absConverges s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).converges(s.from N).m = ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).ms:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).converges n (s.from N).m, |(s.from N).seq n| ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).seq n s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).converges(s.from N).m = ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).m s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesmax s.m N = max N 0; All goals completed! 🐙 s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesn:hn:n (s.from N).m|(s.from N).seq n| ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).seq n; s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesn:hn:s.m n N n|(s.from N).seq n| ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).seq n have hn' : n 0 := s:Seriesh:limsup (fun n => (|s.seq n| ^ (1 / n))) atTop < 1s.absConverges All goals completed! 🐙 s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesn:hn:s.m n N nhn':_fvar.53974 0 := ?_mvar.57342|s.seq n| (α + ε) ^ n.toNat s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesn:hn:s.m n N nhn':_fvar.53974 0 := ?_mvar.57342(α + ε) ^ n.toNat = (α + ε) ^ n; s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesn:hn:s.m n N nhn':_fvar.53974 0 := ?_mvar.57342(α + ε) ^ n = (α + ε) ^ n.toNat; s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesn:hn:s.m n N nhn':_fvar.53974 0 := ?_mvar.57342n = n.toNat; All goals completed! 🐙 s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := ?_mvar.44825s.abs.converges s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := ?_mvar.44825(s.abs.from (s.abs.m + k)).converges; s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := ?_mvar.44825s.abs.from (s.abs.m + k) = (s.from N).abs; s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := ?_mvar.44825s.m + k = max s.m N (fun n => if s.m + k n then if s.m n then |s.seq n| else 0 else 0) = fun n => if s.m n N n then |if s.m n N n then s.seq n else 0| else 0; refine s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := Eq.mpr (id (Eq.trans (div_pos_iff_of_pos_right._simp_1 (of_eq_true Nat.ofNat_pos._simp_1)) one_lt_div'._simp_4)) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.4877 + _fvar.8335)) _fvar.6576)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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 (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a))))):_fvar.4877 + _fvar.8335 < 1 := id (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (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.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.mul_one (Nat.rawCast 2))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 2)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 2 + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.mul_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_right _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.one_mul (Nat.rawCast 1))) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))) (Mathlib.Tactic.Ring.zero_mul (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1)))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (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_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_overlap (Mathlib.Meta.NormNum.IsNat.to_raw_eq (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 2)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 1))))) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ 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_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.7965) (Eq.mp (congrArg (fun _a => _a 0) (CancelDenoms.sub_subst rfl (CancelDenoms.add_subst rfl (CancelDenoms.div_subst (CancelDenoms.sub_subst rfl rfl) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_div (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNNRat.to_isNat (Mathlib.Meta.NormNum.isNNRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)))) (Eq.refl (Nat.mul 2 1)) (Eq.refl 2)))))) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Meta.NormNum.isNat_eq_true (Mathlib.Meta.NormNum.isNat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl 2)) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))))))) (Mathlib.Tactic.Linarith.mul_nonpos (Mathlib.Tactic.Linarith.sub_nonpos_of_le a) (Mathlib.Meta.NormNum.isNat_lt_true (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero) (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2)) (Eq.refl false)))))))hα':0 < _fvar.4877 + _fvar.8335 := lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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_zero_add (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (Nat.rawCast 1) (Mathlib.Tactic.Ring.neg_one_mul (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) Mathlib.Tactic.Ring.neg_zero)) (Mathlib.Tactic.Ring.add_pf_zero_add (Rat.rawCast (Int.negOfNat 1) 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_gt (Rat.rawCast (Int.negOfNat 1) 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.div_congr (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one)) (Mathlib.Tactic.Ring.atom_pf _fvar.4877) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.4877 (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.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.cast_pos (Mathlib.Meta.NormNum.isNat_ofNat (Eq.refl 2))) (Mathlib.Tactic.Ring.div_pf (Mathlib.Tactic.Ring.inv_single (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2))))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.one_mul (NNRat.rawCast 1 2)) (Mathlib.Tactic.Ring.mul_zero (Nat.rawCast 1)) (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + 0))) (Mathlib.Tactic.Ring.add_mul (Mathlib.Tactic.Ring.mul_add (Mathlib.Tactic.Ring.mul_pf_left _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsRat.to_raw_eq (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Tactic.Ring.mul_zero (_fvar.4877 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.zero_mul (NNRat.rawCast 1 2 + 0)) (Mathlib.Tactic.Ring.add_pf_add_zero (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0))) (Mathlib.Tactic.Ring.add_pf_add_lt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_zero_add (_fvar.4877 ^ Nat.rawCast 1 * Rat.rawCast (Int.negOfNat 1) 2 + 0)))))) (Mathlib.Tactic.Ring.add_pf_add_gt (NNRat.rawCast 1 2) (Mathlib.Tactic.Ring.add_pf_add_overlap (Mathlib.Tactic.Ring.add_overlap_pf _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsNNRat.to_raw_eq (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)) (Mathlib.Tactic.Ring.sub_pf Mathlib.Tactic.Ring.neg_zero (Mathlib.Tactic.Ring.add_pf_add_zero (NNRat.rawCast 1 2 + (_fvar.4877 ^ Nat.rawCast 1 * NNRat.rawCast 1 2 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4)))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.4877 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.IsRat.to_isInt (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl ((Int.negOfNat 1).mul (Int.negOfNat 1))) (Eq.refl 2)))))) (Eq.refl (Int.negOfNat 1)) (Eq.refl 2)))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.IsRat.to_isNNRat (Mathlib.Meta.NormNum.isRat_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 1))) (Mathlib.Meta.NormNum.IsRat.of_raw (Int.negOfNat 1) 2 (Mathlib.Meta.NormNum.IsRat.den_nz (Mathlib.Meta.NormNum.isRat_mul (Eq.refl HMul.hMul) (Mathlib.Meta.NormNum.IsInt.to_isRat (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1))) (Mathlib.Meta.NormNum.IsNNRat.to_isRat (Mathlib.Meta.NormNum.IsNNRat.of_raw 1 2 (Mathlib.Meta.NormNum.IsNNRat.den_nz (Mathlib.Meta.NormNum.isNNRat_inv_pos (Mathlib.Meta.NormNum.IsNat.to_isNNRat (Mathlib.Meta.NormNum.IsNat.of_raw 2)))))) (Eq.refl ((Int.negOfNat 1).mul (Int.ofNat 1))) (Eq.refl 2)))) (Eq.refl (Int.ofNat 1)) (Eq.refl 2)))))) (Eq.refl (Int.ofNat 0)) (Eq.refl 4))))) (Mathlib.Tactic.Ring.add_pf_zero_add 0)))) (Mathlib.Tactic.Ring.cast_zero (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.add_lt_of_le_of_neg (Mathlib.Tactic.Linarith.sub_nonpos_of_le _fvar.8142) (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.8463)) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)k: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk: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)hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)s.m + k = max s.m N All goals completed! 🐙, ?_ s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := ?_mvar.44825n:(if s.m + k n then if s.m n then |s.seq n| else 0 else 0) = if s.m n N n then |if s.m n N n then s.seq n else 0| else 0 s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := ?_mvar.44825n:hnm:n s.m(if s.m + k n then if s.m n then |s.seq n| else 0 else 0) = if s.m n N n then |if s.m n N n then s.seq n else 0| else 0s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := ?_mvar.44825n:hnm:¬n s.m(if s.m + k n then if s.m n then |s.seq n| else 0 else 0) = if s.m n N n then |if s.m n N n then s.seq n else 0| else 0 s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := ?_mvar.44825n:hnm:n s.m(if s.m + k n then if s.m n then |s.seq n| else 0 else 0) = if s.m n N n then |if s.m n N n then s.seq n else 0| else 0s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := ?_mvar.44825n:hnm:¬n s.m(if s.m + k n then if s.m n then |s.seq n| else 0 else 0) = if s.m n N n then |if s.m n N n then s.seq n else 0| else 0 All goals completed! 🐙 s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := ?_mvar.44825n:hnm:n s.mhn:n N(if s.m + k n then |s.seq n| else 0) = if N n then |if N n then s.seq n else 0| else 0s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := ?_mvar.44825n:hnm:n s.mhn:¬n N(if s.m + k n then |s.seq n| else 0) = if N n then |if N n then s.seq n else 0| else 0 s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := ?_mvar.44825n:hnm:n s.mhn:n N(if s.m + k n then |s.seq n| else 0) = if N n then |if N n then s.seq n else 0| else 0s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := ?_mvar.44825n:hnm:n s.mhn:¬n N(if s.m + k n then |s.seq n| else 0) = if N n then |if N n then s.seq n else 0| else 0 s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := ?_mvar.44825n:hnm:n s.mhn:¬n Ns.m + k n s.seq n = 0 s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := ?_mvar.44825n:hnm:n s.mhn:n Nn < s.m + k 0 = |s.seq n|s:Seriesα':EReal := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)α: := EReal.toReal _fvar.1291hαα':α' = αh:α < 1hpos:0 αε: := (1 - _fvar.4877) / 2:0 < _fvar.8335 := ?_mvar.8462hε':_fvar.1291 < (_fvar.4877 + _fvar.8335) := ?_mvar.12146:_fvar.4877 + _fvar.8335 < 1 := ?_mvar.12437hα':0 < _fvar.4877 + _fvar.8335 := ?_mvar.14934N':hN: b N', (|s.seq b| ^ (1 / b)) < (α + ε)N: := 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) := fun n hn => @?_mvar.16849 n hnk: := failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation)hNk:failed to pretty print expression (use 'set_option pp.rawOnError true' for raw representation) := ?_mvar.40555hgeom:({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.from ({ m := 0, seq := fun n => if n 0 then (fun n => (α + ε) ^ n) n.toNat else 0, vanish := }.m + N.toNat)).convergesthis:(Chapter7.Series.from _fvar.669 _fvar.16568).abs.converges := ?_mvar.44825n:hnm:n s.mhn:¬n Ns.m + k n s.seq n = 0 All goals completed! 🐙

Теорема 7.5.1(b) (Ознака кореня)

theorem Series.root_test_neg {s : Series} (h : atTop.limsup (fun n ((|s.seq n|^(1/(n:)):):EReal)) > 1) : s.diverges := s:Seriesh:limsup (fun n => (|s.seq n| ^ (1 / n))) atTop > 1s.diverges -- Доведення написане так, щоб відповідати структурі оригінального тексту. apply frequently_lt_of_lt_limsup (s:Seriesh:limsup (fun n => (|s.seq n| ^ (1 / n))) atTop > 1IsCoboundedUnder (fun x1 x2 => x1 x2) atTop fun n => (|s.seq n| ^ (1 / n)) All goals completed! 🐙) at h s:Seriesh:∃ᶠ (x : ) in atTop, 1 < (|s.seq x| ^ (1 / x))¬Tendsto s.seq atTop (nhds 0) s:Seriesh:∃ᶠ (x : ) in atTop, 1 < (|s.seq x| ^ (1 / x))this:Tendsto s.seq atTop (nhds 0)False; s:Seriesh:∃ᶠ (x : ) in atTop, 1 < (|s.seq x| ^ (1 / x))this: ε > 0, ∀ᶠ (b : ) in atTop, |s.seq b - 0| < εFalse; specialize this 1 (s:Seriesh:∃ᶠ (x : ) in atTop, 1 < (|s.seq x| ^ (1 / x))this: ε > 0, ∀ᶠ (b : ) in atTop, |s.seq b - 0| < ε1 > 0 All goals completed! 🐙) s:Seriesh:∃ᶠ (x : ) in atTop, 1 < (|s.seq x| ^ (1 / x))this:∀ᶠ (b : ) in atTop, |s.seq b - 0| < 1n:hn:n 1hs:1 < (|s.seq n| ^ (1 / n))hs':|s.seq n - 0| < 1False s:Seriesh:∃ᶠ (x : ) in atTop, 1 < (|s.seq x| ^ (1 / x))this:∀ᶠ (b : ) in atTop, |s.seq b - 0| < 1n:hn:n 1hs:1 < (|s.seq n| ^ (1 / n))hs':|s.seq n| < 1False; s:Seriesh:∃ᶠ (x : ) in atTop, 1 < (|s.seq x| ^ (1 / x))this:∀ᶠ (b : ) in atTop, |s.seq b - 0| < 1n:hn:n 1hs:1 < (|s.seq n| ^ (1 / n))hs':?_mvar.158753 := Real.rpow_lt_one ?_mvar.158756 _fvar.158748 ?_mvar.158950Falses:Seriesh:∃ᶠ (x : ) in atTop, 1 < (|s.seq x| ^ (1 / x))this:∀ᶠ (b : ) in atTop, |s.seq b - 0| < 1n:hn:n 1hs:1 < (|s.seq n| ^ (1 / n))hs':|s.seq n| < 10 |s.seq n|s:Seriesh:∃ᶠ (x : ) in atTop, 1 < (|s.seq x| ^ (1 / x))this:∀ᶠ (b : ) in atTop, |s.seq b - 0| < 1n:hn:n 1hs:1 < (|s.seq n| ^ (1 / n))hs':|s.seq n| < 10 < 1 / n s:Seriesh:∃ᶠ (x : ) in atTop, 1 < (|s.seq x| ^ (1 / x))this:∀ᶠ (b : ) in atTop, |s.seq b - 0| < 1n:hn:n 1hs:1 < (|s.seq n| ^ (1 / n))hs':?_mvar.158753 := Real.rpow_lt_one ?_mvar.158756 _fvar.158748 ?_mvar.158950Falses:Seriesh:∃ᶠ (x : ) in atTop, 1 < (|s.seq x| ^ (1 / x))this:∀ᶠ (b : ) in atTop, |s.seq b - 0| < 1n:hn:n 1hs:1 < (|s.seq n| ^ (1 / n))hs':|s.seq n| < 10 |s.seq n|s:Seriesh:∃ᶠ (x : ) in atTop, 1 < (|s.seq x| ^ (1 / x))this:∀ᶠ (b : ) in atTop, |s.seq b - 0| < 1n:hn:n 1hs:1 < (|s.seq n| ^ (1 / n))hs':|s.seq n| < 10 < 1 / n try All goals completed! 🐙 s:Seriesh:∃ᶠ (x : ) in atTop, 1 < (|s.seq x| ^ (1 / x))this:∀ᶠ (b : ) in atTop, |s.seq b - 0| < 1n:hn:n 1hs:1 < |s.seq n| ^ (1 / n)hs':|s.seq n| ^ (1 / n) < 1False All goals completed! 🐙

Теорема 7.5.1(c) (Ознака кореня) / Вправа 7.5.3

theorem declaration uses 'sorry'Series.root_test_inconclusive: s:Series, atTop.Tendsto (fun n |s.seq n|^(1/(n:))) (nhds 1) s.diverges := s, Tendsto (fun n => |s.seq n| ^ (1 / n)) atTop (nhds 1) s.diverges All goals completed! 🐙

Теорема 7.5.1 (Ознака кореня) / Вправа 7.5.3

theorem declaration uses 'sorry'Series.root_test_inconclusive' : s:Series, atTop.Tendsto (fun n |s.seq n|^(1/(n:))) (nhds 1) s.absConverges := s, Tendsto (fun n => |s.seq n| ^ (1 / n)) atTop (nhds 1) s.absConverges All goals completed! 🐙

Лема 7.5.2 / Вправа 7.5.1

theorem declaration uses 'sorry'Series.ratio_ineq {c: } (m:) (hpos: n m, c n > 0) : atTop.liminf (fun n ((c (n+1) / c n:):EReal)) atTop.liminf (fun n ((c n)^(1/(n:)):)) atTop.liminf (fun n (((c n)^(1/(n:)):):EReal)) atTop.limsup (fun n ((c n)^(1/(n:)):)) atTop.limsup (fun n (((c n)^(1/(n:)):):EReal)) atTop.limsup (fun n (c (n+1) / c n:)) := c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTop liminf (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop -- Доведення написане так, щоб відповідати структурі оригінального тексту. c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTopc: m:hpos: n m, c n > 0IsBoundedUnder (fun x1 x2 => x1 x2) atTop fun n => (c n ^ (1 / n))c: m:hpos: n m, c n > 0IsBoundedUnder (fun x1 x2 => x1 x2) atTop fun n => (c n ^ (1 / n))c: m:hpos: n m, c n > 0limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTopc: m:hpos: n m, c n > 0IsBoundedUnder (fun x1 x2 => x1 x2) atTop fun n => (c n ^ (1 / n))c: m:hpos: n m, c n > 0IsBoundedUnder (fun x1 x2 => x1 x2) atTop fun n => (c n ^ (1 / n))c: m:hpos: n m, c n > 0limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop try c: m:hpos: n m, c n > 0limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTop All goals completed! 🐙 c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atToplimsup (fun n => (c n ^ (1 / n))) atTop L' c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:L' = limsup (fun n => (c n ^ (1 / n))) atTop L'c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = limsup (fun n => (c n ^ (1 / n))) atTop L'; c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = limsup (fun n => (c n ^ (1 / n))) atTop L' have hL'pos : 0 L' := c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTop liminf (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = ∃ᶠ (a : ) in atTop, 0 (c (a + 1) / c a) c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = (a : ), b a, 0 (c (b + 1) / c b) c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = N: b N, 0 (c (b + 1) / c b); use max N m, c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = N:max N m N All goals completed! 🐙 have hpos1 := hpos (max N m) (c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = N:max N m m All goals completed! 🐙) have hpos2 := hpos ((max N m)+1) (c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = N:hpos1:@_fvar.168394 (max _fvar.171758 _fvar.168395) > 0 := @_fvar.168396 (max _fvar.171758 _fvar.168395) max N m + 1 m All goals completed! 🐙) All goals completed! 🐙 have why : L' := c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTop liminf (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop All goals completed! 🐙 c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684limsup (fun n => (c n ^ (1 / n))) atTop L' c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)limsup (fun n => (c n ^ (1 / n))) atTop L' have hLpos : 0 L := c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTop liminf (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL'pos:0 LhL':L' = L0 L; All goals completed! 🐙 c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656 (a : EReal), L' < a limsup (fun n => (c n ^ (1 / n))) atTop a c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L' < ylimsup (fun n => (c n ^ (1 / n))) atTop y c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L' < yhy':y = limsup (fun n => (c n ^ (1 / n))) atTop yc: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L' < yhy':¬y = limsup (fun n => (c n ^ (1 / n))) atTop y; c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L' < yhy':¬y = limsup (fun n => (c n ^ (1 / n))) atTop y have : y = y.toReal := c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTop liminf (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L' < yhy':¬y = y.toReal = y; c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L' < yhy':¬y = y ; c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy':¬y = hy:y = y L'; All goals completed! 🐙 c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L < y.toRealhy':¬y = this:y = y.toReallimsup (fun n => (c n ^ (1 / n))) atTop y c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L < y.toRealhy':¬y = this:y = y.toRealε: := EReal.toReal _fvar.176263 - _fvar.175349limsup (fun n => (c n ^ (1 / n))) atTop y have : 0 < ε := c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTop liminf (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop All goals completed! 🐙 replace this : y = (L+ε:) := c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTop liminf (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L < y.toRealhy':¬y = this:y = y.toRealε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := ?_mvar.179007L + ε = y.toReal; All goals completed! 🐙 c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := ?_mvar.179007this:_fvar.176263 = (_fvar.175349 + _fvar.178801) := ?_mvar.182112limsup (fun n => (c n ^ (1 / n))) atTop (L + ε) have hε' : L' < (L+ε:) := c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTop liminf (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := ?_mvar.179007this:_fvar.176263 = (_fvar.175349 + _fvar.178801) := ?_mvar.182112L < L + ε; All goals completed! 🐙 have := eventually_lt_of_limsup_lt hε' (c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))IsBoundedUnder (fun x1 x2 => x1 x2) atTop fun n => (c (n + 1) / c n) All goals completed! 🐙) c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := ?_mvar.179007this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := ?_mvar.182112hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := ?_mvar.183656this: a, b a, (c (b + 1) / c b) < (L + ε)limsup (fun n => (c n ^ (1 / n))) atTop (L + ε); c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := ?_mvar.179007this:_fvar.176263 = (_fvar.175349 + _fvar.178801) := ?_mvar.182112hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := ?_mvar.183656N':hN: b N', (c (b + 1) / c b) < (L + ε)limsup (fun n => (c n ^ (1 / n))) atTop (L + ε) c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := ?_mvar.179007this:_fvar.176263 = (_fvar.175349 + _fvar.178801) := ?_mvar.182112hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := ?_mvar.183656N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)limsup (fun n => (c n ^ (1 / n))) atTop (L + ε) have (n:) (hn: n N) : c (n+1) / c n (L + ε) := c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTop liminf (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop have : n N' := c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTop liminf (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop All goals completed! 🐙 have npos : 0 < n := c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTop liminf (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop All goals completed! 🐙 c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := ?_mvar.179007this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := ?_mvar.182112hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := ?_mvar.183656N':N: := max _fvar.185498 (max _fvar.168395 1)n:hn:n Nthis:_fvar.185805 _fvar.185498 := ?_mvar.186004npos:0 < _fvar.185805 := ?_mvar.186232hN:(c (n + 1) / c n) < (L + ε)c (n + 1) / c n L + ε; c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := ?_mvar.179007this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := ?_mvar.182112hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := ?_mvar.183656N':N: := max _fvar.185498 (max _fvar.168395 1)n:hn:n Nthis:_fvar.185805 _fvar.185498 := ?_mvar.186004npos:0 < _fvar.185805 := ?_mvar.186232hN:c (n + 1) / c n < L + εc (n + 1) / c n L + ε; All goals completed! 🐙 c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := ?_mvar.179007this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := ?_mvar.182112hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := ?_mvar.183656N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => @?_mvar.185991 n hnA: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)limsup (fun n => (c n ^ (1 / n))) atTop (L + ε) have hA : 0 < A := c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTop liminf (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop specialize hpos N (c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)N m All goals completed! 🐙); All goals completed! 🐙 have why2 (n:) (hn: n N) : c n A * (L+ε)^n := c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTop liminf (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop All goals completed! 🐙 have why2_root (n:) (hn: n N) : (((c n)^(1/(n:)):):EReal) (A^(1/(n:)) * (L+ε):) := c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTop liminf (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := ?_mvar.171007why:_fvar.169684 := ?_mvar.175338L: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := ?_mvar.175656y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := ?_mvar.179007this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := ?_mvar.182112hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := ?_mvar.183656N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => @?_mvar.185991 n hnA: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := ?_mvar.193150why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => @?_mvar.206646 n hnn:hn:n Nc n ^ (1 / n) A ^ (1 / n) * (L + ε) have hn' : n > 0 := c: m:hpos: n m, c n > 0liminf (fun n => (c (n + 1) / c n)) atTop liminf (fun n => (c n ^ (1 / n))) atTop liminf (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (c (n + 1) / c n)) atTop All goals completed! 🐙 calc _ (A * (L+ε)^n)^(1/(n:)) := c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorryn:hn:n Nhn':_fvar.206657 > 0 := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 _fvar.206657 _fvar.206662 ac n ^ (1 / n) (A * (L + ε) ^ n) ^ (1 / n) c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorryn:hn:n Nhn':_fvar.206657 > 0 := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 _fvar.206657 _fvar.206662 an mc: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorryn:hn:n Nhn':_fvar.206657 > 0 := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 _fvar.206657 _fvar.206662 a0 1 / n; c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorryn:hn:n Nhn':_fvar.206657 > 0 := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 _fvar.206657 _fvar.206662 a0 1 / n; All goals completed! 🐙 _ = A^(1/(n:)) * ((L+ε)^n)^(1/(n:)) := mul_rpow (c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorryn:hn:n Nhn':_fvar.206657 > 0 := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 _fvar.206657 _fvar.206662 a0 A All goals completed! 🐙) (c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorryn:hn:n Nhn':_fvar.206657 > 0 := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 _fvar.206657 _fvar.206662 a0 (L + ε) ^ n All goals completed! 🐙) _ = _ := c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorryn:hn:n Nhn':_fvar.206657 > 0 := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 _fvar.206657 _fvar.206662 aA ^ (1 / n) * ((L + ε) ^ n) ^ (1 / n) = A ^ (1 / n) * (L + ε) c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorryn:hn:n Nhn':_fvar.206657 > 0 := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 _fvar.206657 _fvar.206662 a((L + ε) ^ n) ^ (1 / n) = L + ε c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorryn:hn:n Nhn':_fvar.206657 > 0 := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 _fvar.206657 _fvar.206662 a(L + ε) ^ (n * (1 / n)) = L + ε c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorryn:hn:n Nhn':_fvar.206657 > 0 := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 _fvar.206657 _fvar.206662 an * (1 / n) = 1 All goals completed! 🐙 calc _ atTop.limsup (fun n: ((A^(1/(n:)) * (L+ε):):EReal)) := c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))limsup (fun n => (c n ^ (1 / n))) atTop limsup (fun n => (A ^ (1 / n) * (L + ε))) atTop c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))(fun n => (c n ^ (1 / n))) ≤ᶠ[atTop] fun n => (A ^ (1 / n) * (L + ε))c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))autoParam (IsCoboundedUnder (fun x1 x2 => x1 x2) atTop fun n => (c n ^ (1 / n))) _auto✝c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))autoParam (IsBoundedUnder (fun x1 x2 => x1 x2) atTop fun n => (A ^ (1 / n) * (L + ε))) _auto✝ c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))(fun n => (c n ^ (1 / n))) ≤ᶠ[atTop] fun n => (A ^ (1 / n) * (L + ε))c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))autoParam (IsCoboundedUnder (fun x1 x2 => x1 x2) atTop fun n => (c n ^ (1 / n))) _auto✝c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))autoParam (IsBoundedUnder (fun x1 x2 => x1 x2) atTop fun n => (A ^ (1 / n) * (L + ε))) _auto✝ try All goals completed! 🐙 c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))∀ᶠ (x : ) in atTop, (fun n => (c n ^ (1 / n))) x (fun n => (A ^ (1 / n) * (L + ε))) x; c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801))))))) a, b a, (fun n => (c n ^ (1 / n))) b (fun n => (A ^ (1 / n) * (L + ε))) b All goals completed! 🐙 _ (atTop.limsup (fun n: ((A^(1/(n:)):):EReal))) * (atTop.limsup (fun n: ((L+ε:):EReal))) := c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))limsup (fun n => (A ^ (1 / n) * (L + ε))) atTop limsup (fun n => (A ^ (1 / n))) atTop * limsup (fun n => (L + ε)) atTop c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))n:(A ^ (1 / n) * (L + ε)) = ((fun n => (A ^ (1 / n))) * fun n => (L + ε)) nc: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))∃ᶠ (x : ) in atTop, 0 (A ^ (1 / x))c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))0 ≤ᶠ[atTop] fun n => (L + ε)c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))limsup (fun n => (A ^ (1 / n))) atTop 0 limsup (fun n => (L + ε)) atTop c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))limsup (fun n => (A ^ (1 / n))) atTop limsup (fun n => (L + ε)) atTop 0 c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))n:(A ^ (1 / n) * (L + ε)) = ((fun n => (A ^ (1 / n))) * fun n => (L + ε)) n All goals completed! 🐙 c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))∃ᶠ (x : ) in atTop, 0 (A ^ (1 / x)) c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801))))))) (x : ), 0 (A ^ (1 / x)); c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))x✝:0 (A ^ (1 / x✝)); All goals completed! 🐙 c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))0 ≤ᶠ[atTop] fun n => (L + ε) c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801))))))) (x : ), 0 x (fun n => (L + ε)) x; c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))0 L + ε; All goals completed! 🐙 c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))limsup (fun n => (A ^ (1 / n))) atTop 0 limsup (fun n => (L + ε)) atTop All goals completed! 🐙 c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))¬limsup (fun n => (A ^ (↑n)⁻¹)) atTop = ¬L + ε = 0; All goals completed! 🐙 _ = (L+ε:) := c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))limsup (fun n => (A ^ (1 / n))) atTop * limsup (fun n => (L + ε)) atTop = (L + ε) c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))limsup (fun n => (A ^ (↑n)⁻¹)) atTop * (L + ε) = L + ε; c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))limsup (fun n => (A ^ (↑n)⁻¹)) atTop = 1 c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))Tendsto (fun n => (A ^ (↑n)⁻¹)) atTop (nhds 1) c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))Tendsto (fun x => x) (nhds 1) (nhds 1)c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))Tendsto (fun n => A ^ (↑n)⁻¹) atTop (nhds 1) c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))Tendsto (fun x => x) (nhds 1) (nhds 1) c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))1 = 1; All goals completed! 🐙 c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))Tendsto (fun x => A ^ x) (nhds 0) (nhds 1)c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))Tendsto (fun n => (↑n)⁻¹) atTop (nhds 0) c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))Tendsto (fun x => A ^ x) (nhds 0) (nhds 1) apply (continuous_const_rpow (c: m:hpos: n m, c n > 0L':EReal := Filter.limsup (fun n => (@_fvar.168394 (n + 1) / @_fvar.168394 n)) Filter.atTophL:¬L' = hL'pos:0 _fvar.169684 := Filter.le_limsup_of_frequently_le' (Eq.mpr (id (congrArg (fun _a => _a) (propext Filter.frequently_atTop))) fun N => Exists.intro (max N _fvar.168395) Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_1 _fvar.168395 N a, have hpos1 := @_fvar.168396 (max N _fvar.168395) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_2 _fvar.168395 N a); have hpos2 := @_fvar.168396 (max N _fvar.168395 + 1) (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_3 _fvar.168395 N a); le_of_lt (EReal.coe_pos.mpr (div_pos hpos2 hpos1)))why:_fvar.169684 := sorryL: := EReal.toReal _fvar.169684hL':_fvar.169684 = _fvar.175349 := Eq.symm (EReal.coe_toReal _fvar.169914 _fvar.175339)hLpos:0 _fvar.175349 := Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.symm Nat.cast_zero)) (Eq.trans (congrArg (fun x => x _fvar.175349) (Eq.trans Nat.cast_zero (Eq.symm (congrArg Real.toEReal Nat.cast_zero)))) EReal.coe_le_coe_iff._simp_1)) (congrArg (fun x => x _fvar.175349) Nat.cast_zero)) (Eq.mp (congrArg (fun _a => 0 _a) _fvar.175596) _fvar.171008)y:ERealhy:L < y.toRealhy':¬y = ε: := EReal.toReal _fvar.176263 - _fvar.175349:0 < _fvar.178801 := Chapter7.Series.ratio_ineq._proof_4 _fvar.168395 _fvar.168396 _fvar.169914 _fvar.171008 _fvar.175339 _fvar.175596 _fvar.175657 _fvar.176263 _fvar.178744 _fvar.178747 _fvar.178748this✝:_fvar.176263 = (_fvar.175349 + _fvar.178801) := Eq.mpr (eq_of_heq ((fun α a a_1 a' e'_3 => Eq.casesOn (motive := fun a_2 x => a' = a_2 e'_3 x (a = a_1) (a = a')) 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') (HEq.refl e'_3)) EReal _fvar.176263 (↑(_fvar.175349 + _fvar.178801)) (↑(EReal.toReal _fvar.176263)) (eq_of_heq ((fun a a' e'_1 => Eq.casesOn (motive := fun a_1 x => a' = a_1 e'_1 x a a') e'_1 (fun h => Eq.ndrec (motive := fun a' => (e_1 : a = a'), e_1 Eq.refl a a a') (fun e_1 h => HEq.refl a) (Eq.symm h) e'_1) (Eq.refl a') (HEq.refl e'_1)) (_fvar.175349 + _fvar.178801) (EReal.toReal _fvar.176263) (of_eq_true (Eq.trans (congrArg (fun x => x = EReal.toReal _fvar.176263) (add_sub_cancel _fvar.175349 (EReal.toReal _fvar.176263))) (eq_self (EReal.toReal _fvar.176263)))))))) _fvar.178748hε':_fvar.169684 < (_fvar.175349 + _fvar.178801) := Eq.mpr (id (congrArg (fun _a => _a < (_fvar.175349 + _fvar.178801)) _fvar.175596)) (Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_lt_coe_iff))) (lt_of_not_ge 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.sub_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul (EReal.toReal _fvar.176263) (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 (_fvar.175349 ^ Nat.rawCast 1 * Nat.rawCast 1) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast + 0))))) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.add_congr (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_congr (Mathlib.Tactic.Ring.atom_pf (EReal.toReal _fvar.176263)) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_zero_add (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0)))) (Mathlib.Tactic.Ring.atom_pf _fvar.175349) (Mathlib.Tactic.Ring.sub_pf (Mathlib.Tactic.Ring.neg_add (Mathlib.Tactic.Ring.neg_mul _fvar.175349 (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_gt (_fvar.175349 ^ Nat.rawCast 1 * (Int.negOfNat 1).rawCast) (Mathlib.Tactic.Ring.add_pf_add_zero (EReal.toReal _fvar.176263 ^ Nat.rawCast 1 * Nat.rawCast 1 + 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero _fvar.175349 (Nat.rawCast 1) (Mathlib.Meta.NormNum.IsInt.to_isNat (Mathlib.Meta.NormNum.isInt_add (Eq.refl HAdd.hAdd) (Mathlib.Meta.NormNum.IsNat.to_isInt (Mathlib.Meta.NormNum.IsNat.of_raw 1)) (Mathlib.Meta.NormNum.IsInt.of_raw (Int.negOfNat 1)) (Eq.refl (Int.ofNat 0))))) (Mathlib.Tactic.Ring.add_pf_add_overlap_zero (Mathlib.Tactic.Ring.add_overlap_pf_zero (EReal.toReal _fvar.176263) (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 Nat.cast_zero)))) (Mathlib.Tactic.Linarith.add_lt_of_neg_of_le (Mathlib.Tactic.Linarith.sub_neg_of_lt _fvar.178744) (Mathlib.Tactic.Linarith.sub_nonpos_of_le a)))))N':hN: b N', (c (b + 1) / c b) < (L + ε)N: := max _fvar.185498 (max _fvar.168395 1)this: n _fvar.185595, @_fvar.168394 (n + 1) / @_fvar.168394 n _fvar.175349 + _fvar.178801 := fun n hn => have this := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_5 _fvar.168395 _fvar.185498 n hn a; have npos := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_6 _fvar.168395 _fvar.185498 n hn this a; Decidable.byContradiction fun a => ne_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this)) (le_antisymm (le_trans (le_of_lt (Eq.mp (Eq.trans (Eq.trans (congrArg (fun x => (@_fvar.168394 (n + x) / @_fvar.168394 n) < (_fvar.175349 + _fvar.178801)) (Eq.symm Nat.cast_one)) EReal.coe_lt_coe_iff._simp_1) (congrArg (fun x => @_fvar.168394 (n + x) / @_fvar.168394 n < _fvar.175349 + _fvar.178801) Nat.cast_one)) (@_fvar.185502 n this))) (le_refl (_fvar.175349 + _fvar.178801))) (le_trans (le_of_not_ge a) (le_refl (@_fvar.168394 (n + 1) / @_fvar.168394 n))))A: := @_fvar.168394 _fvar.185595 * (_fvar.175349 + _fvar.178801) ^ (-_fvar.185595)hA:0 < _fvar.192882 := mul_pos (@_fvar.168396 _fvar.185595 (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_7 _fvar.168395 _fvar.185498 a)) (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) (-_fvar.185595))why2: n _fvar.185595, @_fvar.168394 n _fvar.192882 * (_fvar.175349 + _fvar.178801) ^ n := fun n hn => sorrywhy2_root: n _fvar.185595, (@_fvar.168394 n ^ (1 / n)) (_fvar.192882 ^ (1 / n) * (_fvar.175349 + _fvar.178801)) := fun n hn => Eq.mpr (id (congrArg (fun _a => _a) (propext EReal.coe_le_coe_iff))) (have hn' := Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_8 _fvar.168395 _fvar.185498 n hn a; Trans.trans (Trans.trans (Real.rpow_le_rpow (le_of_lt (@_fvar.168396 n (Decidable.byContradiction fun a => Chapter7.Series.ratio_ineq._proof_9 _fvar.168395 _fvar.185498 n hn hn' a))) (@_fvar.206647 n hn) (le_of_lt (div_pos (Mathlib.Meta.Positivity.pos_of_isNat (Mathlib.Meta.NormNum.isNat_ofNat Nat.cast_one) (Eq.refl (Nat.ble 1 1))) (Int.cast_pos.mpr hn')))) (Real.mul_rpow (le_of_lt _fvar.193151) (le_of_lt (zpow_pos (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008) n)))) ((fun {α β γ} [HMul α β γ] a a_1 e_a => Eq.rec (motive := fun a_2 e_a => (a_3 a_4 : β), a_3 = a_4 a * a_3 = a_2 * a_4) (fun a_2 a_3 e_a => e_a Eq.refl (a * a_2)) e_a) (_fvar.192882 ^ (1 / n)) (_fvar.192882 ^ (1 / n)) (Eq.refl (_fvar.192882 ^ (1 / n))) (((_fvar.175349 + _fvar.178801) ^ n) ^ (1 / n)) (_fvar.175349 + _fvar.178801) (Eq.mpr (id (congrArg (fun _a => _a ^ (1 / n) = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_intCast (_fvar.175349 + _fvar.178801) n)))) (Eq.mpr (id (congrArg (fun _a => _a = _fvar.175349 + _fvar.178801) (Eq.symm (Real.rpow_mul (le_of_lt (Right.add_pos_of_nonneg_of_pos (EReal.toReal_nonneg _fvar.171008) _fvar.179008)) (↑n) (1 / n))))) (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.175349 + _fvar.178801) ^ (n * (1 / n))) ((_fvar.175349 + _fvar.178801) ^ 1) (eq_of_heq ((fun α β γ self a a' e'_5 a_1 a'_1 e'_6 => 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 => Eq.casesOn (motive := fun a_2 x => a'_1 = a_2 e'_6 x a ^ a_1 a ^ a'_1) 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'_1) (HEq.refl e'_6)) (Eq.symm h) e'_5) (Eq.refl a') (HEq.refl e'_5)) instHPow (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)) (n * (1 / n)) 1 (of_eq_true (Eq.trans (congrArg (fun x => x = 1) (Eq.trans (mul_div_assoc' (↑n) 1 n) (Eq.trans (congrArg (fun x => x / n) (mul_one n)) (div_self (ne_of_gt (Int.cast_pos.mpr hn')))))) (eq_self 1))))) (_fvar.175349 + _fvar.178801) (_fvar.175349 + _fvar.178801) (Eq.refl (_fvar.175349 + _fvar.178801)))) (Real.rpow_one (_fvar.175349 + _fvar.178801)))))))A 0 All goals completed! 🐙)).tendsto'; All goals completed! 🐙 All goals completed! 🐙

Наслідок 7.5.3 (Ознака відношення)

theorem Series.ratio_test_pos {s : Series} (hnon: n s.m, s.seq n 0) (h : atTop.limsup (fun n ((|s.seq (n+1)| / |s.seq n|:):EReal)) < 1) : s.absConverges := s:Serieshnon: n s.m, s.seq n 0h:limsup (fun n => (|s.seq (n + 1)| / |s.seq n|)) atTop < 1s.absConverges s:Serieshnon: n s.m, s.seq n 0h:limsup (fun n => (|s.seq (n + 1)| / |s.seq n|)) atTop < 1limsup (fun n => (|s.seq n| ^ (1 / n))) atTop limsup (fun n => (|s.seq (n + 1)| / |s.seq n|)) atTop s:Serieshnon: n s.m, s.seq n 0h:limsup (fun n => (|s.seq (n + 1)| / |s.seq n|)) atTop < 1 n s.m, |s.seq n| > 0 s:Serieshnon: n s.m, s.seq n 0h:limsup (fun n => (|s.seq (n + 1)| / |s.seq n|)) atTop < 1n:n s.m |s.seq n| > 0 n s.m s.seq n 0 All goals completed! 🐙

Наслідок 7.5.3 (Ознака відношення)

theorem Series.ratio_test_neg {s : Series} (hnon: n s.m, s.seq n 0) (h : atTop.liminf (fun n ((|s.seq (n+1)| / |s.seq n|:):EReal)) > 1) : s.diverges := s:Serieshnon: n s.m, s.seq n 0h:liminf (fun n => (|s.seq (n + 1)| / |s.seq n|)) atTop > 1s.diverges s:Serieshnon: n s.m, s.seq n 0h:liminf (fun n => (|s.seq (n + 1)| / |s.seq n|)) atTop > 1liminf (fun n => (|s.seq (n + 1)| / |s.seq n|)) atTop limsup (fun n => (|s.seq n| ^ (1 / n))) atTop s:Serieshnon: n s.m, s.seq n 0h:liminf (fun n => (|s.seq (n + 1)| / |s.seq n|)) atTop > 1n:|s.seq (n + 1)| = |s.seq (n + 1)|s:Serieshnon: n s.m, s.seq n 0h:liminf (fun n => (|s.seq (n + 1)| / |s.seq n|)) atTop > 1 n s.m, |s.seq n| > 0s:Serieshnon: n s.m, s.seq n 0h:liminf (fun n => (|s.seq (n + 1)| / |s.seq n|)) atTop > 1 n s.m, |s.seq n| > 0; s:Serieshnon: n s.m, s.seq n 0h:liminf (fun n => (|s.seq (n + 1)| / |s.seq n|)) atTop > 1 n s.m, |s.seq n| > 0s:Serieshnon: n s.m, s.seq n 0h:liminf (fun n => (|s.seq (n + 1)| / |s.seq n|)) atTop > 1 n s.m, |s.seq n| > 0 all_goals s:Serieshnon: n s.m, s.seq n 0h:liminf (fun n => (|s.seq (n + 1)| / |s.seq n|)) atTop > 1n:n s.m |s.seq n| > 0 n s.m s.seq n 0; All goals completed! 🐙

Наслідок 7.5.3 (Ознака відношення) / Вправа 7.5.3

theorem declaration uses 'sorry'Series.ratio_test_inconclusive: s:Series, ( n s.m, s.seq n 0) atTop.Tendsto (fun n |s.seq n+1| / |s.seq n|) (nhds 1) s.diverges := s, (∀ n s.m, s.seq n 0) Tendsto (fun n => |s.seq n + 1| / |s.seq n|) atTop (nhds 1) s.diverges All goals completed! 🐙

Наслідок 7.5.3 (Ознака відношення) / Вправа 7.5.3

theorem declaration uses 'sorry'Series.ratio_test_inconclusive' : s:Series, ( n s.m, s.seq n 0) atTop.Tendsto (fun n |s.seq n+1| / |s.seq n|) (nhds 1) s.absConverges := s, (∀ n s.m, s.seq n 0) Tendsto (fun n => |s.seq n + 1| / |s.seq n|) atTop (nhds 1) s.absConverges All goals completed! 🐙

Твердження 7.5.4

theorem declaration uses 'sorry'Series.root_self_converges : (fun (n:) (n:)^(1 / n : ) : Series).convergesTo 1 := { m := 0, seq := fun n => if n 0 then (fun n => n ^ (1 / n)) n.toNat else 0, vanish := }.convergesTo 1 -- цей доказ написан так, щоб співпадати із структурою оригінального тексту. All goals completed! 🐙

Вправа 7.5.2

theorem declaration uses 'sorry'Series.poly_mul_geom_converges {x:} (hx: |x|<1) (q:) : (fun n: (n:)^q * x^n : Series).converges atTop.Tendsto (fun n: (n:)^q * x^n) (nhds 0) := x:hx:|x| < 1q:{ m := 0, seq := fun n => if n 0 then (fun n => n ^ q * x ^ n) n.toNat else 0, vanish := }.converges Tendsto (fun n => n ^ q * x ^ n) atTop (nhds 0) All goals completed! 🐙
end Chapter7