しりとりの圏
しりとりは圏論の圏として考えることができる。
対象
ひらがな文字、1文字、'あ'
射
ひらがな文字列、"あいう", "か"
恒等射
長さ1の文字列
結合(合成)
しりとり結合演算「;」
; : H → H → HStr
s;t は last(s) = first(t) のときだけ定義される二項演算 dom (域)
first : HStr → H
最初の文字
cod (余域) last
last : HStr → H
最後の文字
id (恒等射) unit
unit : H → HStr
1文字からなる文字列
型から言い換えると1文字のひらがな文字(型H)を引数に取って、ひらがな文字列(型HStr)に変える関数
H -- ひらがな文字全体の集合
$ H = \{あ, い, う, ...\}
HStr -- ひらがな文字列全体の集合(ただし空な列は除く)
$ HStr = \{"あ", "あいう", "う", ...\}
"たぬき";"きつね"= "たぬきつね"
last("たぬき") = first("きつね")なので結合できる
対象の集合
$ Ob(H) = \lbrace あ, け, う, か, ... \rbrace
射の集合HStr
$ Mor(HStr)=\{"あ","あいうえお","りんご","ばなな","みかん"...\}
table:(キマイラ飼育記の記載)
圏論一般 しりとりの例
対象 ひらがな文字
射 ひらがな文字列
恒等射 長さ1の文字列
結合(合成) しりとり結合
対象の集合 ひらがな文字の集合H
射の集合 ひらがな文字列の集合HStr
dom (域) first
cod (余域) last
id (恒等射) unit