let add_variant_annot config s ca var_exp loop_entry loop_back =
let (vpos_id, vpos), (vdecr_id, vdecr) =
WpStrategy.mk_variant_properties config.kf s ca var_exp
in
let add acc kind id p =
WpStrategy.add_prop_loop_inv acc kind s id p
in
let add_hyp acc =
let acc = add acc WpStrategy.Ahyp vdecr_id vdecr in
add acc WpStrategy.Ahyp vpos_id vpos
in
let add_goal acc =
let acc =
if goal_to_select config vdecr_id then
add acc WpStrategy.Agoal vdecr_id vdecr
else acc
in if goal_to_select config vpos_id then
add acc WpStrategy.Agoal vpos_id vpos
else acc
in
let loop_back =
if cur_fct_default_bhv config then add_goal loop_back else add_hyp loop_back
in loop_entry, loop_back