- let str = stm_pp stm in enable_notations true; str
-(* FG: we disable notation for Inductive to avoid recursive notation *)
- | stm -> stm_pp stm
+ let str = stm_pp stm in
+ enable_notations true;
+ Acic2content.hide_coercions := hc;
+ str
+(* FG: we disable notation for inductive types to avoid recursive notation *)
+ | G.Executable (_, G.Tactic _) as stm ->
+ let hc = !Acic2content.hide_coercions in
+ Acic2content.hide_coercions := false;
+ let str = stm_pp stm in
+ Acic2content.hide_coercions := hc;
+ str
+(* FG: we show coercion because the reconstruction is not aware of them *)
+ | stm ->
+ let hc = !Acic2content.hide_coercions in
+ if List.mem G.IPCoercions params then
+ Acic2content.hide_coercions := false;
+ let str = stm_pp stm in
+ Acic2content.hide_coercions := hc;
+ str