Theorem: List.split_length_snd (Table/BuiltinExtensions.lean)

State before:
α : Type u_1
x₁ x₂ x : α
xs : List α
ih : x :: xs = [] ∨ length (split (x :: xs)).snd < length (x :: xs)
⊢ x₁ :: x₂ :: x :: xs = [] ∨ length (split (x₁ :: x₂ :: x :: xs)).snd < length (x₁ :: x₂ :: x :: xs)
Tactic:
simp only [split, length]
State after:
α : Type u_1
x₁ x₂ x : α
xs : List α
ih : x :: xs = [] ∨ length (split (x :: xs)).snd < length (x :: xs)
⊢ False ∨ length (split (x :: xs)).snd + 1 < length xs + 1 + 1 + 1

State before:
α : Type u_1
x₁ x₂ x : α
xs : List α
ih : x :: xs = [] ∨ length (split (x :: xs)).snd < length (x :: xs)
⊢ False ∨ length (split (x :: xs)).snd + 1 < length xs + 1 + 1 + 1
Tactic:
apply Or.intro_right
State after:
case h
α : Type u_1
x₁ x₂ x : α
xs : List α
ih : x :: xs = [] ∨ length (split (x :: xs)).snd < length (x :: xs)
⊢ length (split (x :: xs)).snd + 1 < length xs + 1 + 1 + 1

State before:
case h
α : Type u_1
x₁ x₂ x : α
xs : List α
ih : x :: xs = [] ∨ length (split (x :: xs)).snd < length (x :: xs)
⊢ length (split (x :: xs)).snd + 1 < length xs + 1 + 1 + 1
Tactic:
apply Nat.succ_lt_succ
State after:
case h.a
α : Type u_1
x₁ x₂ x : α
xs : List α
ih : x :: xs = [] ∨ length (split (x :: xs)).snd < length (x :: xs)
⊢ length (split (x :: xs)).snd < length xs + 2

State before:
case h.a
α : Type u_1
x₁ x₂ x : α
xs : List α
ih : x :: xs = [] ∨ length (split (x :: xs)).snd < length (x :: xs)
⊢ length (split (x :: xs)).snd < length xs + 2
Tactic:
simp at ih
State after:
case h.a
α : Type u_1
x₁ x₂ x : α
xs : List α
ih : length (split (x :: xs)).snd < Nat.succ (length xs)
⊢ length (split (x :: xs)).snd < length xs + 2

State before:
case h.a
α : Type u_1
x₁ x₂ x : α
xs : List α
ih : length (split (x :: xs)).snd < Nat.succ (length xs)
⊢ length (split (x :: xs)).snd < length xs + 2
Tactic:
apply Nat.lt.step
State after:
case h.a.a
α : Type u_1
x₁ x₂ x : α
xs : List α
ih : length (split (x :: xs)).snd < Nat.succ (length xs)
⊢ length (split (x :: xs)).snd < length xs + 1

State before:
case h.a.a
α : Type u_1
x₁ x₂ x : α
xs : List α
ih : length (split (x :: xs)).snd < Nat.succ (length xs)
⊢ length (split (x :: xs)).snd < length xs + 1
Tactic:
apply ih
State after:
no goals