@@ -71,14 +71,15 @@ let t_hoareF_conseq pre post tc =
7171 let cond1, cond2 =
7272 conseq_cond_ss (hf_pr hf) {m;inv= fpost} pre {m;inv= post}
7373 in
74- let cond2e = merge2_poe_list f_imp (fepost,fd) (epost,d) in
74+ let cond2e = TTC. merge2_poe_list (fepost,fd) (epost,d) in
7575 let cond2 = List. fold f_and cond2.inv cond2e in
7676 let concl1 = f_forall_mems_ss_inv mpr cond1 in
7777 let concl2 = f_forall_mems_ss_inv mpo {m;inv= cond2} in
7878 let concl3 = f_hoareF pre hf.hf_f {hsi_m= m;hsi_inv= (post, epost,d)} in
7979 FApi. xmutate1 tc `Conseq [concl1; concl2; concl3]
8080
8181(* -------------------------------------------------------------------- *)
82+
8283let t_hoareS_conseq pre post tc =
8384 let hs = tc1_as_hoareS tc in
8485 let pre = ss_inv_rebind pre (fst hs.hs_m) in
@@ -89,7 +90,7 @@ let t_hoareS_conseq pre post tc =
8990 let cond1, cond2 =
9091 conseq_cond_ss (hs_pr hs) {m;inv= fpost} pre {m;inv= post}
9192 in
92- let cond2e = merge2_poe_list f_imp (fepost,fd) (epost,d) in
93+ let cond2e = TTC. merge2_poe_list (fepost,fd) (epost,d) in
9394 let cond2 = List. fold f_and cond2.inv cond2e in
9495 let concl1 = f_forall_mems_ss_inv hs.hs_m cond1 in
9596 let concl2 = f_forall_mems_ss_inv hs.hs_m {m= fst hs.hs_m;inv= cond2} in
@@ -351,7 +352,7 @@ let t_hoareF_notmod post tc =
351352 let (post, epost, d) = p.hsi_inv in
352353 let (fpost, fepost,fd) = (hf_po hf).hsi_inv in
353354 let cond = f_imp post fpost in
354- let econd1 = merge2_poe_list f_imp (fepost,fd) (epost,d) in
355+ let econd1 = TTC. merge2_poe_list (fepost,fd) (epost,d) in
355356 let cond1 = List. fold f_and cond econd1 in
356357 let cond1, _, _ = cond_hoareF_notmod tc {m= hf.hf_m;inv= cond1} in
357358 let cond2 = f_hoareF (hf_pr hf) hf.hf_f p in
@@ -379,7 +380,7 @@ let t_hoareS_notmod post tc =
379380 let (post, epost, d) = p.hsi_inv in
380381 let (fpost, fepost,fd) = (hs_po hs).hsi_inv in
381382 let cond = f_imp post fpost in
382- let econd1 = merge2_poe_list f_imp (fepost,fd) (epost,d) in
383+ let econd1 = TTC. merge2_poe_list (fepost,fd) (epost,d) in
383384 let cond1 = List. fold f_and cond econd1 in
384385 let cond1, _, _ = cond_hoareS_notmod tc {m= fst hs.hs_m;inv= cond1} in
385386 let cond2 = f_hoareS (snd hs.hs_m) (hs_pr hs) hs.hs_s p in
0 commit comments