`p_nf', `p_nf_mod', `p_true_nf', `p_true_nf_mod'
------------------------------------------------

p_nf(POLY,PLIST,VLIST,ORDER)
p_nf_mod(POLY,PLIST,VLIST,ORDER,MOD)
     :: $BI=8=B?9`<0$N@55,7A$r5a$a$k(B. ($B7k2L$ODj?tG\$5$l$F$$$k2DG=@-$"$j(B)

p_true_nf(POLY,PLIST,VLIST,ORDER)
p_true_nf_mod(POLY,PLIST,VLIST,ORDER,MOD)
     :: $BI=8=B?9`<0$N@55,7A$r5a$a$k(B. ($B??$N7k2L$r(B `[$BJ,;R(B, $BJ,Jl(B]'
     $B$N7A$GJV$9(B)

RETURN
     `p_nf' : $BB?9`<0(B, `p_true_nf' : $B%j%9%H(B

POLY
     $BB?9`<0(B

PLIST,VLIST
     $B%j%9%H(B

ORDER
     $B?t(B, $B%j%9%H$^$?$O9TNs(B

MOD
     $BAG?t(B

   * `gr' $B$GDj5A$5$l$F$$$k(B.

   * $BB?9`<0$N(B, $BB?9`<0%j%9%H$K$h$k@55,7A$r5a$a$k(B.

   * `dp_nf()', `dp_true_nf()', `dp_nf_mod()', `dp_true_nf_mod'
     $B$KBP$9$k%$%s%?%U%'!<%9$G$"$k(B.

   * POLY $B$*$h$S(B PLIST $B$O(B, $BJQ?t=g=x(B VLIST $B$*$h$S(B $BJQ?t=g=x7?(B OTYPE
     $B$K=>$C$FJ,;6I=8=B?9`<0$KJQ49$5$l(B, `dp_nf()', `dp_true_nf()',
     `dp_nf_mod()', `dp_true_nf_mod()' $B$KEO$5$l$k(B.

   * `dp_nf()', `dp_true_nf()', `dp_nf_mod()', `dp_true_nf_mod()' $B$O(B
     FULLREDUCE $B$,(B 1 $B$G8F$S=P$5$l$k(B.

   * $B7k2L$OB?9`<0$KJQ49$5$l$F=PNO$5$l$k(B.

   * `p_true_nf()', `p_true_nf_mod()' $B$N=PNO$K4X$7$F$O(B, `dp_true_nf()',
     `dp_true_nf_mod()' $B$N9`$r;2>H(B.

     [79] K = katsura(5)$
     [80] V = [u5,u4,u3,u2,u1,u0]$
     [81] G = hgr(K,V,2)$
     [82] p_nf(K[1],G,V,2);
     0
     [83] L = p_true_nf(K[1]+1,G,V,2);
     [-1503...,-1503...]
     [84] L[0]/L[1];
     1

$B;2>H(B
     *Note `dp_ptod': dp_ptod, *Note `dp_dtop': dp_dtop, *Note
     `dp_ord': dp_ord, *Note `dp_nf dp_nf_mod dp_true_nf
     dp_true_nf_mod': dp_nf dp_nf_mod dp_true_nf dp_true_nf_mod.

