α : Type u
β : Type ?u.236749
n : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hn : 1 < n
hx0 : x < 0
⊢ if Even n then ∑ i in range n, x ^ i < 0 else 1 < ∑ i in range n, x ^ i
α : Type u
β : Type ?u.236749
n : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hn : 1 < n
⊢ if Even n then ∑ i in range n, x ^ i < 0 else 1 < ∑ i in range n, x ^ i
have hx0 : x < 0 := ((le_add_iff_nonneg_right _).2 zero_le_one).trans_lt hx
case refine'_1
α : Type u
β : Type ?u.236749
n : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hn : 1 < n
hx0 : x < 0
⊢ if Even 2 then ∑ i in range 2, x ^ i < 0 else 1 < ∑ i in range 2, x ^ i

case refine'_2
α : Type u
β : Type ?u.236749
n : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hn : 1 < n
hx0 : x < 0
⊢ ∀ (n : ℕ),
    2 ≤ n →
      (if Even n then ∑ i in range n, x ^ i < 0 else 1 < ∑ i in range n, x ^ i) →
        if Even (n + 1) then ∑ i in range (n + 1), x ^ i < 0 else 1 < ∑ i in range (n + 1), x ^ i
α : Type u
β : Type ?u.236749
n : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hn : 1 < n
hx0 : x < 0
⊢ if Even n then ∑ i in range n, x ^ i < 0 else 1 < ∑ i in range n, x ^ i
refine' Nat.le_induction _ _ n (show 2 ≤ n from hn)
case refine'_2
α : Type u
β : Type ?u.236749
n : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
⊢ ∀ (n : ℕ),
    2 ≤ n →
      (if Even n then ∑ i in range n, x ^ i < 0 else 1 < ∑ i in range n, x ^ i) →
        if Even (n + 1) then ∑ i in range (n + 1), x ^ i < 0 else 1 < ∑ i in range (n + 1), x ^ i
case refine'_2
α : Type u
β : Type ?u.236749
n : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hn : 1 < n
hx0 : x < 0
⊢ ∀ (n : ℕ),
    2 ≤ n →
      (if Even n then ∑ i in range n, x ^ i < 0 else 1 < ∑ i in range n, x ^ i) →
        if Even (n + 1) then ∑ i in range (n + 1), x ^ i < 0 else 1 < ∑ i in range (n + 1), x ^ i
clear hn
case refine'_2
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : if Even n then ∑ i in range n, x ^ i < 0 else 1 < ∑ i in range n, x ^ i
⊢ if Even (n + 1) then ∑ i in range (n + 1), x ^ i < 0 else 1 < ∑ i in range (n + 1), x ^ i
case refine'_2
α : Type u
β : Type ?u.236749
n : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
⊢ ∀ (n : ℕ),
    2 ≤ n →
      (if Even n then ∑ i in range n, x ^ i < 0 else 1 < ∑ i in range n, x ^ i) →
        if Even (n + 1) then ∑ i in range (n + 1), x ^ i < 0 else 1 < ∑ i in range (n + 1), x ^ i
intro n _ ihn
case refine'_2
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : if Even n then ∑ i in range n, x ^ i < 0 else 1 < ∑ i in range n, x ^ i
⊢ if ¬Even n then x * ∑ i in range n, x ^ i + 1 < 0 else 1 < x * ∑ i in range n, x ^ i + 1
case refine'_2
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : if Even n then ∑ i in range n, x ^ i < 0 else 1 < ∑ i in range n, x ^ i
⊢ if Even (n + 1) then ∑ i in range (n + 1), x ^ i < 0 else 1 < ∑ i in range (n + 1), x ^ i
simp only [Nat.even_add_one, geom_sum_succ]
case pos
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : if Even n then ∑ i in range n, x ^ i < 0 else 1 < ∑ i in range n, x ^ i
hn' : Even n
⊢ if ¬Even n then x * ∑ i in range n, x ^ i + 1 < 0 else 1 < x * ∑ i in range n, x ^ i + 1

case neg
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : if Even n then ∑ i in range n, x ^ i < 0 else 1 < ∑ i in range n, x ^ i
hn' : ¬Even n
⊢ if ¬Even n then x * ∑ i in range n, x ^ i + 1 < 0 else 1 < x * ∑ i in range n, x ^ i + 1
case refine'_2
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : if Even n then ∑ i in range n, x ^ i < 0 else 1 < ∑ i in range n, x ^ i
⊢ if ¬Even n then x * ∑ i in range n, x ^ i + 1 < 0 else 1 < x * ∑ i in range n, x ^ i + 1
by_cases hn' : Even n
no goals
case refine'_1
α : Type u
β : Type ?u.236749
n : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hn : 1 < n
hx0 : x < 0
⊢ if Even 2 then ∑ i in range 2, x ^ i < 0 else 1 < ∑ i in range 2, x ^ i
simp only [geom_sum_two, lt_add_iff_pos_left, ite_true, gt_iff_lt, hx]
case pos
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : ∑ i in range n, x ^ i < 0
hn' : Even n
⊢ if ¬Even n then x * ∑ i in range n, x ^ i + 1 < 0 else 1 < x * ∑ i in range n, x ^ i + 1
case pos
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : if Even n then ∑ i in range n, x ^ i < 0 else 1 < ∑ i in range n, x ^ i
hn' : Even n
⊢ if ¬Even n then x * ∑ i in range n, x ^ i + 1 < 0 else 1 < x * ∑ i in range n, x ^ i + 1
rw [if_pos hn'] at ihn
case pos
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : ∑ i in range n, x ^ i < 0
hn' : Even n
⊢ 0 < x * ∑ i in range n, x ^ i

case pos.hnc
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : ∑ i in range n, x ^ i < 0
hn' : Even n
⊢ ¬¬Even n
case pos
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : ∑ i in range n, x ^ i < 0
hn' : Even n
⊢ if ¬Even n then x * ∑ i in range n, x ^ i + 1 < 0 else 1 < x * ∑ i in range n, x ^ i + 1
rw [if_neg, lt_add_iff_pos_left]
case pos.hnc
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : ∑ i in range n, x ^ i < 0
hn' : Even n
⊢ ¬¬Even n
case pos
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : ∑ i in range n, x ^ i < 0
hn' : Even n
⊢ 0 < x * ∑ i in range n, x ^ i

case pos.hnc
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : ∑ i in range n, x ^ i < 0
hn' : Even n
⊢ ¬¬Even n
exact mul_pos_of_neg_of_neg hx0 ihn
no goals
case pos.hnc
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : ∑ i in range n, x ^ i < 0
hn' : Even n
⊢ ¬¬Even n
exact not_not_intro hn'
case neg
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : 1 < ∑ i in range n, x ^ i
hn' : ¬Even n
⊢ if ¬Even n then x * ∑ i in range n, x ^ i + 1 < 0 else 1 < x * ∑ i in range n, x ^ i + 1
case neg
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : if Even n then ∑ i in range n, x ^ i < 0 else 1 < ∑ i in range n, x ^ i
hn' : ¬Even n
⊢ if ¬Even n then x * ∑ i in range n, x ^ i + 1 < 0 else 1 < x * ∑ i in range n, x ^ i + 1
rw [if_neg hn'] at ihn
case neg
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : 1 < ∑ i in range n, x ^ i
hn' : ¬Even n
⊢ x * ∑ i in range n, x ^ i + 1 < 0

case neg.hc
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : 1 < ∑ i in range n, x ^ i
hn' : ¬Even n
⊢ ¬Even n
case neg
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : 1 < ∑ i in range n, x ^ i
hn' : ¬Even n
⊢ if ¬Even n then x * ∑ i in range n, x ^ i + 1 < 0 else 1 < x * ∑ i in range n, x ^ i + 1
rw [if_pos]
case neg.hc
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : 1 < ∑ i in range n, x ^ i
hn' : ¬Even n
⊢ ¬Even n

case neg
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : 1 < ∑ i in range n, x ^ i
hn' : ¬Even n
⊢ x * ∑ i in range n, x ^ i + 1 < 0
case neg
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : 1 < ∑ i in range n, x ^ i
hn' : ¬Even n
⊢ x * ∑ i in range n, x ^ i + 1 < 0

case neg.hc
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : 1 < ∑ i in range n, x ^ i
hn' : ¬Even n
⊢ ¬Even n
swap
case neg
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : 1 < ∑ i in range n, x ^ i
hn' : ¬Even n
this : x * ∑ i in range n, x ^ i + 1 < x * 1 + 1
⊢ x * ∑ i in range n, x ^ i + 1 < 0
case neg
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : 1 < ∑ i in range n, x ^ i
hn' : ¬Even n
⊢ x * ∑ i in range n, x ^ i + 1 < 0
have := add_lt_add_right (mul_lt_mul_of_neg_left ihn hx0) 1
case neg
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : 1 < ∑ i in range n, x ^ i
hn' : ¬Even n
this : x * ∑ i in range n, x ^ i + 1 < x + 1
⊢ x * ∑ i in range n, x ^ i + 1 < 0
case neg
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : 1 < ∑ i in range n, x ^ i
hn' : ¬Even n
this : x * ∑ i in range n, x ^ i + 1 < x * 1 + 1
⊢ x * ∑ i in range n, x ^ i + 1 < 0
rw [mul_one] at this
no goals
case neg
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : 1 < ∑ i in range n, x ^ i
hn' : ¬Even n
this : x * ∑ i in range n, x ^ i + 1 < x + 1
⊢ x * ∑ i in range n, x ^ i + 1 < 0
exact this.trans hx
no goals
case neg.hc
α : Type u
β : Type ?u.236749
n✝ : ℕ
x : α
inst✝ : StrictOrderedRing α
hx : x + 1 < 0
hx0 : x < 0
n : ℕ
hn✝ : 2 ≤ n
ihn : 1 < ∑ i in range n, x ^ i
hn' : ¬Even n
⊢ ¬Even n
exact hn'