File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -104,6 +104,7 @@ let t_ehoare_deno_r pre post tc =
104104 (* building the substitution for the pre *)
105105 let sargs = PVM. add env pv_arg (fst mpr) pr.pr_args PVM. empty in
106106 let smem = Fsubst. f_bind_mem Fsubst. f_subst_id (fst mpr) pr.pr_mem in
107+ let pre = ss_inv_rebind pre pr.pr_mem in
107108 let pre = Fsubst. f_subst smem (PVM. subst env sargs pre.inv) in
108109 let concl_pr = f_xreal_le pre (f_r2xr bd) in
109110
Original file line number Diff line number Diff line change 1+ require import AllCore Int Real Xreal.
2+
3+ module M = {
4+ proc main (x : int ) = {
5+ return x;
6+ }
7+ }.
8+
9+ lemma L &m (_x : int ):
10+ Pr [ M.main(_x) @ &m : _x = res ] <= 1%r.
11+ proof.
12+ byehoare (_: ((arg = _x) `|` (1 %xr)) ==> _) => // .
13+ - proc; auto => &hr.
14+ by apply xle_cxr_r => ->.
15+ qed.
16+
You can’t perform that action at this time.
0 commit comments