Simplify, SetDelayed and Condition ... again

*To*: mathgroup at smc.vnet.net*Subject*: [mg52476] Simplify, SetDelayed and Condition ... again*From*: alvaro diaz <alvarodiazfalconi at yahoo.com>*Date*: Sun, 28 Nov 2004 01:07:19 -0500 (EST)*Sender*: owner-wri-mathgroup at wolfram.com

This is True >ClearAll[f,x] >Assuming[x>0,Simplify[3x>0]] --- True Now define a function f[x] that f[x]:=3x/;x>0 1st try >ClearAll[f] >f[x_]:=3x/;x>0 >FullSimplify[f[x]>0,x>0] >Assuming[x>0,FullSimplify[f[x]>0]] --- f[x]>0 --- f[x]>0 --- f[x]>0 2nd try >ClearAll[f] >f[x_]:=3x/;Assuming[$Assumptions,x>0] >FullSimplify[f[x]>0,x>0] >Assuming[x>0,FullSimplify[f[x]>0]] --- f[x]>0 --- f[x]>0 3st try >ClearAll[f] >f[x_]:=3x/;FullSimplify[x>0] >FullSimplify[f[x]>0,x>0] (* 1 *) --- f[x]>0 --- f[x]>0 but ... >Assuming[x>0,Simplify[f[x]>0]] --- True FullSimplify is not hold. Why do not work (* 1 *)? >Attributes/@{Condition,Function,FullSimplify} ---{{HoldAll,Protected},{HoldAll,Protected},{Protected}} And the really question ... I need to modify Condition to work better? Or there are another way without FullSimplify in Condition? For example, define a norm that >norm[z_]:=Abs[z]/;FullSimplify[Element[z,Complexes]] then >Assuming[Element[z,Complexes],Simplify@norm[z]] --- Abs[z] but fail >FullSimplify[norm[z],Element[z,Complexes]] --- norm[z] Alvaro. __________________________________ Do you Yahoo!? Read only the mail you want - Yahoo! Mail SpamGuard. http://promotions.yahoo.com/new_mail