Skip to content

Add a presentation for the Grammic monoid - #17

Closed
james-d-mitchell wants to merge 1 commit into
codex/grammic-monoid-basefrom
codex/grammic-monoid
Closed

james-d-mitchell wants to merge 1 commit into
codex/grammic-monoid-basefrom
codex/grammic-monoid

Conversation

@james-d-mitchell

Copy link
Copy Markdown
Owner

Adds presentation::examples::grammic_monoid_LXZ26(n) and the default grammic_monoid(n) helper, implementing the presentation in Theorem 3.17 of Luo, Xie, and Zhang (2026).

The presentation extends the existing Knuth relations with dbac = badc for a < b <= c < d, supports every positive rank, and rejects rank zero. The empty word is explicitly enabled, including at rank one. The code explains why the abstract's badc and equation (3.3)'s bdac give equivalent presentations.

Adds API documentation, the bibliography entry, and three tests covering ranks 1–6, the five extra rank-four relations, and the proper quotient of the rank-three plactic monoid.

Fixes libsemigroups#1101.

Validation (debug build, HPCombi disabled):

  • make test_presentation_examples -j6
  • ./test_presentation_examples '[Example][110],[Example][111],[Example][112]' --durations yes: 42 assertions in 3 tests passed.
  • ./test_presentation_examples '[quick]': 503 assertions in 102 tests passed.
  • pre-commit run --hook-stage pre-push --files include/libsemigroups/presentation-examples.hpp src/presentation-examples.cpp tests/test-presentation-examples-2.cpp docs/libsemigroups.bib: passed.
  • python3 etc/check_doc_order.py, python3 etc/check_doxygen_line_breaks.py, and git diff --check: passed.
  • make doc: completed; the new API entries and citation resolve. Doxygen emitted unrelated configuration/reference warnings and the existing navigation-fixup warning.

The PR targets codex/grammic-monoid-base, a snapshot of upstream main at 5bf8eb152, because this fork's main is 275 commits behind upstream. This keeps the diff limited to the four files for this change.

AI assistance: OpenAI Codex researched the paper and prepared the implementation, documentation, tests, commit message, and PR description. The commit includes Codex as a co-author.

Implement grammic_monoid_LXZ26 and the default grammic_monoid helper using
the Knuth relations and the additional relations of Luo, Xie, and Zhang.
Document the presentation and cover its boundary cases and plactic quotient.

AI assistance: OpenAI Codex researched the presentation and prepared the
implementation, documentation, tests, and commit message.

Co-authored-by: Codex <noreply@openai.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant