10 | | We should allow exact defining polynomials, since they simplify reasoning for the precision of elements and do not impose a maximum precision cap on the extension. |

| 10 | This is fine, one would expect the defining polynomial to have coefficients in the base ring but we would also like to have access to the exact polynomial. To make this consistent, we should always keep two polynomials: a defining polynomial and an exact polynomial. |

| 11 | |

| 12 | The defining polynomial has coefficients over the base ring. It is not part of the key used in the factory as it can be recovered from the exact polynomial. |

| 13 | |

| 14 | The exact polynomial has coefficients in a number field: For extension of !Zp/Qp, the coefficients are in QQ. For two step extensions, the coefficients are in the absolute number field defined by the exact polynomial of the base ring. For more general extensions, the coefficients are in the tower of number fields, defined by the exact polynomials. |

| 15 | |

| 16 | The exact polynomial is part of the key used in the factory. Two fields with different exact polynomial but same defining polynomial are different. This makes sense because they behave differently with respect to `change()` when changing the precision. |

| 17 | |

| 18 | For extensions constructed from a modulus with inexact coefficients (in the base ring) we just set the exact polynomial to an approximation of the modulus. |