Skip to content

Commit 1346f88

Browse files
committed
fix res in proc
1 parent 5830e49 commit 1346f88

4 files changed

Lines changed: 13 additions & 10 deletions

File tree

src/ecEnv.ml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1757,12 +1757,12 @@ module Fun = struct
17571757
Memory.push_active_ts prel prer env,
17581758
Memory.push_active_ts postl postr env
17591759
1760-
let equivS path1 path2 env =
1760+
let equivS ml mr path1 path2 env =
17611761
let fun1 = by_xpath path1 env in
17621762
let fun2 = by_xpath path2 env in
1763-
let fd1, mem1 = actmem_body EcCoreFol.mleft fun1 in
1764-
let fd2, mem2 = actmem_body EcCoreFol.mright fun2 in
1765-
mem1, fd1, mem2, fd2, Memory.push_all [mem1; mem2] env
1763+
let fd1, mem1 = actmem_body ml fun1 in
1764+
let fd2, mem2 = actmem_body mr fun2 in
1765+
mem1, fd1, mem2, fd2, Memory.push_active_ts mem1 mem2 env
17661766
end
17671767
17681768
(* -------------------------------------------------------------------- *)

src/ecEnv.mli

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ module Fun : sig
119119

120120
val equivF : memory -> memory -> xpath -> xpath -> env -> env * env
121121

122-
val equivS : xpath -> xpath -> env ->
122+
val equivS : memory -> memory -> xpath -> xpath -> env ->
123123
memenv * (funsig * function_def) * memenv * (funsig * function_def) * env
124124
end
125125

src/phl/ecPhlEager.ml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ let t_eager_while_r h tc =
215215
let t_eager_fun_def_r tc =
216216
let env = FApi.tc1_env tc in
217217
let eg = tc1_as_eagerF tc in
218+
let ml, mr = eg.eg_ml, eg.eg_mr in
218219

219220
let fl, fr =
220221
(NormMp.norm_xfun env eg.eg_fl,
@@ -225,7 +226,7 @@ let t_eager_fun_def_r tc =
225226
EcPhlFun.check_concrete !!tc env fr;
226227

227228
let (memenvl, (fsigl,fdefl),
228-
memenvr, (fsigr,fdefr), env) = Fun.equivS fl fr env in
229+
memenvr, (fsigr,fdefr), env) = Fun.equivS ml mr fl fr env in
229230

230231
let extend mem fdef =
231232
match fdef.f_ret with

src/phl/ecPhlFun.ml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,23 +118,25 @@ let t_bdhoareF_fun_def_r tc =
118118
let t_equivF_fun_def_r tc =
119119
let env = FApi.tc1_env tc in
120120
let ef = tc1_as_equivF tc in
121+
let ml, mr = ef.ef_ml, ef.ef_mr in
121122
let fl = NormMp.norm_xfun env ef.ef_fl in
122123
let fr = NormMp.norm_xfun env ef.ef_fr in
123124
check_concrete !!tc env fl; check_concrete !!tc env fr;
124-
let (menvl, eqsl, menvr, eqsr, env) = Fun.equivS fl fr env in
125+
let (menvl, eqsl, menvr, eqsr, env) = Fun.equivS ml mr fl fr env in
125126
let (fsigl, fdefl) = eqsl in
126127
let (fsigr, fdefr) = eqsr in
127-
let ml = EcMemory.memory menvl in
128-
let mr = EcMemory.memory menvr in
129128
let fresl = odfl {m=ml;inv=f_tt} (omap (ss_inv_of_expr ml) fdefl.f_ret) in
130-
let fresr = odfl {m=ml;inv=f_tt} (omap (ss_inv_of_expr mr) fdefr.f_ret) in
129+
let fresr = odfl {m=mr;inv=f_tt} (omap (ss_inv_of_expr mr) fdefr.f_ret) in
131130
let s = PVM.add env pv_res ml fresl.inv PVM.empty in
132131
let s = PVM.add env pv_res mr fresr.inv s in
133132
let post = map_ts_inv1 (PVM.subst env s) (ef_po ef) in
134133
let s = subst_pre env fsigl ml PVM.empty in
135134
let s = subst_pre env fsigr mr s in
136135
let pre = map_ts_inv1 (PVM.subst env s) (ef_pr ef) in
137136
let concl' = f_equivS (snd menvl) (snd menvr) pre fdefl.f_body fdefr.f_body post in
137+
!pp_debug_form env fresl.inv;
138+
!pp_debug_form env post.inv;
139+
!pp_debug_form env (ef_po ef).inv;
138140
FApi.xmutate1 tc `FunDef [concl']
139141

140142
(* -------------------------------------------------------------------- *)

0 commit comments

Comments
 (0)