have to opposite some elements first before you can get the family

This commit is contained in:
Glen Whitney 2017-10-22 18:41:15 +02:00
parent fb5f9af82f
commit 3d18bcace2

View file

@ -445,8 +445,9 @@ InstallMethod(Opposite, "for a finitely generated magma",
[IsMagma and HasGeneratorsOfMagma], [IsMagma and HasGeneratorsOfMagma],
function(M) function(M)
local fam, elts; local fam, elts;
fam := CollectionsFamily(OppositeFamily(ElementsFamily(FamilyObj(M)))); # Get elements first to prime the representative of the family
elts := List(GeneratorsOfMagma(M), m -> OppositeObj(m)); elts := List(GeneratorsOfMagma(M), m -> OppositeObj(m));
fam := CollectionsFamily(OppositeFamily(ElementsFamily(FamilyObj(M))));
return Magma(fam, elts); return Magma(fam, elts);
end); end);
@ -454,8 +455,9 @@ InstallMethod(Opposite, "for a finitely generated magma with one",
[IsMagmaWithOne and HasGeneratorsOfMagmaWithOne], [IsMagmaWithOne and HasGeneratorsOfMagmaWithOne],
function(M) function(M)
local fam, elts; local fam, elts;
fam := CollectionsFamily(OppositeFamily(ElementsFamily(FamilyObj(M)))); # Get elements first to prime the representative of the family
elts := List(GeneratorsOfMagmaWithOne(M), m -> OppositeObj(m)); elts := List(GeneratorsOfMagmaWithOne(M), m -> OppositeObj(m));
fam := CollectionsFamily(OppositeFamily(ElementsFamily(FamilyObj(M))));
return MagmaWithOne(fam, elts); return MagmaWithOne(fam, elts);
end); end);
@ -463,7 +465,8 @@ InstallMethod(Opposite, "for a finitely generated magma with inverse",
[IsMagmaWithInverses and HasGeneratorsOfMagmaWithInverses], [IsMagmaWithInverses and HasGeneratorsOfMagmaWithInverses],
function(M) function(M)
local fam, elts; local fam, elts;
fam := CollectionsFamily(OppositeFamily(ElementsFamily(FamilyObj(M)))); # Get elements first to prime the representative of the family
elts := List(GeneratorsOfMagmaWithInverses(M), m -> OppositeObj(m)); elts := List(GeneratorsOfMagmaWithInverses(M), m -> OppositeObj(m));
fam := CollectionsFamily(OppositeFamily(ElementsFamily(FamilyObj(M))));
return MagmaWithInverses(fam, elts); return MagmaWithInverses(fam, elts);
end); end);