Repository navigation
Add a presentation for the Grammic monoid - #17
Closed
james-d-mitchell wants to merge 1 commit into
Closed
james-d-mitchell wants to merge 1 commit into
james-d-mitchell wants to merge 1 commit into
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
presentation::examples::grammic_monoid_LXZ26(n)and the defaultgrammic_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 = badcfora < 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'sbadcand equation (3.3)'sbdacgive 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, andgit 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 upstreammainat5bf8eb152, because this fork'smainis 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.