MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Pattern matching

  • To: mathgroup at
  • Subject: [mg116229] Re: Pattern matching
  • From: Leonid Shifrin <lshifr at>
  • Date: Mon, 7 Feb 2011 06:07:14 -0500 (EST)

This is not a bug.  The second rule indeed has no chance to execute. The
reason that this does not iterate infinitely is that when the first rule
applies for n = 0, we get zero as a result. The next time the rule is
applied for n = -1, we get zero again, since we multiply -1 and the previous
zero. Since the two consecutive  results are the same, ReplaceRepeated

I used a similar example in my book, where  I made the same statement that
we should expect infinite iteration, which is apparently incorrect for this
particular problem, as you just pointed out. Will add this to a list of
things I have to correct.


On Sun, Feb 6, 2011 at 1:35 PM, StatsMath <stats.math8 at> 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!

  • Prev by Date: Re: Pattern matching
  • Next by Date: Re: position of sequence of numbers in list
  • Previous by thread: Re: Pattern matching
  • Next by thread: Re: Pattern matching