proposition: Fact RatK x P : @Rat (numq x, denq x) P = x.
proof: Proof. by move: x P => [[a b] P'] P; apply: val_inj. Qed.
imports: HB(structures) mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq choice) mathcomp(fintype bigop order ssralg countalg div ssrnum) mathcomp(ssrint prime archimedean)