fact: Fixpoint subst (e:aexpr)(s:string)(v:aexpr) {struct e} : aexpr := match e with avar s' => if string_dec s s' then v else e | anum n => anum n | aplus e1 e2 => aplus (subst e1 s v) (subst e2 s v) end.
imports: syntax little denot Bool List String ZArith