fact: Definition sqrt x := match x with | N0 wx => reduce_0 (w0_sqrt wx) | N1 wx => reduce_1 (w1_sqrt wx) | N2 wx => reduce_2 (w2_sqrt wx) | N3 wx => reduce_3 (w3_sqrt wx) | N4 wx => reduce_4 (w4_sqrt wx) | N5 wx => reduce_5 (w5_sqrt wx) | N6 wx => reduce_6 (w6_sqrt wx) | N7 wx => reduce_7 (w7_sqrt wx) | N8 wx => reduce_8 (w8_sqrt wx) | N9 wx => reduce_9 (w9_sqrt wx) | N10 wx => reduce_10 (w10_sqrt wx) | N11 wx => reduce_11 (w11_sqrt wx) | N12 wx => reduce_12 (w12_sqrt wx) | Nn n wx => let op := make_op n in reduce_n n (op.(znz_sqrt) wx) end.
imports: ZArith Basic_type ZnZ Zn2Z Nbasic GenMul GenDivn1