The help page ?type/protected states:

The set of protected names in Maple can be computed with select(type, {unames(), anames(anything)}, protected).

However, the result of this computation is "time dependent". I.e. repeated execution of this command produce different sets. E.g. executed in a fresh session:

S1:=select(type,{unames(),anames(anything)},protected):
S2:=select(type,{unames(),anames(anything)},protected):
S3:=select(type,{unames(),anames(anything)},protected):
S4:=select(type,{unames(),anames(anything)},protected):
S5:=select(type,{unames(),anames(anything)},protected):

Each of these sets become larger than the previous one. In Maple 12 Classic:

map(nops,[S1,S2 minus S1,S3 minus S2,S4 minus S3,S5 minus S4]);
                       [362, 58, 138, 180, 96]

and in Maple 12 Standard:

map(nops,[S1,S2 minus S1,S3 minus S2,S4 minus S3,S5 minus S4]);
                           [361, 55, 136, 182, 97]

So, not only the result of these computation are larger and larger sets, but these sets are different, depending on the interface. I find this effect quite odd. I wonder about its cause.

Two mechanisms that could be at work are:

a. These names become protected in stages.

b. 'select' is "lazy" in detecting protected names.

Or a combination, or something else...

How many iterations are needed to get the complete set of protected names?

And how could it be that the output depends on the interface?


Please Wait...