(* correctness *)

Theorem correctness :
forall (e : expr) (m : symt) (s : state) (s' : store) (r : nat),
(forall v : string, m v < r) ->
(forall v : string, s v = s' (Reg (m v))) ->
Sl s' (C m r e) Acc = E s e /\
(forall x : nat, x < r -> Sl s' (C m r e) (Reg x) = s' (Reg x)).