As the discussion in this thread  did not provide me a clear understanding of the implementation and intended usage of the property 'continuous' I have looked at this subject a bit further. And as it is an underdocumented subject, it seems fit to post here some issues that I have found.

The help page ?property states in a table of the properties for functionals:

Name              Parent        Description
continuous     mapping    a function that is continuous for every real value, in every parameter

Similarly:

`property/Description`[continuous];

   a function which is continuous for every real value, in every parameter

Fine, but what is a "function" here? At start, Maple attaches properties to some object names (here in Maple 12):

nops([indices(op(`property/object`))]);
indices(op(`property/object`));
                                     91
[limit/Y], [limit], [binomial], [cos], [limit/Z], [hankel], [coth], [mellin],
  [erf], [fouriersin], [FresnelS], [trunc], [Catalan], [Diff], [invztrans],
  [BesselK], [round], [ithprime], [arcsech], [sec], [BesselJ], [prevprime],
  [BesselY], [signum], [bernoulli], [invfourier], [erfi], [invlaplace],
  [tanh], [hilbert], [modp], [Int], [product], [sin], [arcsinh], [dawson],
  [gamma], [arcsin], [abs], [Ci], [GAMMA], [arccos], [LambertW], [Zeta],
  [sinh], [arccot], [fourier], [cosh], [min], [arctanh], [Psi], [euler],
  [Beta], [arccsch], [D], [Ei], [mods], [Sum], [BesselI], [Pi], [ztrans], [@],
  [tan], [fouriercos], [dilog], [arctan], [csc], [cot], [sqrt], [arccosh],
  [@@], [laplace], [diff], [invhilbert], [Limit], [nextprime], [sum], [sech],
  [exp], [arccsc], [ln], [csch], [arcsec], [max], [erfc], [int], [sign],
  [limit/X], [FresnelC], [arccoth], [Si]

I.e. names of mathematical functions, constants, operators, inert commands, etc. Of these, only 'abs' has the property 'continuous' explicitly attached:

`property/object`[abs];
                 AndProp(EvenMap, continuous, Non(constant))

For the other objects in this table, the property 'continuous' is derived from the property lattice by its order relation, "<P" say, between "child" and "parent" properties. E.g.:

`property/object`[sin];
          AndProp(OddMap, InfinitelyDifferentiable, Non(constant))

and

InfinitelyDifferentiable <P differentiable <P continuous 

Then:

is(sin,continuous);

                                    true

So, this property works in a "functional sense" as, on one hand it is attached to the function name, but does not work for function calls or procedures:

is(sin(x),continuous);
                                    false
is(x->sin(x),continuous);
                                    false

And, on the other hand, it works for some functional expressions:

is(2*sin,continuous);
                                    true

is(D(sin),continuous);
                                    true

However, this implementation is strange, to say the least, as, apparently, there is no provision for a functional constant. Indeed:

is(1,continuous);
                                    false

So, to see what is intended in this implementation to be "continuous", I have tracked its child properties in the lattice:

`property/ChildTable`[continuous];
`property/ChildTable`[op(%)];
`property/ChildTable`[op(%)];
`property/ChildTable`[op(%)];
`property/ChildTable`[op(%)];
                              {differentiable}
                         {InfinitelyDifferentiable}
                               {PolynomialMap}
                                 {LinearMap}
                                {BottomProp}

So, any object with these properties is deduced to have the property 'continuous'. E.g. there are 18 objects in the table '`property/object`' with the property 'LinearMap', so:

[hankel ,mellin ,fouriersin ,Diff , invztrans , invfourier ,invlaplace ,
hilbert , Int, fourier , Sum, ztrans, fouriercos, laplace, diff, invhilbert ,
sum, int]:

map(is,%,continuous);

[true, true, true, true, true, true, true, true, true, true, true, true, true,
  true, true, true, true, true]

I do not understand in what sense 'Diff' or 'Int' is meant to be "continuous".


Please Wait...