Re: Positive[a] = True ???
- Subject: [mg2530] Re: [mg2518] Positive[a] = True ???
- From: hay at haystack.demon.co.uk (Allan Hayes)
- Date: Thu, 16 Nov 1995 06:46:28 GMT
- Approved: usenet@wri.com
- Distribution: local
- Newsgroups: wri.mathgroup
- Organization: Wolfram Research, Inc.
- Sender: daemon at wri.com ( )
Frank Domokos <domokos at chaph.usc.edu>
in [mg2518] Positive[a] = True ???
asks about the following kind of response
IN>> Positive[a] = True;
OUT>> Set::write: Tag Positive in Positive[a] is Protected.
Frank,
Most system functions, like Positive, are protected (have the
attribute Protected) to avoid unintentional changes. You cannot make
a definition for them ("tagged" by them) without unprotecting them
(see later).
Here are some ways round this for your example
1.Tag your definition with a instead of f:
a. by using UpSet (^=) instead of Set (=):
Positive[a]^= True;
or, more specifically,
b. by using TagSet:
a/:Positive[a] = True;
Or
2. Unprotect Positive to allow definitions to be tagged by it:
Unprotect[Positive];
Positive[a] = True;
(eventually re-protecting Positive)
Of course if a is protected or is an expression with a protected
head then you will need to unprotect either Positive or a or the
head of a.
Allan Hayes
hay at haystack.demon.co.uk