code for unevaluated Boolean and conditional expressions
Subject: code for unevaluated Boolean and conditional expressions
From: Barton Willis
Date: Thu, 4 May 2006 05:07:10 -0500
Why is the 'ev' needed after 'subst' in (%i6)? My
example is overly complicated, but it seemed like
an interesting test.
(%i1) load("boolsimp.lisp")$
(%i2) f(x) := if x > 8 then f(x-1) + 3 else x;
(%o2) f(x):=if x>8 then f(x-1)+3 else x
(%i3) assume(q > 12);
(%o3) [q>12]
(%i4) f(q);
(%o4) (if q-5>8 then f(q-6)+3 else q-5)+15
(%i5) subst(q=13,%);
(%o5) (if 8>8 then f(7)+3 else 8)+15
(%i6) ev(%); <-- why is this ev needed?
(%o6) 23
(%i7) f(13);
(%o7) 23 <-- OK, agrees with %o6
Barton