[Date Index]
[Thread Index]
[Author Index]
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
>
>
Prev by Date:
**Re: Mathematica language issues**
Next by Date:
**Re: Re: Re: Re: Mathematica language issues**
Previous by thread:
**Re: Re: Re: Re: Mathematica language issues**
Next by thread:
**Re: Re: Mathematica language issues**
| |