generic type Element is mod <>; F: Element; -- irreducible polynomial package GF2n is function "+"(Left: Element; Right: Element) return Element; function "-"(Left: Element; Right: Element) return Element; function "*"(Left: Element; Right: Element) return Element; -- may raise constraint error function "/"(Left: Element; Right: Element) return Element; -- output an element as a polynomial -- example output: "x^4 + x^2 + 1" procedure Put(Item: Element); end GF2n;