Penseive header: Checking the local error in Runge-Kutta, more efficiently.

ϕ[(Subscript[x, 0])]=(Subscript[y, 0]);
(Subscript[ϕ, 0])[x_] := ϕ[x];
(Subscript[ϕ, k_])[x_] /; k≥1 := (Subscript[ϕ, k])[x] = Expand[
(∂_x)((Subscript[ϕ, k-1])[x]) /. (Subscript[ϕ, 0])'[x] :> f[x,(Subscript[ϕ, 0])[x]]
];
ser1=(∑_(k=0)^4)(1/(k!))(Subscript[ϕ, k])[x](h^k) /. x->(Subscript[x, 0])

(Subscript[k, 1]) = h f[(Subscript[x, 0]),(Subscript[y, 0])];
(Subscript[k, 2]) = h f[(Subscript[x, 0])+(h/2), (Subscript[y, 0])+(1/2)(Subscript[k, 1])];
(Subscript[k, 3]) = h f[(Subscript[x, 0])+(h/3), (Subscript[y, 0])+(1/3)(Subscript[k, 2])];
(Subscript[k, 4]) = h f[(Subscript[x, 0])+h, (Subscript[y, 0])+(Subscript[k, 3])];
(Subscript[y, 1]) = (Subscript[y, 0])+(1/6)((Subscript[k, 1])+2(Subscript[k, 2])+2(Subscript[k, 3])+(Subscript[k, 4]))

ser2=Series[(Subscript[y, 1]), {h, 0, 4}] // Normal

TrueQ[ser1==ser2]