Add methods to check self distributivity of a magma.

This commit is contained in:
Glen Whitney 2017-10-18 22:15:06 +02:00
parent 11e6052a5e
commit 961ff3840f

View File

@ -151,7 +151,7 @@ InstallGlobalFunction(LeftRackByMultiplicationTable,
InstallGlobalFunction(LeftRackByMultiplicationTableNC,
T -> MagmaByMultiplicationTableCreatorNC(T, LeftRack,
IsLeftQuotientElement and IsLSelfDistributiveElement and
IsLeftQuotientElement and IsLSelfDistElement and
IsMagmaByMultiplicationTableObj
)
);
@ -171,7 +171,7 @@ end);
InstallGlobalFunction(RightRackByMultiplicationTableNC,
T -> MagmaByMultiplicationTableCreatorNC(T, RightRack,
IsRightQuotientElement and IsRSelfDistributiveElement and
IsRightQuotientElement and IsRSelfDistElement and
IsMagmaByMultiplicationTableObj
)
);
@ -236,6 +236,17 @@ InstallMethod(RightPerms,
return List(TransposedMat(MultiplicationTable(fam)), x->PermList(x));
end);
## Distributivity checkers for when need be
InstallMethod(IsLSelfDistributive, "for magma"
[IsMagma],
M -> IsLSelfDistributiveTable(MultiplicationTable(M))
);
InstallMethod(IsRSelfDistributive, "for magma"
[IsMagma],
M -> IsRSelfDistributiveTable(MultiplicationTable(M))
);
## Special case the Opposite function from LOOPS package, since the opposite
## of a left quasigroup is a right quasigroup and vice versa