(***********************************************)
(* Reflection lemmas                           *)
(* The following series of lemmas establish a  *)
(* bridge between syntax and semantics         *)
(***********************************************)

Lemma cancel_sound' i sh1 sh2 unm fs :
interp i sh2 = interp i (sh1 ++ unm) ->
def (interp i sh2) -> eval i fs ->
eval i (cancel' i sh1 sh2 unm fs).