| 2 | |

| 3 | == Fix bugs in Sage == |

| 4 | There are a number of trivial bugs that get fixed by monkey-patches in https://github.com/saraedum/sage/blob/experimental/mac_lane/__init__.py |

| 5 | |

| 6 | 1. Conversion from a Function Field to its Constant Field |

| 7 | 1. Conversion from a Function Field to its underlying Polynomial Ring |

| 8 | 1. Coercions between Function Fields |

| 9 | 1. Coercions are injective if the underlying map is |

| 10 | 1. Ring homomorphisms from Fields are injective |

| 11 | 1. The embedding of a ring into a polynomial ring over that ring is injective |

| 12 | 1. Morphisms of number fields are injective |

| 13 | 1. ZZ into QQ is injective |

| 14 | 1. ZZ into a Number Field is injective |

| 15 | 1. ZZ into an order of a Number Field is injective |

| 16 | 1. (some_elements() should return more than just [1] for most rings.) |

| 17 | |

| 18 | == Add new features to Sage == |

| 19 | New features that the code needs to work |

| 20 | |

| 21 | 1. Factorization over iterated extensions of finite fields. |

| 22 | 1. principal_part() and sides() of a Newton Polygon |

| 23 | |

| 24 | == Add the valuation code to Sage == |

| 25 | |

| 26 | i.e., add these files The files here https://github.com/saraedum/sage/tree/experimental/mac_lane to Sage. |