9)99*('))99a*')):::9*( :P8''()1)::(:'P8)')))'$:X:::0:Q'6:9*)S:H:B:9 :P8)!()N:*P8')*9P8'':f:9:z:l:Y'v:))z8))1):P8:(^8 (::')')))'8::Q'):Q'):Q*)::Q'):Q'):Q'9: (:)'$:)'$:::Q'):Q*:)*;:Q'::Q*:Y':))*')':;;6;;1);;;;V9; ;;p;h;d;Z;V;:;6;2;(((0C;>;(+Q;F;)+00'')8*(0!(+`;))( ((l;)+;|;v;?7z;(!(+`;')@*;9z;(+;(88;?72;!();y)P80!();?7;V;;;;(+ ( 7)(;)+!(+!((!(()')4<.> >>====(= =y+p+))=~=p=F=8=4=i+)))@=01(9p+1)j=<<)')!(p+>!')>>>>>>>x>r>2>*>/><*`+1)^>R>N>H>>>A>'D>1')K>')+>!()X>A+)0!()d>(j>)I+D>p>)!()+(|>)*(>!()>())>>>>>!()>A+)(>)@+>>>+)!()>+) (>>'++);>7><7< (>>)**`+))p+)'$:"??(?1'`()'?7',?0i()':6?':?())':F? (P?L?':?')':Z? (>`?':?'8??n?Q'|?t?+)))+?))i));)?)'))'8?)t?'$:?'>?)8+'$:?'>?)H+'$:?'>?)X+'$:???'?0A') (??'D>+)'$:@?@?+? (@@' @I')+)@( @@+)')'$:4@,@@0@'D>!@>'T@P@H@B@Q'?)M@n7'f7'<0)'T@n@f@`@Q'?)k@n7'f7'<0'$:@@~@)@@ ,@,>?@)@0+?;)'T@@@@Q')@,)@@ (@@+?+@!() <'<)'$:@@@0@@ ,@,>?@0@@Y+D>@A+?+?;0'T@6AA A,)#AAQ'A AY+D>AA+? (,A(A+?+0A!() <'<)':jABAaAFA'VALAI+RA>+)I+>\A+) (>fA+)uAnA')) ( @zA')':A)+))':AAAY'A))) ,AA)A))+)) (>fA?)'AAAAY'p+)A!)AA1,)1(p+>:Aq+)'$:AA),A))8,>A>B))+0)'8BBY'B)))@,IBB1):B4B.B(B!())!():?!())EB@BLBBB ,BBB , @+?'D>!@0'$:BBB0@)@BB0BD>+D>BBD>BBY'?D>?+?'D>!@)'$:B)?BD>@)'$:C0?C?@0'$:C (?C+?'$:6C*CY'D>0CQ'>B;C>' @'$:FC>OCJCY'>(@TC+)':pC`CY'?)hCY'?)0}CtCY'?)0')0'8CCCCCCC,C)())CC')0!()C())!()CA,))!()C!()CCC,))')0':DTDDDC!)CCQ')Cy,)1(?D!') D!)DDQ')Dy,)1(?>OD"D,y(HDBD(RA>(>\A (>fADlDZD!)fD`DQ')D1(?>{ADDtD!)DzDQ')D1(?>>D,D>y(>D()>EB)');DDD!)DDQ')C1(?DDDEB)!@EDDDD!)DDQ')C1(?DgAD,D\Ay(RAD()\AD'E)') Ey())'T@rEhE6E&EEQ' <"E,)1E*EQ'))'))cENEJE>EQ'DE)I+))E)!()TE,^EZEY, '<FvEUC>)),'>F$F1)2F*F'<.F,,!(,8F, <,),')HF,)':^FTF9+)ZFA+)QDFF!)FFQ')D1(?>{AFFF!)FFQ')D1(?>C)EB0;FFF!)FFQ')C1(?DDFFC)EB0!@&G"GGGG!)GGQ')C1(?DD'}C)E0)G())'\HE6G1)ZG>GEIGBG,)E!()NG,)TG!()EEXH8H2H(HfG1)HG~GxGrG!()f7q)),GGa',*E (GG(G+)'), HGGGGa',GQ' <*EGGa',*E',)GGG,)Ga',f7!()GY+)G,,) (GG+)+G!(,Gi,)!()Hi,)')H!(,Ha,H!()n7'<"Ha',vE!().Ha,)!(,'@>H*EOHBHQ')HHQ')f7'RH!()n7!@*E)))),,,'FHzHtH,))@HH1)HHE)!()H,E)!(,>''>FH1)HH'I4I!():I,)CI)'FI!()DOI_IRI!()XII+))'dI0)'hI!()nI()0!()0':KJIIIIIY'?))I!)IIQ')I1,)1(ID)h,DIY'?))IIY+(-II+)IY-)(- (IIecond argument is replaced by its third argument. For example: % NUMNUM: 6 $ M: 'M $ C: 'C $ V: 'V $ EG: M*C^2 + M*V^2/2 $ EVSUB (EG, M, 5); EVSUB (EG, M, M1+M2); M; % Play around with EVSUB for awhile until you are absolutely sure that you understand the difference between substitution and assignment: % RDS: FALSE $ % You may have discovered that EVSUB also permits substitution for arbitrary subexpressions as its second argument. For example: % M: 'M $ C: 'C $ E: 'E $ EVSUB (M*C^2 + 7, M*C^2, E); % To keep the algebra package small, we have not endowed EVSUB with any sophistication about finding algebraically IMPLICIT instances of its second argument in its first. See if you can find examples where EVSUB does not do a substitution that you would like it to do: % RDS: FALSE $ % Here is an example where a desired substitution doesn't fully occur:% NUMNUM: 6 $ C: 'C $ S: 'S $ EVSUB (1 - 2*S^2 + S^4, S^2, 1 - C^2); % The reason we did not (I(II)+)0(IfA')(-+ -0I!)JJQ')A1(J>)`,;JJbJNJ(J JY'?))9J,JY+(-2JI+)I (I>J(BJ(HJI(IfAQJ!)\JVJQ')I1(IDDJrJjJY'?))JvJY+(-|JI+)I (IJ(J(IIJJ9+JJI+@-JQ-0I-0 (JJ+-0 (JJ')@-')0-EJJJY'?))J0(J-1+)0JJ +JY'?)))+)0}C0{AK~KtK:K.KKKY'?))K!)(K"KQ')A1(J>;2KY'?))oKbKXKJKDKY+))SKNKA+@-')0]K0')0!()hK()0')@-yK0 (DB-C)!@KKKK-))KKKKKKY'?)0}C)>KA+KY+>0!()K-)ZFEK +KY'?))')KK +KY'?)) (EDB}C0'8K[LK{ALL@LY'?L0()D>!@TLPLJLDL@L2L.L&LY'?))}C)!()8LY'?)0C)!()C!()CC'!()dB')0'8fLqLjLY+)XI( @h-'8|LI+LLY+))Y+))'M`MLL')L**`+Y'ILL ,La', ,La',]MLMBML'=M~=8M2M<"MMLL4='))L01(9p+1)M<<< ML))MM1(8p+1(9p+'')0!()HM)',!()RM!'VM!(,L',1)hMfM'MA+?MM!()D>'?0q,M!() <)),,'NNMMMM)M**`+Y'I0MY' argument. As before, we could circumvent the difficulty by making an equivalent substitution of (1-C^2) ^ (1/2) for S, or (1-S^2) ^ (1/2) for C, but that would leave an ugly square root in the answer. If our goal is to delete the subexpression C^2 + S^2 - 1, then we can use to our advantage the fact that powers must match exactly for a substitution to take place: % EVSUB (C^2 + S^2 - 1 + C + S, C^2, 1 - S^2) ; % See now if you can use such techniques to get your examples to work: % RDS: FALSE $ % This brings us to the end of the calculator-mode lessons. There are, of course, higher-level math packages in muMATH, but the fact is that from a usage standpoint, we have already covered the hardest part, which is understanding evaluation, substitution, and the ramifications of the various algebraic control variables. You will find that if you know the relevant math, use of the higher-level packages is quite straightforward, easily learned ?)ZFMM)M**`+Y'I0)')0+M!()N1')!()n7)))'PON1)fN NaNNNBN>N*NI+,0NY'?)8NQ+))}C,!(,HNY+,)!()TNQ+)ZNY+,)'-0 OONnN'NzN(N)+ <O!'-!(-0=O6OO%OOO!(,OI+,n7'*O)!(-0O9+-0!(-O'@O)'DO!(-JO(-n7)))),---':OOjO1)rOpO;wO'(zO-?);?''8 PO!@OPO POOOI+OO->))-00>Y+0)OOI+OO->))-00>Y+@-OQ+O)I+0)'O()0PO-)))-00)1+)0'P!()PQ+0) (h-zAJTP&PJ*PCP.P9+>P4PI+@-:PQ-)I-)-HP@-!()NPI+)-_PXPY+@-)'bP!()hPQ+nP@-Q+tP-I+))'8P!@P{APPPPPA+P->0)-00>PPI+PP->0)-00>Y+@-PQ+0)'P()0PP-)0)-00) (h-ZL':QP),P))-+Q$QQ1) QQQ!()Q()0!()(GE)!()0(EP?'Q~=QLQ>Q4=))FQ01(9p+1)(>+Q!() <) <0Q1(8p+))'RQIUCRQ1)QQQQ1)QQ]M!(,Q,Q,I+)Qi),!()QI+0)Q.F'Q!(,)!(,Q,Q,Y+R0!() )),,'$:2R(R"R+.0UC,R+.0!@6R+.0'$:VRLRFR+.0UCPR+.0!@ZR+.0'RfR1)pRlR'<,!(,vR,|R,I+) <))..,'>SR9SRRRRR,R.) ... (RR .)'.RRRR,R (RR.RY+)0'.q,)@2SRR,RL,R.R ... ,L1),SSS'<SSxMSlM (RRRSxM#SlM (R(S.R!() (RR) .),,'$:bSXSRS+0.0UC\S+0.0!@fS+0.0'$:S|SvS+8.0UCS+8.0!@S+8.0'`U6U US[LTSTSTT TSSSSY'?S0,S.R)0.8. (SS9.)'8.RTSSSY'?S0,S.))0.8. (TS1.)'0.!()R@T2TT,TLY'? T0,$T..T)0.8. ,L1)T!()T)')(TS+){ATT@TY'?T0()D>!@UUTTTTTTY'?))}C)!()TY'?)0C)!()C!()CC'!()dBUUY+U)I+.H) ((U"U'G) (2U.UI.)'H.GU:UY+)@U9+G) (RULU'.H) (\UXUA.)'@.)))),,'$:U|UvU+H.0UCU+H.0>U+H.0'8UUUI+LL (UUI.)'H.'$:UUU+@.0@U+@.0>U+@.0'8UUUI+DKUY+)) (UUA.)'@.'VU!@VHVVEV>V8V$VVVVY+V0-)>+X.0Q?(V3V,V-))+X.0!(.p0!(.p0'X.=MLVsVlVfV\VXVHT'!()bV))!(.8.!(.0.(|VxV'8.'0.VV!()VY'?))VV!()VQ'?VQ')V)')+))))..'VVVV`;!(8.0!(.V!(0.V!(.V!(@.V!(H.p0!(X.v0)X..0..8.@.H.'>FWWy.W),a,n7'A!()(X!,2X.Xi,Ei, FfXZX.bX),a,n7'<,'JXXXXvXQ'E|X.)),WXQ'XX.),Y+)XA+Xi, }CZ.)(WLW))'8ZZZZZZ.ZvEY')@Z.Z>}CZ.Z!()ZY'?))(WLW'VV[[V`;!(.[!(@.j0!(.[!(0.V'V4[.[([V`;!(.[!(X.V!(.:[!(0.d0'Q[[z;P[z;.1)[[|[x[p[^[(b[A+^0h[(n[^0((t[) <(.(n7[[z;'n[)''<FvEUC>)),'>F$F1)2F*F'<.F,,!(,8F, <,),')HF,)':^FTF9+)ZFA+)QDFF!)FFQ')D1(?>{AFFF!)FFQ').]0\0\0'\\_-|0-'\\H+\X+\0\0'.\X.]0.\8.\H.]@.](-]-]-'h- ] - ]-]-'H)$]X+.,]8]H+.4]'8+`.<]]8+P.D]`]8+(.L]^8+.T]p]X+-\]h]H+-d]'X+-l]x]H+-t]'H+x-|]]X+p-]'`]8*')L_ (])''])'p(]]']]@+')])']]X']]']]]]]'()]@+]]_@+0(0]^]h^*\^(0^'^'`*'D^]@^' ^'^'*')^P*^<^^8^'0'4^,^('x)0^*(^P'$^X^ ^P^'*')L^(H^'T^()^]^(0l^`*^d^]^'0'(x^x)|^*t^(0^`^X+`-^'P'^)^0)'^^P*^)^*'^'^'^^0)^^](0^^'0'0^'^^'0^t_'0(+0^p^(+0^^0+0^^0+0_^0') _x)_8+__^8+0 __8+0(__]$_@+04_,_H+0<_0_H+0D_8_P_'x)T_)X_