fix the right trivial constructor too

This commit is contained in:
Glen Whitney 2017-10-29 20:54:12 -04:00
parent cb77a7c7df
commit 560564a010

View File

@ -88,18 +88,19 @@ end);
InstallGlobalFunction(TrivialRightQuandle, InstallGlobalFunction(TrivialRightQuandle,
function(n) function(n)
local I; local trivs, I;
if not IsBound(RightTrivs@[n]) then if not IsBound(RightTrivs@[n]) then
I := AsRightQuandle(List([1..n], RInertum@)); trivs := List([1..n], RInertum@);
I := RightQuandleNC(CollectionsFamily(RInertumFamily@), trivs);
SetIsTrivial(I, true); SetIsTrivial(I, true);
SetIsBuiltFromMultiplicationTable(I, true); SetAsSSortedList(I, trivs);
SetMultiplicationTable(I, SetMultiplicationTable(I,
List([1..n], i -> ListWithIdenticalEntries(n, i))); List([1..n], i -> ListWithIdenticalEntries(n, i)));
RightTrivs@[n] := I; RightTrivs@[n] := I;
fi; fi;
return RightTrivs@[n]; return RightTrivs@[n];
end); end);
InstallMethod(IsTrivial, "for a left quasigroup", InstallMethod(IsTrivial, "for a left quasigroup",
[IsLeftQuasigroup], [IsLeftQuasigroup],
Q -> ForAll(LeftPerms(Q), p -> p = ()) Q -> ForAll(LeftPerms(Q), p -> p = ())