proposition: Lemma refine_trans : transitive refine.
proof: Proof. move=> g1 g2 g3 /refineP[Hl1 Hr1 Hf1] /refineP[Hl2 Hr2 Hf2]. apply/refineP; split => //. by move=> p Hv Hp; rewrite Hf1 // Hf2 // -Hf1. Qed.
imports: mathcomp(all_ssreflect) mathcomp(zify)