[追記]: 関係のtotalityの定義が間違っていたので削除。これに関する話はまた改めてするかも知れません。しないかも知れません。
正確には可逆性が本質ではありません。可逆性からinduceされる一意性の保存(変換の単射性)のほうが欲しかったことです
と書いたけど、あんまり“正確”ではありませんでした。
そもそも、ネーミングとかコーディング(符号化)では、モノに対して名前/符号が1つとは限らないので、写像と捉えることができない場合が多いのです。だから、単射(injection)、双射(bijection)、全射(surjection; 僕は訳語「上射」のほうが好き)とかの概念はそのままでは使えないのです。
ネーミング/コーディングを一般的に考えるなら、写像でなくて関係(relation)のほうですね。関係でも向きは考えるので、「モノ→名前」という方向の関係を考えます。写像との違いは:
- 複数の名前を持つモノがあってもよい。
- すべのてモノが名前を持つとは限らない(無名のモノもあるかも)。
「はてな」でも、同一人物が複数アカウント持てるでしょう、無名ユーザーはダメだけど、例えば一時的なゲストとか許すと無名ユーザーが生じる可能性も考えられます。
さて、(向きを持った)関係で単射性(injective)に代わる概念は単葉<たんよう>性(univalent)です。「モノ→名前」関係について言えば:
- どんな名前でも、その名前を持つモノが1つだけか、または1つも存在しない。
ここからは論理式が好きは人のために: 「モノxが名前(文字列)sを持つ」という関係をN(x, s)と書くとして:
- 関係Nがunivalent ⇔ ∀s∈S.∀x,y∈X.[N(x, s)∧N(y, s) → x = y]
もし、N(x, s)が f(x) = s で与えられているなら、
- ∀s∈S.∀x,y∈X.[f(x) = s ∧ f(y) = s → x = y]
なので、これはfの単射性のことですね。