proposition: Lemma powR12_sqrt a : 0 <= a -> a `^ (2^-1) = Num.sqrt a.
proof: Proof. rewrite le_eqVlt => /predU1P[<-|a0]. by rewrite powR0 ?invr_eq0 ?pnatr_eq0// sqrtr0. have /eqP : (a `^ (2^-1)) ^+ 2 = (Num.sqrt a) ^+ 2. rewrite sqr_sqrtr; last exact: ltW. by rewrite /powR gt_eqF// -expRMm mulrA divrr ?mul1r ?unitfE// lnK. rewrite eqf_sqr => /predU1P[//|/eqP h]. have : 0 < a `^ 2^-1 by exact: powR_gt0. by rewrite h oppr_gt0 ltNge sqrtr_ge0. Qed.
imports: mathcomp(all_ssreflect ssralg ssrint ssrnum matrix) mathcomp(interval rat) mathcomp(boolp classical_sets functions) mathcomp(mathcomp_extra) reals ereal signed topology normedtype landau sequences derive realfun itv convex