Infix "* " := rmul.Infix "==" := req.Fixpoint pow_pos (x:R) (i:positive) : R :=
  match i with
  | xH => x
  | xO i => let p := pow_pos x i in p * p
  | xI i => let p := pow_pos x i in x * (p * p)
  end.

Lemma pow_pos_swap x j : pow_pos x j * x == x * pow_pos x j.