// $Id$ $use Arithm; $module Z2 : Group; E = 0; Inv s1 = ; "*" s1 s2 = 2>; $interface Group0 = Group $where { $func E = 0; }; $module Z3 : Group0; Inv s1 = > 3>; "*" s1 s2 = 3>; $functor Zn (Param : { $const N = s; }) : Group0; Inv s1 = > &N>; "*" s1 s2 = &N>;