@@ -719,10 +719,10 @@ let t_equivS_conseq_conj pre1 post1 pre2 post2 pre' post' tc =
719719 let (_, hyps, _) = FApi. tc1_eflat tc in
720720 let es = tc1_as_equivS tc in
721721 let (ml, mtl), (mr, mtr) = es.es_ml, es.es_mr in
722- let pre1' = ss_inv_generalize_right (ss_inv_rebind pre1 ml) mr in
723- let post1' = ss_inv_generalize_right (ss_inv_rebind post1 ml) mr in
724- let pre2' = ss_inv_generalize_left (ss_inv_rebind pre2 mr) ml in
725- let post2' = ss_inv_generalize_left (ss_inv_rebind post2 mr) ml in
722+ let pre1' = ss_inv_generalize_as_left pre1 ml mr in
723+ let post1' = ss_inv_generalize_as_left post1 ml mr in
724+ let pre2' = ss_inv_generalize_as_right pre2 ml mr in
725+ let post2' = ss_inv_generalize_as_right post2 ml mr in
726726 if not (ts_inv_alpha_eq hyps (es_pr es) (map_ts_inv f_ands [pre';pre1';pre2'])) then
727727 tc_error !! tc " invalid pre-condition" ;
728728 if not (ts_inv_alpha_eq hyps (es_po es) (map_ts_inv f_ands [post';post1';post2'])) then
@@ -737,10 +737,10 @@ let t_equivF_conseq_conj pre1 post1 pre2 post2 pre' post' tc =
737737 let (_, hyps, _) = FApi. tc1_eflat tc in
738738 let ef = tc1_as_equivF tc in
739739 let ml, mr = ef.ef_ml, ef.ef_mr in
740- let pre1' = ss_inv_generalize_right (ss_inv_rebind pre1 ml) mr in
741- let post1' = ss_inv_generalize_right (ss_inv_rebind post1 ml) mr in
742- let pre2' = ss_inv_generalize_left (ss_inv_rebind pre2 mr) ml in
743- let post2' = ss_inv_generalize_left (ss_inv_rebind post2 mr) ml in
740+ let pre1' = ss_inv_generalize_as_left pre1 ml mr in
741+ let post1' = ss_inv_generalize_as_left post1 ml mr in
742+ let pre2' = ss_inv_generalize_as_right pre2 mr ml in
743+ let post2' = ss_inv_generalize_as_right post2 mr ml in
744744 let pre'' = map_ts_inv f_ands [pre'; pre1'; pre2'] in
745745 let post'' = map_ts_inv f_ands [post'; post1'; post2'] in
746746 if not (ts_inv_alpha_eq hyps (ef_pr ef) pre'')
@@ -760,12 +760,12 @@ let t_equivS_conseq_bd side pr po tc =
760760 let m,s,s',prs,pos =
761761 match side with
762762 | `Left ->
763- let pos = ss_inv_generalize_right (ss_inv_rebind po ml) mr in
764- let prs = ss_inv_generalize_right (ss_inv_rebind pr ml) mr in
763+ let pos = ss_inv_generalize_as_left po ml mr in
764+ let prs = ss_inv_generalize_as_left pr ml mr in
765765 es.es_ml, es.es_sl, es.es_sr, prs, pos
766766 | `Right ->
767- let pos = ss_inv_generalize_left (ss_inv_rebind po mr) ml in
768- let prs = ss_inv_generalize_left (ss_inv_rebind pr mr) ml in
767+ let pos = ss_inv_generalize_as_right po ml mr in
768+ let prs = ss_inv_generalize_as_right pr ml mr in
769769 es.es_mr, es.es_sr, es.es_sl, prs, pos
770770 in
771771 if not (List. is_empty s'.s_node) then begin
@@ -1171,10 +1171,10 @@ let rec t_hi_conseq notmod f1 f2 f3 tc =
11711171 let hs2 = pf_as_hoareS !! tc f2 in
11721172 let hs3 = pf_as_hoareS !! tc f3 in
11731173 let (ml, mr) = (fst es.es_ml, fst es.es_mr) in
1174- let hs2_pr = ss_inv_generalize_right (ss_inv_rebind ( hs_pr hs2) ml) mr in
1175- let hs2_po = ss_inv_generalize_right (ss_inv_rebind ( hs_po hs2) ml) mr in
1176- let hs3_pr = ss_inv_generalize_left (ss_inv_rebind ( hs_pr hs3) mr) ml in
1177- let hs3_po = ss_inv_generalize_left (ss_inv_rebind ( hs_po hs3) mr) ml in
1174+ let hs2_pr = ss_inv_generalize_as_left ( hs_pr hs2) ml mr in
1175+ let hs2_po = ss_inv_generalize_as_left ( hs_po hs2) ml mr in
1176+ let hs3_pr = ss_inv_generalize_as_right ( hs_pr hs3) ml mr in
1177+ let hs3_po = ss_inv_generalize_as_right ( hs_po hs3) ml mr in
11781178 let pre = map_ts_inv f_ands [es_pr es; hs2_pr; hs3_pr] in
11791179 let post = map_ts_inv f_ands [es_po es; hs2_po; hs3_po] in
11801180 let tac = if notmod then t_equivS_conseq_nm else t_equivS_conseq in
@@ -1229,8 +1229,8 @@ let rec t_hi_conseq notmod f1 f2 f3 tc =
12291229 | FequivS es , None , Some ((_ , f2 ) as nf2 ), None ->
12301230 let hs = pf_as_bdhoareS !! tc f2 in
12311231 let (ml, mr) = (fst es.es_ml, fst es.es_mr) in
1232- let pre = ss_inv_generalize_right (ss_inv_rebind ( bhs_pr hs) ml) mr in
1233- let post = ss_inv_generalize_right (ss_inv_rebind ( bhs_po hs) ml) mr in
1232+ let pre = ss_inv_generalize_as_left ( bhs_pr hs) ml mr in
1233+ let post = ss_inv_generalize_as_left ( bhs_po hs) ml mr in
12341234 let tac = if notmod then t_equivS_conseq_nm else t_equivS_conseq in
12351235
12361236 check_is_detbound `Second (bhs_bd hs).inv;
@@ -1247,8 +1247,8 @@ let rec t_hi_conseq notmod f1 f2 f3 tc =
12471247 | FequivS es , None , None , Some ((_ , f3 ) as nf3 ) ->
12481248 let hs = pf_as_bdhoareS !! tc f3 in
12491249 let (ml, mr) = (fst es.es_ml, fst es.es_mr) in
1250- let pre = ss_inv_generalize_left (ss_inv_rebind ( bhs_pr hs) mr) ml in
1251- let post = ss_inv_generalize_left (ss_inv_rebind ( bhs_po hs) mr) ml in
1250+ let pre = ss_inv_generalize_as_right ( bhs_pr hs) ml mr in
1251+ let post = ss_inv_generalize_as_right ( bhs_po hs) ml mr in
12521252 let tac = if notmod then t_equivS_conseq_nm else t_equivS_conseq in
12531253
12541254 check_is_detbound `Third (bhs_bd hs).inv;
@@ -1276,11 +1276,11 @@ let rec t_hi_conseq notmod f1 f2 f3 tc =
12761276 let hs2 = pf_as_hoareF !! tc f2 in
12771277 let hs3 = pf_as_hoareF !! tc f3 in
12781278 let (ml, mr) = (ef.ef_ml, ef.ef_mr) in
1279- let hs2_pr = ss_inv_generalize_right (ss_inv_rebind ( hf_pr hs2) ml) mr in
1280- let hs3_pr = ss_inv_generalize_left (ss_inv_rebind ( hf_pr hs3) mr) ml in
1279+ let hs2_pr = ss_inv_generalize_as_left ( hf_pr hs2) ml mr in
1280+ let hs3_pr = ss_inv_generalize_as_right ( hf_pr hs3) ml mr in
12811281 let pre = map_ts_inv f_ands [ef_pr ef; hs2_pr; hs3_pr] in
1282- let hs2_po = ss_inv_generalize_right (ss_inv_rebind ( hf_po hs2) ml) mr in
1283- let hs3_po = ss_inv_generalize_left (ss_inv_rebind ( hf_po hs3) mr) ml in
1282+ let hs2_po = ss_inv_generalize_as_left ( hf_po hs2) ml mr in
1283+ let hs3_po = ss_inv_generalize_as_right ( hf_po hs3) ml mr in
12841284 let post = map_ts_inv f_ands [ef_po ef; hs2_po; hs3_po] in
12851285 let tac = if notmod then t_equivF_conseq_nm else t_equivF_conseq in
12861286 t_on1seq 2
0 commit comments