Aald HH $ @d HHHHff@  d Footnote TableFootnote**.\t.\t/ - :;,.!?6 `$  `TOCHeading1Heading2    EquationVariablesSeh@e @f OgQ~iKQjgBQkdQl *՜R7m oRSn {GRorLRpvRqXISrxSshOtSu ھS v _<S#w z>S'x vS+y Q a q b a 4# ) I >r )<$lastpagenum> *<$monthname> <$daynum>, <$year> +"<$monthnum>/<$daynum>/<$shortyear> ,;<$monthname> <$daynum>, <$year> <$hour>:<$minute00> <$ampm> -"<$monthnum>/<$daynum>/<$shortyear> .<$monthname> <$daynum>, <$year> /"<$monthnum>/<$daynum>/<$shortyear> 0 <$fullfilename> 1 <$filename> 2 <$paratext[Title]> 3 <$paratext[Heading1]> 4 <$curpagenum> 5 <$marker1> 6 <$marker2> 7 (Continued) 8+ (Sheet <$tblsheetnum> of <$tblsheetcount>) 9Heading & Page <$paratext> on page<$pagenum> :Pagepage<$pagenum> ;See Heading & Page%See <$paratext> on page<$pagenum>.S < Table All7Table<$paranumonly>, <$paratext>, on page<$pagenum>k =Table Number & Page'Table<$paranumonly> on page<$pagenum> x FFAھ HHAv JJ NN PP R A  Dtmo5y  va<$5|  v;5  u>nuP  >:5 ! u >5 " t"hnQ| #  vmorP $ v vmoP % j jd, Q & j j"Q ' j j/umQ} ( j ja Q ) j ji>Q" * j j naQ + j j paQ , j je Q -  vediQ . j jcuQ / j j Q 0 j j Q 1  v Q 2 j j)Q# 3 j j heR3 4 j j$etR4 5 j jHeR5 6  vearR6 7 j jppaRP 8 j jRQ 9 j jnRR : j je& R ;  j<exRp < j jnuRq = j je Rr > j jnuS ?  jpt>S @ j j<umS A j jambS B j j'<$S C j j>geS D j jO E j jxS F v vFR G  jS H v vAS I v vR J v vR K  aR L q vR M v vR N b aRR O b v DR P b bvR Q b bvR R b buR S b bR T b buR U x btR V b bR W b bvR X b bjR Y b bjR Z b bjR [ b bjR \ b bjS ] v vjS ^ j vjS _ j jjS ` j jS a j jjS b j jjS c j jjS d j jS e j jjS f j jjS g j jjS h j jjS i j jS j j jjS k j jjS l j jjS m j jjS n j jR o b bjR p b ajR q  jjR r v vR s b ajR t b vjR u b bjR v b bjR w b bjR x b bjR y b bvR z b bR { b bvR | b bvR } x bvR ~ b bR  b bqR b bvR b bbR b bbR b bbR b bbR b bbR b bbR b bbR b axR b abR v vbR v vbM  jbM v vbM b abM b vbM b bvM b bjM b bjM b bjM b bjM b bjM b bjM b bjM x bjN b bjN b bjN b bjN b bjN b bjN b bjN b bjN b bjN b bjN b bbN b abN b aR v vvR j vbR j vbR j vbR j jbR j jbR j jbR j jbR  jbR b bbR x bbSH  jxN4  abN5 v vbN6 v vbN7 v vbN8 j vbN9 j vbN: j vbN; j jbN< j jbN= j jbN> j jbSI j vbSJ j jvSK j jvSL v jSM j jvSN j jbSO j jbSP j jbSQ j jbSR j jbSS j jbST j jbSU j jbSV j jbSW j jbSX j jxSY j jbSZ j jbS[ j jbO j jbR x xbR x xbR x xbR x xbR x xbR x xbR x xbR x xbR b bvR b bjR b bjR x xjR x xjR x xjR x xjR x xjR x xR x xbR x xxR x xR x xR b bvS j jvS  jvS& v vRN  jjN v vjN v vjN v vjN j vjN j jjN v jjN v vjN v vjN v vvN j vjO j jjO j jjO j jjO j jjO j jjO j jjO ~ jjO v vjO j vjO j jjO j jjO j jjO j jjO!  j jjO"  j jjO%  j jxO&  j jxO'  j jxO(  j jxO)  j jxOQ   jxO j jxO j jxS* v vbOd v vbOe j vbOf  j jxOg  j jxOh  j jxOi  j jxOj  j jxOk  j jxOl  j jxOm  j jxOn  j jxOo  j jxOp  j jbO  v vjOr  j jO  j vvO   bO  v vvO  j vvO  j jvO j jjO !  jjO " j jvO # j jvO $ j jvO % j jvO & j jjO ' j jjO ( j jjO ) j jjO * j jjO + j jjO , j jjO - j j~O . j jvO / j jjO 0 j jjO 1 j jjO 2 j jjO 3 j jjO 4 j jjO 5 j jjO 6 j jjPN 7 j jjPO 8 v jjPP 9 j jjPQ : j jjO ; j jS < v jjO = v jjO > j jvO ? j jvS @ j jjS A j jjS B j jjS C j jjPd K j jjS S  jjS T j jjS U j jjS V j jjS W j jjS X j jjP Y jP Z v vvP [ j jjP \ j jjP ] j jP ^ j jvP _ j jjP ` j jjS. a v vjP b j jP c j jjP d j jjQ e j jjQ f j jjQ g j jjQ h j jjS/ i v vjS0 j j vjS1 k j jjS2 l j jjS3 m j jjS4 n j jjS5 o j jjS6 p j jjS7 q j jjS8 r j jjS9 s j jjS: t j jjS; u j jjS< v j jjS= w j jjS> x j jjS? y j jvS@ z j jjS] {  jjS | j jjS } j jvS` ~ j jvS  j jjS j jjS j jjS j jjS j jjS j jjS j jjS j jS j jjS j jjS j jjS j jjS j jjS j jS j jvS j jjS j jjS j jjS j jjS j jjS j jjS j jvS j jjS j jjS v vjS j jjS j jjS j jjS j jjS j jvS j jjS j jj5  S2dq5jjPFS6dq6jjJHS:dq7jj8CS>Hm3R q897 jjHm3R H RH R FootnoteHr@ q98:7 jHr@ HzHz  Single LineH'q:9<7 j;;Footnote j  5_;:j     HD q<:=7 SHD HH  Double LineH q=<@7S>?j Double Line j5c>?=j5e?>=SS jH q@=B72AA Single Linej5hA@HZqB@C7q TableFootnoteEGxR qCB7 9EGxR EPwEPw  TableFootnoteod@DRRHH5xE5 HHF e   HH5zFN5 HHlEE DHH5{G6 vHH@>?HDo d   HH5}HJ6HHlGG HUV 5~I6 HUV AAJUUh  f16e AHUV 5JH6HUV lII HcQKgDxLfQi$ L QL_K Ta$ L ,, z ==> yHUV 5M5 HUV NUUe !  HUV 5NPF5HUV lMM lH$ 5O5 H$ PUUe "  H$ 5PN5H$ lOO lHH@QD VHHg KgR ` # !Using Symbols in Expressions (1) &UT UT` (  V;UR UT h ) (define z y)i UV UT` +  UT UT h , (+ x 3)j HH@RDHHlUQQ LdASUUHHATS HHU ` - !Using Symbols in Expressions (2) &UT UT` . UV ;UR UT h / (list + x 3)k UT UT` 0  HHAUSHHlRXTT dAVXXHHAWV HH V * *X ` 1 !Using Symbols in Expressions (3) &UT UT` 2 # ;UR UT h 4 E(list + x 3)l UTUT UT` 5 UR THHAXV +HHlU[WW dAY[[UHHAZY HHUH o [ ` 6 !Using Symbols in Expressions (4) &UT UT` 7  ;UR UT h 8 (2 a)m !UsUT UT` 9 re o*UR UT` : Ӫ .?UP UT h < Ӫ(2 (b 3))n x UT UT` = Ӫ 0UR UT` >  HHA[YHHlX^ZZ dB\X^^HHB]\ HH'X^ ` s Example: Substituting Symbols ) ` $ UT UT` ' ($==> (moe pounded shemp on the head) 0HHB^\AHHl[]] TT+.<{`32Q_L`K B+.<{`32+;+;  prints asQZ6Q`_aKadQZ6Q6ZQa`bK`bdQ6ZQ66d8 32QbacKacd $d8 32d)d) Symboltutc?32QcbdKbd ulc?32cKKCcKKC  yNQZ6QdceKte QZ6`c&?z QedfK o (&?z // z --$QfeK --$carst--Q-HQgKDeUB]hQjuts$Z6Qhigil $Z6url?ZQihjghjl=(m?Zon e ??%:32Qjikgikl %:3222 NumberH$32Qkjlgjl `H$32TKCTKC  23$Z6Qlkmga$Z6hk$Z6Qmlngnqb$Z6Q?ZQnmogmoq ?Zaca?_?%:32Qonpgnpq t%:3222 NumberH32Qpoqgoq NH32TKCTKC  3 $Z6Qqprg$Z6mpZHQrqsgxyZHf>ZQsrtgtxt>Z>u>( C32Qtsugswx ut( C32(,d(,d PrimProc )?<@32Qutvgvw Q)?<@32H|KKC)KKC machinee O32R32Qvuwguw kO32R32H|[~u[~u  code to add?R fdQwvxgtxjl?R fduv Z?LQxwygry Z?LswZHQyxzgZHrx 2`32Qzy{g 2`32 ? ? (q2`32Q{z|g 32q2`32q?q? )Z6Q|{}g}Z6oqZQ}|~g|~KCZ$u.:32Q~}g} .:32.. Number-$32Q~g~ t-$32-KC-KC  26Z6QgusZ6| 26<{`32Qg 32<{`32  prints as232Qg 32 evaluate sub-expressions...q4Q 32Qg q4Q 32~~ apply...zHQS`; )Tk Z6QZ6QZQZ:32Q q:32 Number$32Q $32#KC#KC  23Z6QZ6)Z6QC)Z6)ZQs)Z ([#prim-proc 7] 23 3)Q 32Q2$Q $QHQQ32$Q32$QQ32$Qu$Q fddL_LQHHL` ?~HH⾠  ` Y ] Numerical Computation ) ` Z  ) Construct constant }UR UT` O '(constant? ) Is a constant? UP UT` P ie UN UT` Q pt1(make-variable ) Construct a variable iUL UT` R ],'(variable? ) Is a variable? ]]]UJ UT` S I&7(same-variable? ) Are and same? UH UT` T  UF UT` U .(make-sum ) Construct sum UD UT` V nc(sum? ) Is a sum? c%UB UT` W pl#(addend ) Addend of sum cha:U@ UT` X im#(augend ) Augend of sum ]],OU> UT` Y  dU< UT` Z +(make-product ) hayU: UT` [ %(product? ) Is a product? U8 UT` \ /(multiplier ) Multiplier of product U6 UT` o Ma/(multiplicand ) Multiplicand of product  ]U4 UT` p nc oHHMHHl CodN (c cstHHN  QHHv>le i  R ` q IsMath Expression Implementation ` S) ` r le v UT` ~ o(define (sum? x) 8U< UT`  an$ (and (pair? x) (eq? (car x) +))) oMU: UT` (define (addend s) (cadr s)) bU8 UT` (define (augend s) (caddr s)) wU6 UT`  U4 UT` .(define (make-product m1 m2) (list * m1 m2)) U2 UT` N (define (product? x) QU0 UT` $ (and (pair? x) (eq? (car x) *))) U. UT` !(define (multiplier m) (cadr m)) oU, UT` S$(define (multiplicand m) (caddr m)) sU* UT` e- s U( UT` UT HHN)ndHHl aridNviaUJUTHHN ],HH  UT  ` K ԪMath Expressions q) ` UT ? ` UT4x+2 U ` e- hUT UT` a (define math }UR UT` (s (make-sum UTUP UT` nd$ (make-product (make-constant 4) UTUN UT` in& (make-variable x)) UL UT` en (make-constant 2))) UJ UT` UT UH UT` (m==> (+ (* 4 x) 2) HHNn(pHHl x) dN?iie HHN@ sU*HH{U(H  `  %Symbolic Derivative - Spaghetti Code ) `  UT`  x) (list + 8U< UT`  # (list * (cadr exp) lMU: UT`  1 (deriv (caddr exp) var)) bU8 UT` 0 (list * (deriv (caddr exp) var) wU6 UT` E U*) (caddr exp)))))) HHNBHHl ` dNCvxpUJ HHND HH  ( l? ` UL-Math Expression Implementation (Alternative) ) `  0 UT` UT(define (sum? x) 8U< UT` (c. (and (pair? x) (eq? (car x)  SUM ))) MU: UT` (define (addend s) (cadr s)) bU8 UT` (define (augend s) (caddr s)) wU6 UT` v pU4 UT` 9(define (make-product m1 m2) (list  PROD  m1 m2)) U2 UT` (define (product? x) U0 UT` / (and (pair? x) (eq? (car x)  PROD ))) sioU. UT` Al!(define (multiplier m) (cadr m)) 0U, UT` $(define (multiplicand m) (caddr m)) UTU* UT` in c U( UT` r? )HHNFv HHl  (vdNx((v12)HHNy ) HH  UT ` ԪMath Expressions (Alternative) 4(d) ` a (? ` a14x+2 U ` UT dhUT UT` U< (define math c}UR UT` ( (make-sum UP UT` UT$ (make-product (make-constant 4) sUN UT` & (make-variable x)) UL UT` p (make-constant 2))) inUJ UT` m (UH UT` '==> ( SUM  ( PROD  4 x) 2) oduHHN{ (HHl  (mdN(dddm)HHN r?HHv H ` Deriv Example &UT UT` math ;UR UT` ((==> (+ (* 4 x) 2) PUP UT`  eUN UT`  | ` #Follow substitution model through: UL UT`  UJ UT`  (deriv math x) reUH UT` e) dUF UT` a(make-sum (deriv (* 4 x) x) UD UT` UT (deriv 2 x)) (dUB UT` UT U@ UT` su(make-sum (deriv (* 4 x) x) #U> UT` co 0) N8U< UT`  MU: UT` va3(make-sum (make-sum (make-product 4 (deriv x x)) 2))bU8 UT` 4 (make-product (deriv 4 x) x)) ODwU6 UT` 0) U4 UT`  U2 UT` (+ (+ (* 4 1) U0 UT`  (* 0 x)) U. UT`  0) U, UT`  HHNHHl dOUTUTHHO =(+HH  `  ` { ioDeriv - Reduction Problem ) ` UJ T (+ 1 0) (mfUP UT` 4 {UN UT` (deriv (* x y) x) 2UL UT` Ӫ==> (+ (* x 0) (* 1 y)) UJ UT` er UH UT` UT!(derive (* (* x y) (+ x 3)) x) TUF UT` U:==> (+ (* (* x y) (+ 1 0)) makUD UT` t  (* (+ (* x 0) (* 1 y)) UB UT`  (+ x 3))) t U@ UT` | OD 6HHO HHl dO ) HHO HH  ` #Variable # Arguments in Procedures H) ` O ? ` (+ In Scheme: U `  hUT UT` (+ (* x 3) 10 (+ 2 x)) }UR UT` v  e  >Would like to be able to build similar products and sums with @ UTarbitrary number of arguments. 4 `  ` x)More Scheme syntax: dotted tail notation ` ٪ UP UT` Ӫ(define (f x . y) UN UT` ) *UL UT` (+ ?UJ UT` ak (f 1 2 3 4) TUH UT` ( in x bound to 1 ` iUF UT` ! y bound to (2 3 4) ~UD UT` O HHOHHl dOOHHO HH<   Pr!Math Expression Implementation - ! @ (+Variable # Terms > `  TQUT UT` (+(define (make-sum a1 . a2) UTfUR UT`  (cons + (cons a1 a2))) {UP UT` ld mUN UT` su(define (augend s) @ UL UT` mb (if (null? (cdddr s)) UJ UT`   (caddr s) MoUH UT`  do (cons + (cddr s)))) UF UT`  UT UD UT`  (f(define (multiplicand p) UB UT`  UT (if (null? (cdddr p)) #U@ UT`  4 (caddr p) 8U> UT`   (cons + (cddr p)))) ` HHOTUTHHl  f2l<Of2l<f2l<@E!A'equal[function[optotal[char[x]],indexes[1,0,char[u],char[n]]],times[char[n],indexes[1,0,char[u],plus[char[n],minus[num[1.00000000,"1"]]]],function[optotal[char[x]],char[u]]]]H{f4l<O bmta t(+VaHO TUT a ge-m 9Q2c@ P=  +co9Q2c@ 9YÕ9YÕ definedOvTdds)HHOw oUHHH  UF UT  ` in)(Reducing Math Expression Implementation &UT UT` p) ;UR UT` 4(define (make-sum a1 a2) PUP UT` . (cond ((and (constant? a1) (constant? a2)) eUN UT` T$ (make-constant (+ a1 a2))) zUL UT`  ((constant? a1) UJ UT` + (if (= a1 0) a2 (list + a1 a2))) !AUH UT` nc ((constant? a2) xeUF UT` [n+ (if (= a2 0) a1 (list + a1 a2))) ar[UD UT` 00! (else (list + a1 a2)))) ]UB UT`  U@ UT` (define (make-product m1 m2)  U> UT` - (cond ((and (constant? m1) (constant? m2)) "U< UT` $ (make-constant (* m1 m2))) 7U: UT` Ӝ ((constant? m1) ÕLU8 UT` , (cond ((= m1 0) (make-constant 0)) aU6 UT` dd ((= m1 1) m2) vU4 UT` UH( (else (list * m1 m2)))) U2 UT`  ((constant? m2) U0 UT` g , (cond ((= m2 0) (make-constant 0)) U. UT` Ӫ ((= m2 1) m1) aU, UT` ( (else (list * m1 m2)))) anU* UT` Ӫ! (else (list * m1 m2)))) +U( UT` UT  U& UT` (( (list * m1 m2)) HHOy(stHHl  xeQP (Qar[cP+1 cQ$Pme-Q$u#Pm (u#"U<UTu##PT ((P (ake$P $P(stU2PU0, $PU.$$ZP $Z(el ($$Ps* UT)-dL (HHL HH-a ` ; Symbolic Computation 9]] h F 8o p q e-m] h H r `G? h I s a ` ]  ط* UT` ^ (define (deriv exp var) ( UT` _ , (cond ((constant? exp) (make-constant 0)) & UT` `  ((variable? exp) e$ UT` a & (if (same-variable? exp var) ," UT` b  (make-constant 1) stA UT` c U2! (make-constant 0))) V UT` d  ((sum? exp) k UT` e , (make-sum (deriv (addend exp) var)  UT` f . (deriv (augend exp) var)))  UT` g  ((product? exp)  UT` h  (make-sum  UT` i  (make-product Է UT` j  (multiplier exp)  UT` k - (deriv (multiplicand exp) var))  UT` l  (make-product  UT` m Sy (multiplicand exp) F( UT` n / (deriv (multiplier exp) var)))))) ]HHL  HHl exp6%Psnt6%tan0)6%Q%u Tu (+ x 3)qQ 1 0 2 * 2 3 Q 2 1 3 * 1 332$Q 3 2 4 *$ 1 2R 4 3 5 *BR 5 4 6 * 6 7.R 6 5 7 * 5 72ap$R 7 6 8 *$ 5 6R 8 7 9 * 9 :R 9 8 : * 8 :$R : 9 ; *$ 8 9R ; : < *;R < ; = *KC 3lR = < > * .lQllun-@3R > = @ *==uj3CIlunΩw$-PD ?  FQ$-$Q$̫:R @ > A *Ú&V: 2ъ޽/q]Z?R A @ B *6 Uz?q͸xY+|B:`S'LP$`<{`32R B A C * $`<{`32$m$m  prints as8_6Z6R C B D * D H_6Z67 9_QZR D C E * C E H_QZ8 : 8_QQr8:32R E D G * D G H ;r8:32rE rE NumberZPE F ? OZZuqZ32R G E H * E H qZ32qgK?qgK?  3_6Z6R H G I *_6Z6 C G-ZHR I H J * R S-ZHQZR J I K * K RQZPDQuQ(3C32R K J L * J N R (3C32(?d(?d PrimProc)Q<@32R L K M * M N /)Q<@32H|^K?)^K? machine"@b3.Lw32R M L N * L N x"@b3.Lw32H|n~q"@n~q  code LIST`"@QLw fdR N M R * K R{`"@QLw fd L MZPF O F P DZ_ZuZPG P O QZ 8ZuDZPH Q P [DZE DZDu3Z?LR R N S * I S3Z?L J N-ZHR S R T *-ZH I R E`32R T S U * E`32 Q Q (?`32R U T V * R?`32LK?LK? ){B32R V U W * R{B32{BKC{BKC evaluate sub-expressions...R4Q 32R W V X * d4Q 32 apply...R6Z6R X W Y * Y ]K?6Z6hinQZR Y X Z * X Z ]N QZ32|QQ78 32R! Z Y \ * Y \ ] R K78 32DD SymbolzZPI [ Q azZzZzuZ 32R" \ Z ] * Z ] Z 32fKCfKC  +6Z6R# ] \ ^ * 6Z6 X \6Z6R$ ^ ] _ * _ d6Z6J NQZR% _ ^ ` * ^ ` dQZI RQMQ78 32R& ` _ c * _ c d 278 32DD SymbolU$-PJ a [?$-$QdPe bCB reioZ32R' c ` d * ` d Z32fKCfKC  x6Z6R( d c e *Y6Z6 ^ cQZ6R) e d f * f iZ XQZ6QQZR* f e g * e g i 32QZ* Y ]Qd8 32R+ g f h * f h i d8 32dd SymbolZc 32R, h g i * g i 32c 32c#KCc#KC  +QZ6R- i h j *[QZ6 e hZ6R. j i k * k nZ6*ZR/ k j l * j l nZ* ^ d8 32R0 l k m * k m n 328 32 Symbol3232R1 m l n * l n 32#KC#KC  xZ6R2 n m *Z6 j mHR8 o Y p Zm ` dQZ6R9 p q o q t QZ66lZR: q p r o p r tlZ6llS:32R; r q s o q s t S:32` ` Numberu32R< s r t o r t 2u32K?K?  22QZ6R= t s u o32QZ6 p s?\` R> u t v o C?\` ?Õ?Õ  ==> (2 a)[R? v u w oR.R@ w v x o x ynRA x w y o w yR0 $RB y x z oyol$ w xRC z y { o { |32RD { z | o z |Z$RE | { } o$ z {RF } | ~ o9 RG ~ }  o6&$̫:RH  ~ oÚ&V: 9޽</Vq]Z?RI   o6 Uz?K?q5xIU+|FB:`DS'FLP[$P<{`32RJ  o >$P<{`32$ؓ$ؓ  prints asQZ6RK  o R?QZ6lZRL  o lZR@lql*S8 32RM  o RA*S8 32*` *` Symbol)u@32RN  o l)u@32)K?)K?  aQZ6RO  oQZ6 H~RT  oY Zn)"?~} RU  )"?~} )+)+ ==> (2 (b 3))6 RV  6 6 RW  6 o6 $RX  6 $ 7 RY  7 K?7 RZ  '7 P7 $R[  P7 $ @ R\  K@ R?@ @ 7 R]  7 R@7 I .<{`32R^  RA.<{`32;;  prints as6R_  l6)K?6QQR`  Q6cRa  cZQ$Rb   Q$ Rc  (3)Rd  $Re  $ lRf  llRg    "Rh  7 4,2=6Ri   ,.h6 Z^>6/d@6X#1@-{Cp-Io,O='Rj  =' =TJR,W<d $K32Rk  $K32$X$X $X?~e Rl  $X?~e $a$a 2j?~e Rm  j?~e ss bae Rn  ae iƨiƨ 3=Ro  = =XHe:5/XS  e uS  84-Xu]'=equal[function[optotal[char[x]],char[c]],num[0.00000000,"0"]]5e:5/XS!  Rh vS"  84-Xu]T'=equal[function[optotal[char[x]],char[x]],num[1.00000000,"1"]]Sje:5/XS$   wS%  Rk84-Xu]'=equal[function[optotal[char[x]],char[y]],num[0.00000000,"0"]]HX-g/XS(  ?~ xS)  b-d-XO] 'equal[function[optotal[char[x]],id[plus[char[u],char[v]]]],plus[function[optotal[char[x]],char[u]],function[optotal[char[x]],char[v]]]]:5HJ1I&S,   ? yS-  4G/I&_%Gl['equal[function[optotal[char[x]],id[times[char[u],char[v]]]],plus[times[char[u],id[function[optotal[char[x]],char[v]]]],times[char[v],id[function[optotal[char[x]],char[u]]]]]]dSA ]T alhaHHSB  5HH  w  ` ? De-sugaring LET &UT UT` @  ;UR UT` A  qPUP UT` B al (let ((x 2) [yeUN UT` C "0 (y 3)) gzUL UT` D (* x y)) ?~UJ UT`   ` < desugars to UH UT` @ b UF UT` A ((lambda (x y) (* x y)) eqUD UT` B al 2 [x]UB UT` C ch 3) ]]HHSD  nioHHl 6-SE 6-?zSF &?zGdSq dim [tesHHPf  b v]]HH_l ti]]]]]]  `  ](Adding Exponential Expressions to Deriv ) `   TA!A h  t w UT` $  UT` # (define (deriv exp var) UT`  De (cond LE UT` " @ ... UT UT` UP ((exponential? exp) [y UT` "0 (make-product  UT` % ))( (make-product (exponent exp) < UT` & + (make-exponential (( UT` ' y)& (base exp) 4~ UT` ( ]]2 (- (exponent exp) 1))) I| UT` ) & (deriv (base exp) var))))) ^z UT` *  Esx UT` +  v UT` , (define (make-exponential b e) t UT` - $ (cond ((= e 0) (make-constant 1)) r UT` . im ((= e 1) b) p UT` / (else (list ** b e)))) ]]n UT` 0 l  il UT` 5 (define (exponential? exp) j UT` 1 ) (and (pair? exp) (eq? (car exp) **))) ih UT` 2  0f UT` 6 (define (base exp) (cadr exp))  Ed UT` 3 $(define (exponent exp) (caddr exp)) Zb UT` 4 LE HHPh  b HHl  dP  ntxpHHP  HHz((    ` ! (Manipulation of Scheme Code ) `  1 e- o!UN UT` 7 t T8 ` 8 on8Goal: desugar this form to the underlying expression: LUL UT` 9 p  aUJ UT` : (e(define square )))vUH UT` ? 0 (lambda (x) (* x x))) HHP   1HHl ` 2HHSr  p)HH7UTxponent p) ` S De-sugaring DEFINE Ph&UT UT` T  ;UR UT` U (define (convert-define exp) PUP UT` V " (cond ((not (define? exp)) exp) eUN UT` W  (else zUL UT` X 1 (cond ((symbol? (define-var exp)) exp) (UJ UT`  (else UH UT`  (list oUF UT`  define UD UT` (s+ (car (define-var exp)) hUB UT` Li" (cons lambda U@ UT` UT8 (cons (cdr (define-var exp)) f U> UT` in9 (define-val exp))))))))) :"U< UT` re )7U: UT` 0(define (define? exp) LU8 UT` - (and (pair? exp) (eq? (car exp) define))) aU6 UT` %(define (define-var exp) (cadr exp)) vU4 UT` %(define (define-val exp) (cddr exp)) TU2 UT`  U0 UT`  )U. UT` (convert-define (define x 3)) &UTU, UT` ;Value: (define x 3) dU* UT` in xU( UT` V+(convert-define (define (foo x) (+ x 3))) UT U& UT` *;Value: (define foo (lambda (x) (+ x 3))) U$ UT` e- 3U" UT` K UT HHSt   HHl  d5 Left d6-vRighthd7 Reference dD dScor dVUT dY d\ :UTd 0dU8d(cdUT d exdrd ind xpU2d UT d vedUTUTdin ddU(d( (dUT d b(l(xd d d a y$f a  gh .Scheme. f b  . Scheme. f cCellBody. f d  CellHeading . f e  (Footnote. UTf fTHeading1Body. f gT Heading2Body. f hT  HeadingRunInBody. f i l yIndented. f j  Scheme. f kE o o Numbered1.\tNumbered. f l dy TableFootnote. f mT  TableTitleT:Table : .  f nPTitleBody. f o T  TableTitleT:Table : . f p   CellHeading. f q Body. f r   CellFooting. f s  SchemeSige. e @ t  Header. @ u  it Footer. f v Body. f w Scheme. f x  g.Scheme. 33 f { 33.  Numbered.\t.  f | Bulleted\t. @f }T Heading1ContBody. HH6f ~ THeading1Body. f  THeading1Body. f Body. f CellBody. f Equation. f  HighlightNumber. f CellTiny. $f $. Bullet2-\td.  f  Bullet1\t .  Emphasis EquationVariables        SchemeFont    Emphasis         d F F Z Zs Z Fe  Thin  Medium Double Thick@  Very Thin-=-     oH p rH p rH p rH p rH p rsFormat A   o- v v vFormat Beue U e V UComment @ afe d BlackT!WhiteddAReddd Greendd  Blued Cyand Magenta d Yellow  M.Courier.B Courier-Bold M.Times.P Times-RomanM.Arial Rounded MT Bold.B M.Times.B Times-Bold M.Courier.BICourier-BoldOblique M.Arial.PArialMT M.Helvetica.BHelvetica-BoldArial MonotypeArial Rounded Monotype Bold Courier HelveticaTimesRegularRomanpMediumBoldedBold RegularHObliqueItalic 26 h+6GMH G+jlm~} ZfGSC+Ylf1gTM((a3uI:u b,.yryy ")x Ҏr"ZVw\@J~U2eZyY  ΢+]ch v0BL͞U,o6!oD uVJ#(>&ϧ