RAQ/lib/byconj.gd
Glen Whitney be82518697 Organize raq into standard GAP package file tree
In preparation for a beta release of the raq package, it's important for it to
be conformant to current GAP package conventions. Therefore, I have rearranged
the file tree to match the Example package quite thoroughly. In so doing, this
laid the foundation for the following aspects of the package:

  - Package documentation. Added makedoc.g at the top level to generate
  AutoDoc/GAPDoc documentation for raq. Currently the documentation is empty;
  future development will bring the documentation to cover all existing code.

  - Package tests. The basic structure to add .tst files in the tst
  subdirectory of the package is in place. The coverage of tests provided in
  this commit is minimal; again, further development will extend the test
  coverage.

In addition, PackageInfo.g has been elaborated to include much more complete
information about raq and where it will (initially) be posted on line.

Resolves: #1
2018-08-16 21:12:38 -07:00

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);