Re: Unwanted Recursion

*To*: mathgroup at smc.vnet.net*Subject*: [mg120077] Re: Unwanted Recursion*From*: DrMajorBob <btreat1 at austin.rr.com>*Date*: Thu, 7 Jul 2011 07:34:31 -0400 (EDT)*References*: <201107060939.FAA29360@smc.vnet.net>*Reply-to*: drmajorbob at yahoo.com

ClearAll@p SetAttributes[p, {Flat, OneIdentity}] p[a_] := a p[a] a Bobby On Wed, 06 Jul 2011 04:39:33 -0500, Casorati <casorati at f-m.fm> wrote: > I'm trying to define an anti-commutative algebra in Mathematica. > Here I will show only a minimal example to demonstrate my point. > The product of two elements a^b should be give by p[a,b] so I > make p flat: > > SetAttributes[p, {Flat}] > > But now I want p[a] to reduce to a. > Such a rule would make other rules much simpler but when I define > > p[a_] := a > > the expression p[a] causes an infinite recursion. I get the message > > $IterationLimit::itlim: Iteration limit of 4096 exceeded. > > I have similar problems with p[]:=1 which makes mathematica puts > ones into the p : p[a]=p[a,a]=p[1,1,...,a] . > > How can I solve this problem? > > -- DrMajorBob at yahoo.com

**References**:**Unwanted Recursion***From:*Casorati <casorati@f-m.fm>