+ let rec aux =
+ function
+ [] -> continuation
+ | p::tl ->
+ let continuation = aux tl in
+ (* Applicative context get flattened and the "body" of a BU_Conversion
+ is put in the applicative context. Thus two different situations
+ are possible:
+ {method = "BU_Conversion"; applicative_context=[p1; ...; pn]}
+ {method = xxx; applicative_context =
+ [ p1; ...; pn; {method="BU_Conversion"} ; p_{n+1}; ... ; pm ]}
+ In both situations only pn must be processed in in_bu_conversion
+ mode
+ *)
+ let in_bu_conversion =
+ match tl with
+ [] -> in_bu_conversion
+ | p::_ -> p.Con.proof_conclude.Con.conclude_method = "BU_Conversion"