Need the computation of IsTrival to rely on less, and do it for Right also.

This commit is contained in:
Glen Whitney 2017-10-29 21:46:21 -04:00
parent 3e7d40f11c
commit 34a4dc4d4a
1 changed files with 12 additions and 6 deletions

View File

@ -106,13 +106,19 @@ end);
# larger than one are non-trivial.
InstallImmediateMethod(IsTrivial, "for a left quasigroup",
IsLeftQuasigroup and HasSize, 1,
Q -> ForAll(LeftPerms(Q), p -> p = ())
);
function(Q)
local gens;
gens := GeneratorsOfLeftQuasigroup(Q);
return ForAll(gens, x -> ForAll(gens, y -> x*y = y));
end);
InstallMethod(IsTrivial, "for a right quasigroup",
[IsRightQuasigroup],
Q -> ForAll(RightPerms(Q), p -> p = ())
);
InstallImmediateMethod(IsTrivial, "for a right quasigroup",
IsRightQuasigroup and HasSize, 1,
function(Q)
local gens;
gens := GeneratorsOfRightQuasigroup(Q);
return ForAll(gens, x -> ForAll(gens, y -> y*x = y));
end);
## Convenience functions