(* some simplification constants *)

T=(Subscript[t, 0])*(Subscript[t, 1])*((Subscript[t, 0])+(Subscript[t, 1]))

X=Δx^2

α=v*Δt/Δx

β=b*Δt/2

(* coefficients for 1st-order *)

a'=-(Subscript[t, 1])^2/T

b'=((Subscript[t, 1])^2-(Subscript[t, 0])^2)/T

c'=(Subscript[t, 0])^2/T

(* coefficients for 2nd-order *)

a''=2*(Subscript[t, 1])/T

b''=2*(-(Subscript[t, 0])-(Subscript[t, 1]))/T

c''=2*(Subscript[t, 0])/T

(* checking 1st-order derivative coefficients *)

Simplify[a'+b'+c']

Simplify[c'*(Subscript[t, 1])-a'*(Subscript[t, 0])]

Simplify[a'*(Subscript[t, 0])^2/2+c'*(Subscript[t, 1])^2/2]

(* checking 2nd-order derivative coefficients *)

Simplify[a''+b''+c'']

Simplify[c''*(Subscript[t, 1])-a''*(Subscript[t, 0])]

Simplify[a''*(Subscript[t, 0])^2/2+c''*(Subscript[t, 1])^2/2]

(* checking that our formulas simplify in the (Subscript[t, 0])=(Subscript[t, 1])=h case down to 1st and 2nd order central difference formulas *)

Simplify[(a'*f[t-(Subscript[t, 0])]+b'*f[t]+c'*f[t+(Subscript[t, 1])])/.{(Subscript[t, 0])->h,(Subscript[t, 1])->h}]

Simplify[(a''*f[t-(Subscript[t, 0])]+b''*f[t]+c''*f[t+(Subscript[t, 1])])/.{(Subscript[t, 0])->h,(Subscript[t, 1])->h}]

Series[g[h],{h,x,2}]

(* discretized wave equation *)

waveEq=a''*y[i,t-(Subscript[t, 0])]+b''*y[i,t]+c''*y[i,t+(Subscript[t, 1])]==v^2*(y[i-1,t]-2*y[i,t]+y[i+1,t])/Δx^2-b*(a'*y[i,t-(Subscript[t, 0])]+b'*y[i,t]+c'*y[i,t+(Subscript[t, 1])])

handSoln=(T/(2*(Subscript[t, 0])+b*(Subscript[t, 0])^2))*(((2*(Subscript[t, 0])+2*(Subscript[t, 1])-b*((Subscript[t, 1])^2-(Subscript[t, 0])^2))/T-2*v^2/X)*y[i,t]+((-2(Subscript[t, 1])+b*(Subscript[t, 1])^2)/T)*y[i,t-(Subscript[t, 0])]+(v^2/X)*(y[i-1,t]+y[i+1,t]))

(* verify by-hand results *)

FullSimplify[Solve[waveEq,y[i,t+(Subscript[t, 1])]][[1,1,2]]==handSoln]

(* check with the (Subscript[t, 0])=(Subscript[t, 1])=Δt case to verify that our result is identical to Mike Dubson's previously derived fixed-timestamp formula *)

dubsonEq=(1/(β+1))*((β-1)*y[i,t-Δt]+2*(1-α^2)*y[i,t]+α^2*(y[i+1,t]+y[i-1,t]))

fixedTimeHandSoln=handSoln/.{(Subscript[t, 0])->Δt,(Subscript[t, 1])->Δt}

FullSimplify[fixedTimeHandSoln==dubsonEq]

(* check for simpler formulas for our hand-derived formula (result: not really) *)

Collect[FullSimplify[handSoln],{y[i,t],y[i,t-(Subscript[t, 0])],y[i,t+(Subscript[t, 1])],y[i+1,t],y[i-1,t]}]//DisplayForm