 
 
 
 
 
 
question about Protect
- To: mathgroup at smc.vnet.net
- Subject: [mg75079] question about Protect
- From: "dimitris" <dimmechan at yahoo.com>
- Date: Mon, 16 Apr 2007 20:11:59 -0400 (EDT)
Hello.
The following code add a rule for the Limit command
In[1]:=
Off[General::spell1]
Unprotect[Limit];
Limit[a___] := Null /; (Print[InputForm[limit[a]]]; False)
For example
In[7]:=
Integrate[1/Sqrt[Abs[x]], {x, -1, 2}]
>From In[7]:=
InputForm[limit[1 + (1 + x)/2 + (3*(1 + x)^2)/8, x -> -1, Direction ->
-1, Assumptions -> True]]
>From In[7]:=
InputForm[limit[(-I)/Sqrt[x], x -> 0, Direction -> 1, Assumptions ->
True]]
>From In[7]:=
InputForm[limit[I/Sqrt[x], x -> 0, Assumptions -> True]]
>From In[7]:=
InputForm[limit[2*Sqrt[x], x -> 1, Direction -> 1, Assumptions ->
True]]
>From In[7]:=
InputForm[limit[2*Sqrt[x], x -> 0, Direction -> -1, Assumptions ->
True]]
>From In[7]:=
InputForm[limit[1/Sqrt[x], x -> 0, Direction -> -1, Assumptions ->
True]]
>From In[7]:=
InputForm[limit[1/Sqrt[x], x -> 0, Assumptions -> True]]
>From In[7]:=
InputForm[limit[1/Sqrt[2] - (-2 + x)/(4*Sqrt[2]) + (3*(-2 + x)^2)/
(32*Sqrt[2]), x -> 2, Direction -> 1, Assumptions -> True]]
>From In[7]:=
InputForm[limit[2*Sqrt[x], x -> 2, Direction -> 1, Assumptions ->
True]]
>From In[7]:=
InputForm[limit[2*Sqrt[x], x -> 0, Direction -> -1, Assumptions ->
True]]
Out[7]=
2*(1 + Sqrt[2])
Note that I have NOT protect the Limit command. Nevertheless,
In[8]:=
Clear[Limit]
Clear::wrsym: Symbol Limit is Protected.
Why do we get this message? How Limit was protected WITHOUT telling
so?
In[12]:=
Information["Limit", LongForm -> True]
"Limit[expr, x->x0] finds the limiting value of expr when x approaches
x0."*Button[More..., ButtonData :> "Limit",
   Active -> True, ButtonStyle -> "RefGuideLink"]
Attributes[Limit] = {Listable, Protected}
Limit[a___] := Null /; (Print[InputForm[limit[a]]]; False)
Options[Limit] = {Analytic -> False, Assumptions :> $Assumptions,
Direction -> Automatic}
Of course
In[19]:=
Unprotect[Limit];
Clear[Limit];
Protect[Limit];
In[22]:=
Information["Limit", LongForm -> True]
"Limit[expr, x->x0] finds the limiting value of expr when x approaches
x0."*Button[More..., ButtonData :> "Limit",
   Active -> True, ButtonStyle -> "RefGuideLink"]
Attributes[Limit] = {Listable, Protected}
Options[Limit] = {Analytic -> False, Assumptions :> $Assumptions,
Direction -> Automatic}
but the question still remains!
- Follow-Ups:
- Re: question about Protect
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
 
 
- Re: question about Protect

