Notation ring_rw_correct :=
 (ring_rw_correct Rsth Reqe ARth CRmorph pow_th cdiv_th get_sign_spec).Notation ring_rw_pow_correct :=
 (ring_rw_pow_correct Rsth Reqe ARth CRmorph pow_th cdiv_th get_sign_spec).Notation ring_correct :=
 (ring_correct Rsth Reqe ARth CRmorph pow_th cdiv_th).(* simplify a field expression into a fraction *)
Definition display_linear l num den :=
  let lnum := NPphi_dev l num in
    match den with
    | Pc c => if ceqb c cI then lnum else lnum / NPphi_dev l den
    | _ => lnum / NPphi_dev l den
    end.Definition display_pow_linear l num den :=
  let lnum := NPphi_pow l num in
    match den with
    | Pc c => if ceqb c cI then lnum else lnum / NPphi_pow l den
    | _ => lnum / NPphi_pow l den
    end.

Theorem Field_rw_pow_correct n lpe l : Ninterp_PElist l lpe -> forall lmp, Nmk_monpol_list lpe = lmp -> forall fe nfe, Fnorm fe = nfe -> PCond l (condition nfe) -> FEeval l fe == display_pow_linear l (Nnorm n lmp (num nfe)) (Nnorm n lmp (denum nfe)).