RAQ/lib/byconj.gd

28 lines
1.0 KiB
GDScript3

# byconj.gd RAQ Quandles by conjugation
# The following outline of defining c
DeclareCategory("IsConjugatorObject",
IsMultiplicativeElement and IsLeftQuotientElement and
IsLSelfDistElement and IsIdempotent);
DeclareCategoryCollections("IsConjugatorObject");
DeclareAttribute("ConjugatorFamily", IsFamily);
DeclareAttribute("ConjugatorType", IsFamily);
DeclareSynonym("IsDefaultConjugatorObject",
IsConjugatorObject and IsPositionalObjectOneSlotRep);
# As far as I can tell, we are not losing any generality here;
# to define the conjugator, we need the quotient on one side, to define
# left quotients of conjugators we need the quotient on the other side, and
# to prove it works we need associativity, which makes the underlying elements
# of conjugator objects automatically group elements.
DeclareAttribute("ConjugatorObj", IsMultiplicativeElementWithInverse);
DeclareAttribute("UnderlyingMultiplicativeElement", IsConjugatorObject);
# The meat of the matter:
DeclareAttribute("ConjugationQuandle", IsGroup);