@@ -115,6 +115,7 @@ pub(crate) fn func_def_args(ctx: &Ctx, typ_params: &Idents, params: &Pars) -> Ve
115115fn func_def_quant (
116116 ctx : & Ctx ,
117117 name : & Ident ,
118+ qid_name : & Ident ,
118119 is_trait_default_ensures : bool ,
119120 typ_params : & Idents ,
120121 typ_args : & Typs ,
@@ -144,7 +145,7 @@ fn func_def_quant(
144145 trigs. push ( crate :: sst_to_air:: typ_to_id ( ctx, extra_trigger_term) ) ;
145146 }
146147 Ok ( mk_bind_expr (
147- & func_bind_trig ( ctx, name . to_string ( ) , typ_params, params, & trigs, opts) ,
148+ & func_bind_trig ( ctx, qid_name . to_string ( ) , typ_params, params, & trigs, opts) ,
148149 & f_imply,
149150 ) )
150151}
@@ -382,8 +383,8 @@ fn func_body_to_air(
382383 let rec_f_def = ident_apply ( & rec_f, & args_def) ;
383384 let eq_zero = mk_eq ( & rec_f_fuel, & rec_f_zero) ;
384385 let eq_body = mk_eq ( & rec_f_succ, & body_expr) ;
385- let name_zero = format ! ( "{}_fuel_to_zero" , fun_to_air_ident( & ctx. name_ctxt, & name ) ) ;
386- let name_body = format ! ( "{}_fuel_to_body" , fun_to_air_ident( & ctx. name_ctxt, & name ) ) ;
386+ let name_zero = format ! ( "{}_fuel_to_zero" , fun_to_air_ident( & ctx. name_ctxt, & rec_name ) ) ;
387+ let name_body = format ! ( "{}_fuel_to_body" , fun_to_air_ident( & ctx. name_ctxt, & rec_name ) ) ;
387388 let opts = Some ( FuncBindOpts { add_fuel : true , add_default_ensures : false } ) ;
388389 let bind_zero = func_bind ( ctx, name_zero, & typ_params, pars, & rec_f_fuel, opts) ;
389390 let bind_body = func_bind ( ctx, name_body, & typ_params, pars, & rec_f_succ, opts) ;
@@ -403,6 +404,7 @@ fn func_body_to_air(
403404 let e_forall = func_def_quant (
404405 ctx,
405406 & suffix_global_id ( & fun_to_air_ident ( & ctx. name_ctxt , & name) ) ,
407+ & suffix_global_id ( & fun_to_air_ident ( & ctx. name_ctxt , & rec_name) ) ,
406408 false ,
407409 & impl_typ_params,
408410 & typ_args,
@@ -519,6 +521,7 @@ fn req_ens_to_air(
519521 let e_forall = func_def_quant (
520522 ctx,
521523 & name,
524+ & name,
522525 is_trait_default_ensures,
523526 & typ_params,
524527 & typ_args,
@@ -873,6 +876,7 @@ pub fn func_axioms_to_air(
873876 let e_forall = func_def_quant (
874877 ctx,
875878 & suffix_global_id ( & fun_to_air_ident ( & ctx. name_ctxt , & f_trait) ) ,
879+ & suffix_global_id ( & fun_to_air_ident ( & ctx. name_ctxt , & function. x . name ) ) ,
876880 false ,
877881 & typ_params,
878882 & trait_typ_args,
0 commit comments