Ident := function(n) local x,y,l; l:=[]; for x in Elements(n) do for y in Elements(n) do if x*y = y and y*x = y then Add(l,y);fi; Print(x, "*", y, "=", x*y," ", y, "*", x, "=", y*x, "\n"); od; if Elements(l) = Elements(n) then Print(x," is an identity", "\n"); else Print(x, " is not an identity", "\n");fi; l:=[]; od; end;