Theorem: AlgebraicClosureAux.ofStep_succ
File: Mathlib/FieldTheory/IsAlgClosed/AlgebraicClosure.lean

Proof steps:
state_before: k : Type u
inst✝ : Field k
n : ℕ
⊢ (ofStep k (n + 1)).comp (toStepSucc k n) = ofStep k n
state_after: case a
k : Type u
inst✝ : Field k
n : ℕ
x : Step k n
⊢ ((ofStep k (n + 1)).comp (toStepSucc k n)) x = (ofStep k n) x
tactic: ext x
state_before: case a
k : Type u
inst✝ : Field k
n : ℕ
x : Step k n
⊢ ((ofStep k (n + 1)).comp (toStepSucc k n)) x = (ofStep k n) x
state_after: case a
k : Type u
inst✝ : Field k
n : ℕ
x : Step k n
hx : AlgebraicClosure.toStepOfLE' k n (n + 1) ⋯ x = (toStepSucc k n) x
⊢ ((ofStep k (n + 1)).comp (toStepSucc k n)) x = (ofStep k n) x
tactic: have hx : toStepOfLE' k n (n+1) n.le_succ x = toStepSucc k n x := Nat.leRecOn_succ' x
state_before: case a
k : Type u
inst✝ : Field k
n : ℕ
x : Step k n
hx : AlgebraicClosure.toStepOfLE' k n (n + 1) ⋯ x = (toStepSucc k n) x
⊢ ((ofStep k (n + 1)).comp (toStepSucc k n)) x = (ofStep k n) x
state_after: case a
k : Type u
inst✝ : Field k
n : ℕ
x : Step k n
hx : AlgebraicClosure.toStepOfLE' k n (n + 1) ⋯ x = (toStepSucc k n) x
⊢ ((Ring.DirectLimit.of (Step k) (fun i j h => ⇑(toStepOfLE k i j h)) (n + 1)).comp (toStepSucc k n)) x =
    (Ring.DirectLimit.of (Step k) (fun i j h => ⇑(toStepOfLE k i j h)) n) x
tactic: unfold ofStep
state_before: case a
k : Type u
inst✝ : Field k
n : ℕ
x : Step k n
hx : AlgebraicClosure.toStepOfLE' k n (n + 1) ⋯ x = (toStepSucc k n) x
⊢ ((Ring.DirectLimit.of (Step k) (fun i j h => ⇑(toStepOfLE k i j h)) (n + 1)).comp (toStepSucc k n)) x =
    (Ring.DirectLimit.of (Step k) (fun i j h => ⇑(toStepOfLE k i j h)) n) x
state_after: case a
k : Type u
inst✝ : Field k
n : ℕ
x : Step k n
hx : AlgebraicClosure.toStepOfLE' k n (n + 1) ⋯ x = (toStepSucc k n) x
⊢ (Ring.DirectLimit.of (Step k) (fun i j h => ⇑(toStepOfLE k i j h)) (n + 1)) ((toStepSucc k n) x) =
    (Ring.DirectLimit.of (Step k) (fun i j h => ⇑(toStepOfLE k i j h)) n) x
tactic: rw [RingHom.comp_apply]
state_before: case a
k : Type u
inst✝ : Field k
n : ℕ
x : Step k n
hx : AlgebraicClosure.toStepOfLE' k n (n + 1) ⋯ x = (toStepSucc k n) x
⊢ (Ring.DirectLimit.of (Step k) (fun i j h => ⇑(toStepOfLE k i j h)) (n + 1)) ((toStepSucc k n) x) =
    (Ring.DirectLimit.of (Step k) (fun i j h => ⇑(toStepOfLE k i j h)) n) x
state_after: case a
k : Type u
inst✝ : Field k
n : ℕ
x : Step k n
hx : AlgebraicClosure.toStepOfLE' k n (n + 1) ⋯ x = (toStepSucc k n) x
⊢ (Ring.DirectLimit.of (Step k) (fun i j h => AlgebraicClosure.toStepOfLE' k i j h) (n + 1)) ((toStepSucc k n) x) =
    (Ring.DirectLimit.of (Step k) (fun i j h => AlgebraicClosure.toStepOfLE' k i j h) n) x
tactic: dsimp [toStepOfLE]
state_before: case a
k : Type u
inst✝ : Field k
n : ℕ
x : Step k n
hx : AlgebraicClosure.toStepOfLE' k n (n + 1) ⋯ x = (toStepSucc k n) x
⊢ (Ring.DirectLimit.of (Step k) (fun i j h => AlgebraicClosure.toStepOfLE' k i j h) (n + 1)) ((toStepSucc k n) x) =
    (Ring.DirectLimit.of (Step k) (fun i j h => AlgebraicClosure.toStepOfLE' k i j h) n) x
state_after: case a
k : Type u
inst✝ : Field k
n : ℕ
x : Step k n
hx : AlgebraicClosure.toStepOfLE' k n (n + 1) ⋯ x = (toStepSucc k n) x
⊢ (Ring.DirectLimit.of (Step k) (fun i j h => AlgebraicClosure.toStepOfLE' k i j h) (n + 1))
      (AlgebraicClosure.toStepOfLE' k n (n + 1) ⋯ x) =
    (Ring.DirectLimit.of (Step k) (fun i j h => AlgebraicClosure.toStepOfLE' k i j h) n) x
tactic: rw [← hx]
state_before: case a
k : Type u
inst✝ : Field k
n : ℕ
x : Step k n
hx : AlgebraicClosure.toStepOfLE' k n (n + 1) ⋯ x = (toStepSucc k n) x
⊢ (Ring.DirectLimit.of (Step k) (fun i j h => AlgebraicClosure.toStepOfLE' k i j h) (n + 1))
      (AlgebraicClosure.toStepOfLE' k n (n + 1) ⋯ x) =
    (Ring.DirectLimit.of (Step k) (fun i j h => AlgebraicClosure.toStepOfLE' k i j h) n) x
state_after: case a
k : Type u
inst✝ : Field k
n : ℕ
x : Step k n
hx : AlgebraicClosure.toStepOfLE' k n (n + 1) ⋯ x = (toStepSucc k n) x
⊢ (Ring.DirectLimit.of (Step k) (AlgebraicClosure.toStepOfLE' k) (n + 1))
      (AlgebraicClosure.toStepOfLE' k n (n + 1) ⋯ x) =
    (Ring.DirectLimit.of (Step k) (AlgebraicClosure.toStepOfLE' k) n) x
tactic: change Ring.DirectLimit.of (Step k) (toStepOfLE' k) (n + 1) (_) =
      Ring.DirectLimit.of (Step k) (toStepOfLE' k) n x
state_before: case a
k : Type u
inst✝ : Field k
n : ℕ
x : Step k n
hx : AlgebraicClosure.toStepOfLE' k n (n + 1) ⋯ x = (toStepSucc k n) x
⊢ (Ring.DirectLimit.of (Step k) (AlgebraicClosure.toStepOfLE' k) (n + 1))
      (AlgebraicClosure.toStepOfLE' k n (n + 1) ⋯ x) =
    (Ring.DirectLimit.of (Step k) (AlgebraicClosure.toStepOfLE' k) n) x
state_after: no goals
tactic: convert Ring.DirectLimit.of_f n.le_succ x