Re: Re: Re: Re: Mathematica language issues

*To*: mathgroup at smc.vnet.net*Subject*: [mg53164] Re: [mg53142] Re: [mg53112] Re: [mg53050] Re: Mathematica language issues*From*: Andrzej Kozlowski <akoz at mimuw.edu.pl>*Date*: Mon, 27 Dec 2004 06:41:34 -0500 (EST)*Sender*: owner-wri-mathgroup at wolfram.com

Correctness in the strict sense does not seem to be an issue here. Because it does not give you access to the source code Mathematica documentation consists either of "models" , rather like Fred's, or examples of usage from which the user is supposed to work by analogy to deduce what will happen in other cases. Neither of these approaches gives you full knowledge and always there is some remaining "mystery". Sometimes when working by analogy and attempting inputs that were not actually explicitly mentioned in the documentation you will soemtimes discover that they do not work as you had expected. Occasionally WRI admits that this behaviour is not what they intended and it then is officially classified as a bug. Sometimes, however, it turns out to be an exception that was merely "undocumented". But what does that really mean? Obviously documentation does not mean listing all possible inputs and all possible outputs; even if such a thing were possible it would not be very useful. How can this be corrected? Well, either by creating a more complicated model (like the one Fred has now proposed for the operation of Times and Plus) or by giving some extra examples or counter-examples, e.g saying explicitly: a+b+c/.s:a+b->0 will not work. But the situation seems to be rather like with Goedel's Incompletness; adding such things to the documentation will almost certainly lead to new exceptions. In the end it may be that the only complete and correct documentation of Mathematica would have to consist of its source code. I can't prove it but it would make an interesting theorem which, in the spirit of Chaitin's algorithmic information theory, we could state by saying that Mathematica is information-theoretically incompressible ;-) Andrzej On 26 Dec 2004, at 01:18, DrBob wrote: >>> If Fred's "speculations" came form an employee of WRI they could >>> have the status of "documentation" without changing a word. The >>> mystery here is simply a question of authoritativeness. > > If he's correct, you mean. > > Bobby > > On Sat, 25 Dec 2004 22:55:10 +0900, Andrzej Kozlowski > <akoz at mimuw.edu.pl> wrote: > >> *This message was transferred with a trial version of CommuniGate(tm) >> Pro* >> I am sure Fred will provide his own answers, but on the principle "the >> more the merrier" (especially at Christmas) , I thought I would >> contribute my own comments: >> >> On 25 Dec 2004, at 18:00, DrBob wrote: >> >>> Fred, >>> >>> At several points you made statements I simply don't understand. The >>> examples clarify what you meant for the most part, but I'm still >>> wondering, so here goes: >>> >>>>> Unevaluated is meant to pass unevaluated arguments to a function >>>>> body and as such it works perfectly. No one in practice is >>>>> interested >>>>> in (1+1)*Unevaluated[2+2]. >>> >>> Do you mean a Function body? If not, Times in that example qualifies >>> as a function body. (I think.) >> >> One uses Unevaluated to prevent a rule from being applied. This means >> that a rational person will only do it when he knows there is a rule >> that he does not want to be used. There is no normal situation where >> one would use Unevaluated and there was no specific evaluation one >> wanted to prevent. >> >>> >>>>> If now no rules for f can be applied, Mathematica returns the >>>>> result >>>>> so far, with Unevaluated wrapped again around the labeled >>>>> arguments. >>> >>> So it's only rules FOR F that matter? Does the distributive property >>> count as a rule for Times? >> >> You do not need Unevaluated to prevent the distributive rule being >> used >> because it is never used automatically. You need to apply something >> like Distribute etc. >> >>> >>>>> If a rule for f can be applied, the administration of arguments >>>>> that come from Unevaluated is completely skipped. >>> >>> I don't get any meaning from the phrase "administration of >>> arguments". >> >> I think Fred meant that the rule is applied to the arguments "as >> given", without changing them or rearranging in any way. >> >>> >>>>> I first formulate my assumption (only WRI and maybe a few others >>>>> know if I am right!) >>> >>> Even if your assumption is correct (as I suspect it is), this >>> statement doesn't really square with a later claim that there's no >>> mystery. >> >> A certian mystery exists even when we have full documentation, because >> even that is only a description of expected behaviour of Mathematica >> and does not include the actual mechanism behind the behaviour (of >> which at most a vague idea is provided). Everything else requires the >> source code. If Fred's "speculations" came form an employee of WRI >> they >> could have the status of "documentation" without changing a word. The >> mystery here is simply a question of authoritativeness. >> >> >> Andrzej Kozlowski >> Chiba, Japan >> http://www.akikoz.net/~andrzej/ >> http://www.mimuw.edu.pl/~akoz/ >> >> >> >> > > > > -- > DrBob at bigfoot.com > www.eclecticdreams.net > >