@@ -1521,9 +1521,22 @@ let process_conseq_2 notmod ((info1, info2, info3) : conseq_ppterm option tuple3
15211521 | _ -> tc_error !! tc " conseq: not a phl/prhl judgement"
15221522 in
15231523
1524+ let mv =
1525+ let pre, post = match concl.f_node with
1526+ | FeHoareS hs -> (ehs_pr hs).inv, (ehs_po hs).inv
1527+ | FeHoareF hf -> (ehf_pr hf).inv, (ehf_po hf).inv
1528+ | FbdHoareS bhs -> (bhs_pr bhs).inv, (bhs_po bhs).inv
1529+ | FbdHoareF bhf -> (bhf_pr bhf).inv, (bhf_po bhf).inv
1530+ | FequivF ef -> (ef_pr ef).inv, (ef_po ef).inv
1531+ | FequivS es -> (es_pr es).inv, (es_po es).inv
1532+ | _ -> tc_error !! tc " conseq: not a phl/prhl judgement" (* Match error above *)
1533+ in
1534+ EcSymbols.Msym. of_list [(" pre" , pre); (" post" , post)]
1535+ in
1536+
15241537 ensure_none_poe poe;
1525- let pre = pre |> omap (TTC. pf_process_form !! tc penv ty) |> odfl (inv_of_inv gpre) in
1526- let post = post |> omap (TTC. pf_process_form !! tc qenv ty) |> odfl (inv_of_inv gpost) in
1538+ let pre = pre |> omap (TTC. pf_process_form !! tc ~mv penv ty) |> odfl (inv_of_inv gpre) in
1539+ let post = post |> omap (TTC. pf_process_form !! tc ~mv qenv ty) |> odfl (inv_of_inv gpost) in
15271540
15281541 let (pre, post, bd) = match gpre, gpost with
15291542 | Inv_ss gpre , Inv_ss gpost ->
@@ -1700,8 +1713,18 @@ let process_conseq_1 notmod ((info1, info2, info3) : conseq_ppterm option tuple3
17001713 | _ -> tc_error !! tc " conseq: not a phl/prhl judgement"
17011714 in
17021715
1703- let pre = pre |> omap (TTC. pf_process_form !! tc penv ty) |> odfl (inv_of_inv gpre) in
1704- let post = post |> omap (TTC. pf_process_form !! tc qenv ty) in
1716+ let mv =
1717+ let pre, post = match concl.f_node with
1718+ | FhoareS hs -> (hs_pr hs).inv, (hs_po hs).hsi_inv.main
1719+ | FhoareF hf -> (hf_pr hf).inv, (hf_po hf).hsi_inv.main
1720+ | _ -> tc_error !! tc " conseq: not a phl/prhl judgement" (* Matching above error message *)
1721+ in
1722+ EcSymbols.Msym. of_list [(" pre" , pre); (" post" , post)]
1723+ in
1724+
1725+
1726+ let pre = pre |> omap (TTC. pf_process_form !! tc ~mv penv ty) |> odfl (inv_of_inv gpre) in
1727+ let post = post |> omap (TTC. pf_process_form !! tc ~mv qenv ty) in
17051728 let poe = poe |> omap (TTC. pf_process_poe env_e) in
17061729
17071730 let (pre, post, bd) = match gpre, gpost with
@@ -1756,8 +1779,21 @@ let process_conseq_1 notmod ((info1, info2, info3) : conseq_ppterm option tuple3
17561779 | _ -> tc_error !! tc " conseq: not a phl/prhl judgement"
17571780 in
17581781
1759- let pre = pre |> omap (TTC. pf_process_form !! tc penv ty) |> odfl (inv_of_inv gpre) in
1760- let post = post |> omap (TTC. pf_process_form !! tc qenv ty) in
1782+ let mv =
1783+ let pre, post = match concl.f_node with
1784+ | FhoareS hs -> (hs_pr hs).inv, (hs_po hs).hsi_inv.main
1785+ | FhoareF hf -> (hf_pr hf).inv, (hf_po hf).hsi_inv.main
1786+ | _ -> tc_error !! tc " conseq: not a phl/prhl judgement" (* Matching above error message *)
1787+ in
1788+ EcSymbols.Msym. of_list [
1789+ (" pre" , pre);
1790+ (" post" , post)
1791+ ]
1792+ in
1793+
1794+
1795+ let pre = pre |> omap (TTC. pf_process_form !! tc ~mv penv ty) |> odfl (inv_of_inv gpre) in
1796+ let post = post |> omap (TTC. pf_process_form !! tc ~mv qenv ty) in
17611797 let poe = poe |> omap (TTC. pf_process_poe env_e) in
17621798
17631799 let (pre, post, bd) = match gpre, gpost with
0 commit comments