axx パターンの代数的構造
axx のパターンは、表面的には「文字列パターン → バイナリ列」ですが、
その内部構造は 代数的写像(homomorphism) として理解できる。
結論から言うと:
axx パターンは、命令構文の自由モノイドから、バイナリ列のモノイドへの準同型(monoid homomorphism)である。
これが axx の“代数的本質”。
1. instruction は自由モノイド(Free Monoid)
axx の instruction は以下の要素から構成される:
文字列リテラル
シンボル
整数式
浮動小数点式
整数因子
これらは 連結(concatenation) によって構文を形成する。
つまり instruction は:
Σ*
という 自由モノイド(記号列の集合)として扱える。
なぜ自由モノイドなのか
文法は固定されていない
パターンファイルが構文を定義する
連結が唯一の構成操作
単位元は空文字列 ε
これは自由モノイドの定義そのもの。
2. binary_list はモノイド(Monoid)
binary_list は以下の 5 構文と整数式で構成される:
代入
三項演算子
; 修飾子
アライメント
@@[]
これらはすべて バイナリ列の生成・結合 を行う操作であり、
最終的に得られるのは バイト列の連結。
つまり binary_list は:
𝐵*
という バイト列のモノイド(連結を演算とする)に属する。
3. axx パターンはモノイド準同型(Monoid Homomorphism)
instruction(自由モノイド)から binary_list(バイト列モノイド)への写像:
𝑓:Σ*→𝐵*
が axx パターンの本質。
instruction の構造を分解し、binary_list の構造に写像し、連結構造を保ったままバイナリ列を生成する
つまり axx は 構文構造を壊さずにバイナリ構造へ写す代数的写像。
4. error_patterns は「部分モノイドの制約」
error_patterns は:
instruction の部分集合
binary_list への写像が定義されない領域
つまり 部分モノイドの除外条件
代数的には:
Dom(𝑓)⊆Σ*
を制限するための 制約集合(constraint set)。
5. axx パターンの代数的性質まとめ
axx の構成要素 代数的対象 説明
instruction 自由モノイド Σ* 記号列の連結構造
binary_list モノイド 𝐵* バイト列の連結構造
error_patterns 部分モノイドの制約 定義域の制限
パターン全体 モノイド準同型 構文 → バイナリの写像