Question: isdifferentiable bug?

Compare the results of isdifferentiable on 3 piecewise defined expressions f, g, and h.

The first time the order of the asking is f, g, h. The second time (after a restart) the order is h,g,f.

The results are remarkably different! What is going on?

isdifferentiable was first brought to my attention within the last week or so, maybe it is not reliable?

If you remove all the lines with 'assuming' then the inconsistency remains.

restart;
f:=piecewise(t<t0,0,(t-t0)^2):
isdifferentiable(f,t,1);
                              true
isdifferentiable(f,t,1) assuming t0>0;
                              true
g:=piecewise(t<t0,0,(t-t0)^(3/2)):
isdifferentiable(g,t,1);
                              true
isdifferentiable(g,t,1) assuming t0>0;
                              true
h:=piecewise(t < t0, 0, (6*t-6*t0)^(3/2)):
isdifferentiable(h,t,1);
                              true
isdifferentiable(h,t,1) assuming t0>0;
                             false
restart;
h:=piecewise(t < t0, 0, (6*t-6*t0)^(3/2)):
isdifferentiable(h,t,1);
                             false
isdifferentiable(h,t,1) assuming t0>0;
                             false
g:=piecewise(t<t0,0,(t-t0)^(3/2)):
isdifferentiable(g,t,1);
                             false
isdifferentiable(g,t,1) assuming t0>0;
                             false
f:=piecewise(t<t0,0,(t-t0)^2):
isdifferentiable(f,t,1);
                             false
isdifferentiable(f,t,1) assuming t0>0;
                             false

Please Wait...