Re: Pattern matching

*To*: mathgroup at smc.vnet.net*Subject*: [mg116228] Re: Pattern matching*From*: Richard Fateman <fateman at cs.berkeley.edu>*Date*: Mon, 7 Feb 2011 06:07:02 -0500 (EST)*References*: <iilth1$2mk$1@smc.vnet.net>

On 2/6/2011 2:35 AM, StatsMath wrote: > Have a question regarding the applicaiton of pattern rules: > > fact[4] //. {fact[n_] :> n fact[n-1], fact[0] -> 1} > > This is a bug since fact[0] needs to be defined 1st, but I expected > the above to grind away idefnitely but it returned a a value 0, > instead of an infininte computation. > > Can you help me understand why the above returns 0? > > Thanks! > it looks to me like fact[0] is replaced by 0*fact[-1] which is simplified to 0. the other rule isn't seen.