(V:Type0) (v: Vars V) n (V':Type0) (v': Vars V') m (V'':Type0) (v'': Vars V'') `{!Quote v n v'} `{!Quote (merge v v') m v''} : eval (merge v (merge v' v'')) (Plus (expr_map sum_aux (quote n)) (expr_map sum_assoc (quote m))) = n + m. Proof. simpl. rewrite <-(eval_quote n), <-(eval_quote m), 2!eval_map. apply ap011;apply eval_ext. - intros [?|?];reflexivity. - intros [[?|?]|?];reflexivity. Qed.
Require Import