Question: Why a separate input line is required to convert inert ICs to D notation

Eval(`ϕ`(t), t = 0) = `ϕ__0`, Eval(diff(`ϕ`(t), t), t = 0) = 0

Eval(varphi(t), t = 0) = varphi__0, Eval(diff(varphi(t), t), t = 0) = 0

(1)

`~`[value](convert({Eval(diff(varphi(t), t), t = 0) = 0, Eval(varphi(t), t = 0) = varphi__0}, D))

{eval((D(varphi))(t), t = 0) = 0, varphi(0) = varphi__0}

(2)

map(value, convert({Eval(diff(varphi(t), t), t = 0) = 0, Eval(varphi(t), t = 0) = varphi__0}, D))

{eval((D(varphi))(t), t = 0) = 0, varphi(0) = varphi__0}

(3)

convert({Eval(diff(varphi(t), t), t = 0) = 0, Eval(varphi(t), t = 0) = varphi__0}, D); `~`[value](%)

{varphi(0) = varphi__0, (D(varphi))(0) = 0}

(4)

NULL

I have expected elementwise and map to be effective. Why aren't they for this example?

(Evaluation at a point (see help(D)): In output (3) it is the first time that I see a composition of the D operator with the Eval function (vertical bar). Is that an undocumented feature or part of an answer that I could not figure out myself?)

Download Convert_inert_IC_to_D_notation.mw

Please Wait...