このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

指標とヒルベルト・イプシロン記号を利用しよう

デジタル語彙目録:: 動機と概要」で述べたように、同義語・多義語の問題に非常に困っていて、その対策としてデジタル語彙目録を作ろうとしています。

試しに、代数系〈algebraic {system | structure}〉の定義を幾つか、半形式的に書いて語彙エントリーを作ってみました。それで感じたこと/思ったことをこの記事に記します。

かねがね、なにかを定義するには指標を使ってきたのですが、ヒルベルトのイプシロン記号も使用すべき場面は多いようです。$`\newcommand{\mrm}[1]{ \mathrm{#1} }
\newcommand{\In}{\text{ in }}
%\newcommand{\o}[1]{\overline{#1}}
\newcommand{\hyp}{\text{-} }
%\newcommand{\twoto}{\Rightarrow }
\newcommand{\Imp}{\Rightarrow }
\newcommand{\cat}[1]{\mathcal{#1}}
%\newcommand{\msf}[1]{\mathsf{#1}}
\newcommand{\mbf}[1]{\mathbf{#1}}
%\newcommand{\mbb}[1]{\mathbb{#1}}
%\newcommand{\doct}[1]{\mathbb{#1}}
%\newcommand{\M}{\text{-} }
\newcommand{\T}[1]{\text{#1} }
\newcommand{\id}{\mathrm{id} }
%\newcommand{\dimU}[2]{{#1}\!\updownarrow^{#2}}
\newcommand{\ClassOf}[1]{ \{\!| {#1} |\!\} }
\newcommand{\CatOf}[1]{ \langle\!| {#1} |\!\rangle }
`$

内容:

指標を使った記述

指標〈signature〉については、このブログ内で山のように書いています。

現時点で検索結果は7ページに渡ります。1ページあたり30記事、最後のページは1記事なので181記事(この記事は除く)。ブログ内で、国語辞書的意味で「指標」を使うことはまずないので、これら180ほどの記事でテクニカルタームとしての「指標」に言及しています。

指標の具体例(半群の指標など)は、例えば「構造記述のための指標と名前 1/n 基本」を見てください。

無名の指標を考えることもありますが、通常、指標は名前〈name〉を持ち、その名前はなんらかの概念に付けられた名前と解釈します。半群の指標は“半群”という概念を記述し、モノイドの指標は“モノイド”という概念を記述します。

指標の内部には、構成素〈constituent〉の宣言が並びます。各宣言にはラベルが付きます。ラベルは、構成素の役割り名と解釈されます。例えば、以下の半群の指標(「構造記述のための指標と名前 1/n 基本」からそのまま引用、ただし色は抜いている)では、$`\T{U}`$、$`\T{m}`$、$`\T{assoc}`$ がラベルです。

$`\T{signature }\T{Semigroup}\:\{\\
\quad \T{sort } \T{U}\\
\quad \T{operation }\T{m} : \T{U} \times \T{U} \to \T{U}\\
\quad \T{equation } \T{assoc} ::
(\T{m} \times {\id}_{\T{U}} ) ; \T{m} \Rightarrow
{\alpha}_{\T{U}, \T{U}, \T{U}} ; ({\id}_{\T{U}}{\times} \T{m}) ; \T{m} \\
\}
`$

ラベル達 $`\T{U}, \T{m}, \T{assoc}`$ は半群〈semigroup〉という構造物のなかでの構成素役割り名でもあり、それぞれ、「台集合」「二項演算」「結合律」という日本語の呼び名〈用語)もあります。

「台集合」「二項演算」「結合律」は、自然言語(日本語)の説明内で使う名前で、「$`\T{U}`$」「$`\T{m}`$」「$`\T{assoc}`$」は形式言語の中で使う名前です。違う言語における名前だけど、名前が指し示す概念的事物は同じです。

例題は代数系の記述

代数系〈algebraic {system | structure}〉は、台集合、演算、等式的法則から構成されるので、その公理系を指標の形に書くのは比較的容易です。前節の半群の指標は代数系の指標の一例です。

また、たくさんの代数系の指標を書くとき、継承関係を使って差分記述できます。代数系 B(の定義)が、代数系 A(の定義)を継承しているとは、A の定義に付け足しをして B の定義が得られることです。付け足し分だけを書くことにより、定義のコピーを避けられます。例えば、「マグマ → 半群 → モノイド → 群」のような継承の系列を作れます。

といった事情により、幾つかの代数系の定義を継承を使って書いていくことは、指標を使った記述の良い例題となるのです。

今ここでは、デジタル語彙目録(「デジタル語彙目録:: 動機と概要」参照)の語彙エントリーとして、可換環の定義まで書けた、という状況を想定しましょう。可換環の指標の名前は $`\T{CommRing}`$ です。その他にも、
$`\quad \T{Monoid}`$ モノイド
$`\quad \T{CommMonoid}`$ 可換モノイド
$`\quad \T{Group}`$ 群
$`\quad \T{AbelianGroup}`$ アーベル群
$`\quad \T{Field}`$ 体〈可換体〉
などの指標は既に揃っているとします。

分数体と同義語・類義語・曖昧語

代数系に関する次のような言葉〈用語〉があります。

  1. 剰余環
  2. 商環
  3. 環の局所化
  4. 全商環
  5. 商体
  6. 分数体

これらの言葉達は、同義語・類義語・曖昧語になっていそうですが、僕はよく分かってないです。とりあえず、分数体〈field of fractions〉を半形式的に記述してみることにしました。

Wikipedia項目を見ると、見出し語が「商体」で、「分数体」はその同義語だとなっています。その他、次も同義語らしいです。

  1. field of quotients
  2. field of fractions
  3. 商の体
  4. 分数の体
  5. quotient field
  6. fraction field

「商体」と「商環」は異義語で、「商環」と「剰余環」が同義語らしい ‥‥ ハァー(ため息)。まー、他はいいとして、とりあえず「分数体」だ。

Wikipediaの定義を見ると、「群」や「可換環」のような代数系の種別として「分数体」があるわけではなくて、与えられた整域〈integral domain〉(後述します)に対して、それを素材〈入力〉として体を作る“作り方”、あるいは“作った結果”〈出力〉を「分数体」と呼ぶらしいです。つまり、「分数体」という言葉〈用語〉は単独で使うものではなくて、「ある整域 $`R`$ の分数体」という使い方をするわけだ。

「整域 $`R`$ $`\mapsto`$ $`R`$ の分数体」という対応は関数です。「分数体」という名前は、型(あるいは集合)に付けられた名前ではなくて関数に付けられた名前だったのです。しばしば、関数と関数値はゴッチャにされることから、関数である「分数体」と関数値である「$`R`$ の分数体」もゴッチャにされるのでしょう。

関数を定義するのだったら、その域〈domain〉と余域〈codomain〉をハッキリさせる必要があります。Wikipediaの定義を見ると、域は整域達の集合で、余域は体達の集合です。整域はまだ未定義なのでそれを定義して、整域達の集合上の関数である分数体を定義することになります。

整域、外延の書き方

指標を書くのを少し楽ちんにするために、「曖昧性を減らす: Diag構成を事例として // 指標の書き方」で述べた書き方を使います。プレーンテキストのなかにLaTeX〈MathJax〉数式をインラインで混ぜて書きます。

整域〈integral domain〉は、ゼロ因子を持たない可換環なので、その指標は、可換環の指標を継承〈拡張 | extend〉して書けます。

signature $`\T{IntegralDomain}`$ extends $`\T{CommRing}`$ {
 $`\T{no-zero-factor}`$ : $`\mbf{1} \to [\forall x, y\in \T{U}. xy = 0 \Imp (x = 0 \lor y = 0)] \In \mbf{Logic}`$
 $`\T{non-zero-ring}`$ : $`\mbf{1} \to [\exists x \in \T{U}. x\ne 0] \In \mbf{Logic}`$
}
we call $`\T{IntegralDomain}`$, 整域 .
we call $`\T{no-zero-factor}`$, ゼロ因子非存在 .
we call $`\T{non-zero-ring}`$, ゼロ環ではない .

可換環の指標である $`\T{CommRing}`$ を継承し、論理式〈formula〉で書ける条件を2つ追加しています。名前 $`\T{U}`$ は可換環の指標から継承している“構造の台集合”(の名前)です。細かい書き方のお作法はともかくとして、ラベル $`\T{no-zero-factor}`$ の条件が「ゼロ因子を持たない」ということです。そして、ラベル $`\T{non-zero-ring}`$ の条件が「ゼロ環〈自明な環〉ではない」ということです。

指標のすぐ下の英文モドキの文は、形式的記述内の名前に対して自然言語の別名を与えている文です。例えば、自然言語〈日本語〉による説明のときは、ラベル $`\T{no-zero-factor}`$ の論理式が表す条件を「ゼロ因子非存在の条件」という日本語で指し示すということです。

ところで、指標の名前である $`\T{Group}`$ や $`\T{IntegralDomain}`$ は、次のように使うのは自然でしょう。

  • $`G`$ is-a $`\T{Group}`$ ($`G`$ は、群である)
  • $`R`$ is-a $`\T{IntegralDomain}`$ ($`R`$ は、整域である)

つまり、指標の名前は述語として使えるということです。述語とは、広義の真偽値を返す関数です。広義の真偽値とは、必ずしも $`\mrm{True}, \mrm{False}`$ に限定しなくてもよいが、$`\mrm{True}/\mrm{False}`$ の代わりに使えるナニカのことです。「Propositions-As-Typesを曲解しないで理解するために」で導入したベリティ型は広義の真偽値の一種です。

「整域である」を意味する述語はラムダ式で次のように書けます。

$`\quad \lambda\, x\in X.(x \text{ is-a }\T{IntegralDomain}) : X \to \mbf{Logic} \In \mbf{CAT}`$

$`\mbf{Logic}`$ は、広義の真偽値達が居る圏です。述語の域である $`X`$ を確定するのは難しいことがあります。よく分からないなら、$`X`$ は、この世のありとあらゆるモノが含まれる宇宙 $`\mbf{Univ}`$ だと考えても何とかなります。今の場合なら、すべての可換環の集合 $`|\mbf{CRng}|`$ を $`X`$ と置けばいいでしょう。

なお、集合 $`X`$ と圏 $`\mbf{Logic}`$ のように、n-圏としての次元が合わないときの $`X \to \mbf{Logic}`$ は、暗黙に次元調整がされると仮定しています。「変換手意味論とブラケット記法」を参照してください。

述語(内包ともいう)があれば、それを利用して集合(外延ともいう)を定義できます。

$`\quad \mbf{IntDom} := \{ x \in |\mbf{CRng}| \mid x \text{ is-a } \T{IntegralDomain}\}`$

名前 $`\mbf{IntDom}`$ は、集合〈外延〉の名前として新たに導入しました。こういうふうに名前をイチイチ導入するのはめんどくさいし、名前が増えすぎて厄介です。考えられる対処は:

  1. 述語〈内包〉の名前を、集合〈外延〉の名前としても流用する。同一の名前が、指標の名前、述語の名前、集合の名前にオーバーロードされる。
  2. 述語から集合を作る演算子に対する記号を準備して、その演算子記号を使う。

ここでは、ニ番目の方法を使うとして、次のように書くことにします。$`\ClassOf{\hyp}`$ が指標から集合〈外延〉を作る操作の演算子記号です。

$`\quad \ClassOf{ \T{IntegralDomain} } := \{ x \in |\mbf{CRng}| \mid x \text{ is-a } \T{IntegralDomain}\}`$

述語〈内包〉 $`\T{is-a }\T{IntegralDomain}`$ から決まる集合〈外延〉が $`\ClassOf{\T{IntegralDomain}}`$ で、これはすべての整域達の集合(大きい集合)です。

指標から、単に集合だけではなくて、圏が決まる場合もあります。特に代数系〈代数的構造〉では、指標から自動的に準同型射の定義が得られて、当該の代数系の圏が自動的に得られます。指標から決まるを次のように書くことにします。

$`\quad \CatOf{ \T{IntegralDomain} } \; \in |\mbf{CAT}|`$

定義から、次が成立します。

$`\quad \ClassOf{ \T{IntegralDomain} } = |\CatOf{\T{IntegralDomain} }| \In \mbf{SET}`$

新しい名前を導入する場合でも、この記法は便利です。例えば:

$`\quad \mbf{Mon} := \CatOf{\T{Monoid}},\; \mbf{Mon} \in |\mbf{CAT}|\\
\quad \mbf{Grp} := \CatOf{\T{Group}},\; \mbf{Grp} \in |\mbf{CAT}|\\
\quad \mbf{Ab} := \CatOf{\T{AbelianGroup}},\; \mbf{Ab} \in |\mbf{CAT}|\\
\quad \mbf{CRng} := \CatOf{\T{CommRing} },\; \mbf{CRng} \in |\mbf{CAT}|\\
`$

[補足]
上記で導入した $`\ClassOf{\hyp}, \CatOf{\hyp}`$ のような記号は、簡潔に書けるのがメリットですが、すぐに忘れてしまい、意味を思い出せないというデメリットもあります。綴りから意味を想起できるような名前を使ったほうがいい場面もあります。例えば:

  • $`\mrm{TheClassOf}(\hyp)`$
  • $`\mrm{TheCategoryOf}(\hyp)`$

$`\hyp`$ の部分には指標の名前、または指標そのものを入れます。
[/補足]

分数体という関数

分数体という関数を定義しましょう。関数名は $`\T{'field of fractions'}`$ です。シングルクォートは、空白が入っても全体でひとつの名前であることを示します。

モロに関数っぽい定義構文を使うと、例えば次の形です。

function $`\T{'field of fractions'}`$( $`R`$ : $`\ClassOf{\T{IntegralDomain}}`$ ) : $`\ClassOf{\T{Field}}`$
{
... 👌 ...
}

実際に整域 $`R`$ から体を作る手順は省略しています。絵文字のOKマーク 👌 は、「曖昧性を減らす: Diag構成を事例として」で説明しました。「その手順はちゃんとあるよ、大丈夫だから信用して」という意図です。実際、Wikipedia項目「商体 // 商体の構成」に、構成手続きが書いてあります。

より説明的な書き方をするなら、次のようにも書けます。"expression in" については「曖昧さを減少させるために、式にフォーマット指定」を参照してください。

we define function $`\T{'field of fractions'}`$
  for a $`\T{IntegralDomain}`$ $`R`$
  returns an element of $`\T{Field}`$
expression in informal-Japanese
  Wikipedia項目 商体の構成 を参照
end.

型理論の言葉では、分数体は“型をパラメータとする型”になっているのでパラメータ付き型〈parameterized type〉です(型ファミリーともいいます)。指標は型を定義する方法でもあるので、型を返す関数はパラメータ付き指標で書けます。

分数体をパラメータ付き指標で書くなら次のようでしょう。

parameterized signature $`\T{'field of fractions'}`$
(
  $`R\in \ClassOf{\T{IntegralDomain}}`$
)
{
  👌
}

書き方の変種〈方言 | フォーマット〉はいくらでも在るでしょうが、要は、次の関数の具体的な定義を与えればよいのです。記述に使用する構文はなんだってかまいません。

$`\quad \T{'field of fractions'} : \ClassOf{\T{IntegralDomain}} \to \ClassOf{\T{Fiels}} \In \mbf{SET}`$

圏論的条件による分数体の候補

前節の関数 $`\T{'field of fractions'}`$ は、構成手続きとして(あるいはアルゴリズム的に)定義されました。整域 $`R`$ を受け取ったとき、「こうしてあーして、どーたらしたら体が作れる」というレシピを記述してます。そのレシピに従って作った体が“$`R`$ の分数体”です。

構成手続きを述べずに、これこれこういう条件を満たす体があったら、それは“$`R`$ の分数体”なのだ、というスタイルの定義もあります。ここから先に出てくる「分数体」は、条件で規定されるモノとしての分数体です。手続きに従って構成されるモノではなくなります。

まずは次の指標を定義します。

parameterized signature $`\T{MapToField}`$
(
  $`R\in \ClassOf{\T{IntegralDomain}}`$
)
{
  $`K \in \ClassOf{\T{Field}}`$
  $`f: R \to U(K) \In \CatOf{\T{IntegralDomain}}`$
}

ここで、名前 $`U`$ は(先ほど出てきた $`U`$ とは別で)忘却関手です。

$`\quad U : \CatOf{\T{Field}} \to \CatOf{\T{IntegralDomain}} \In \mbf{CAT}`$

事前に、忘却関手 $`U`$ については知っているものとします。また、名前 $`U`$ のコンフリクト〈かち合い〉に対する適切な処理もされているとします*1

上記の $`\T{MapToField}`$ という指標には、パラメータのラベル $`R`$ 以外に、2つのラベル $`K, f`$ が出てきます。整域 $`R`$ を何かに決めた〈固定した〉とき、$`(K, f)`$ の実例の全体は集合になりますが、それだけでなく、射を追加して圏を構成できます*2。つまり、次のような関数を作れるのです。

$`\quad \ClassOf{\T{IntegralDomain}} \ni R \mapsto \CatOf{\T{MapToField}(R) }`$

この関数のラムダ式による記述とプロファイルは次のようです。

$`\quad \lambda\, R\in \ClassOf{\T{IntegralDomain}}.\, \CatOf{\T{MapToField}(R) } \\
\qquad : \ClassOf{\T{IntegralDomain}} \to |\mbf{CAT}| \In \mathbb{SET}
`$

とある整域 $`R`$〈a $`\T{IngegralDomain}\:R`$〉に対するである
$`\quad \CatOf{\T{MapToField}(R) } `$
は圏です。この値に、圏に関する概念や構成を適用することができます。

一般に、圏 $`\cat{C}`$ の始対象の集合を $`\mrm{Initial}(\cat{C})`$ とします。$`\mrm{Initial}(\hyp)`$ も関数です。値は対象達の集合ですが空集合かも知れません。この関数 $`\mrm{Initial}`$ を使って、次のような関数を定義できます。

$`\quad \ClassOf{\T{IntegralDomain}} \ni R \mapsto \mrm{Initial}(\CatOf{\T{MapToField}(R) })
`$

この関数に $`\T{'candidate "field of fractions"'}`$ という名前を付けます。

$`\quad \T{'candidate "field of fractions"'} : \ClassOf{\T{IntegralDomain}} \to |\mbf{SET}| \In \mathbb{SET}`$

注意すべきは、関数 $`\T{'candidate "field of fractions"'}`$ は集合を値とする関数であることです。可能性としては次の場合があり得ます。

  • 集合 $`\T{'candidate "field of fractions"'}(R)`$ は空集合である。
  • 集合 $`\T{'candidate "field of fractions"'}(R)`$ はたくさんの要素を持つ。

一意的に圏 $`\CatOf{\T{MapToField}(R) }`$ の対象が対応してることは保証できません。ただし、集合 $`\T{'candidate "field of fractions"'}(R)`$ が要素を持てば、その要素は“$`R`$ の分数体”の候補にはなっています。その意味で、関数 $`\T{'candidate "field of fractions"'}`$ は、各整域に対してその分数体の候補達を提示する関数です。

分数体の候補の実例

$`\mbf{Z}`$ は、(単なる集合ではなくて)整域の圏 $`\CatOf{\T{IntegralDomain}}`$ の対象だとします。整域 $`\mbf{Z}`$ に対して、パラメータを具体化した指標 $`\T{MapToField}(\mbf{Z})`$ を考えることができます。それは次の指標です。

{
  $`K \in \ClassOf{\T{Field}}`$
  $`f: \mbf{Z} \to U(K) \In \CatOf{\T{IntegralDomain}}`$
}

この指標から集合 $`\ClassOf{\T{MapToField}(\mbf{Z})}`$ が作れます。この集合の要素には、例えば次があります。

  1. $`i: \mbf{Z} \to U(\mbf{Q}) \In \CatOf{\T{IntegralDomain}}`$
  2. $`j: \mbf{Z} \to U(\mbf{C}) \In \CatOf{\T{IntegralDomain}}`$

一番目は、整数を有理数とみなす標準的な写像です。ニ番目は、整数を複素数とみなす標準的な写像です。これらは、整域としての準同型写像となります。

上記の $`i, j`$ は、圏 $`\CatOf{\T{MapToField}(\mbf{Z})}`$ の(射ではなくて)対象です。次は、対象 $`i`$ から 対象 $`j`$ への、圏 $`\CatOf{\T{MapToField}(\mbf{Z})}`$ の射です。

$`\quad \xymatrix{
\mbf{Z} \ar[r]^i \ar@{=}[d]
& U(\mbf{Q}) \ar[d]^k
\\
\mbf{Z} \ar[r]_j
& U(\mbf{C})
}\\
\quad \text{commutative in }\CatOf{\T{IntegralDomain}}
`$

ここで $`k`$ は、有理数を複素数とみなす標準的な写像です。圏 $`\CatOf{\T{MapToField}(\mbf{Z})}`$ で考えれば:

$`\quad k: i \to j \In \CatOf{\T{MapToField}(\mbf{Z})}`$

$`i = (\mbf{Q}, i)`$ から $`j = (\mbf{C}, j)`$ への射はたくさんあるわけではなくて、$`k`$ だけしかありません。これは、$`j`$ に限らず、他の $`\CatOf{\T{MapToField}(\mbf{Z})}`$ の対象についても同様で、$`i`$ は始対象になっています(詳細は割愛)。

ただし、圏の始対象は、ほんとに〈on the nose で〉一意的に決まるモノではありません。$`i`$ は“始対象のひとつ”であることは確かなので次は言えます。

$`\quad i \in \T{'candidate "field of fractions"'}(\mbf{Z})`$

ヒルベルトのイプシロン記号

候補達の集合から一つの要素を選びたいなら、ヒルベルトのイプシロン記号の出番です。イプシロン記号については、指標ほどではないにしろ、12の過去記事で言及しています。

とりあえず、次の2つの過去記事を読めばイプシロン記号はわかると思います。

集合 $`S`$ があるとき、集合 $`S`$ の要素をひとつだけ選んで返す超越的関数を $`\varepsilon`$ と書きます。選ばれた要素は $`\varepsilon\, S`$ で表します。$`\varepsilon`$ はヒルベルトのイプシロン記号といいます。イプシロン記号の使用には次の点に注意する必要があります。

  1. $`S`$ が空集合のとき、$`\varepsilon\, S`$ が何になるかはサッパリ分からない。
  2. $`\varepsilon\, S = \varepsilon\, S `$ (等号の反射性)が保証できない。

$`S`$ が単元集合の場合に限定すれば、$`\varepsilon\, S`$ は一意的に確定するので何の問題も起きません。$`S`$ が単元集合でなくても、どの要素が選ばれても後の議論に影響がないなら $`\varepsilon\, S`$ を使用しても大丈夫です。

使用時に注意が必要なせいか、イプシロン記号は明示的には使われない(実際は暗黙に使っているけど)ことが多いですが、積極的にイプシロン記号を使ったほうが事情がクリアになると思います。

我々の今の文脈では、集合 $`\T{'candidate "field of fractions"'}(R)`$ に対してイプシロン記号を使いたいのです。

分数体その2 の定義

“分数体その2”とは、次のような関数です。

$`\quad \T{'field of fractions no.2'} : \ClassOf{\T{IntegralDomain}} \to \ClassOf{\T{Field}} \In \mbf{SET}`$

整域 $`R`$ に関して、関数 $`\T{'field of fractions no.2'}`$ の値は次のように定義したいと希望しています。

$`\quad \mrm{cod}(\varepsilon\, \T{'candidate "field of fractions"'}(R) )`$

“希望”なのは、この定義が正当なものかどうか現時点では分からないからです。この定義が意味をもつには、次の命題を示す必要があります。

$`\quad \forall R\in \ClassOf{\T{IntegralDomain}}.\, \T{'candidate "field of fractions"'}(R)\ne \emptyset`$

この命題を示すとき、具体的/構成的に定義した関数 $`\T{'field of fractions'}`$ が使えます。整域 $`R`$ に対する体 $`\T{'field of fractions'}(R)`$ と、標準的な埋め込み
$`\quad i_R : R \to U(\T{'field of fractions'}(R))`$
のペアを考えます。すると、このペアは、$`\mrm{Init}(\CatOf{\T{MapToField}}(R) )`$ の要素になっています。要素を持つ集合は空ではありません。

$`\T{'candidate "field of fractions"'}(R)`$ は非空集合となり、イプシロン記号を安全に使えて、関数 $`\T{'field of fractions no.2'}`$ は定義可能です*3

ここで、2つの関数 $`\T{'field of fractions'}`$ と $`\T{'field of fractions no.2'}`$ を別々に定義したのが無意味のように思えるかも知れません。実際、
$`\quad \T{'field of fractions no.2'} := \T{'field of fractions'}`$
としてもかまいません。それでも、この2つの関数は、定義の方針がまったく違うので別々に定義する意味〈意義〉があるのです。「同じ関数としてもかまわなかった」は結果論です。

関数 $`\T{'field of fractions no.2'}`$ の定義の仕方は、“圏論の普遍性による定義”のスタイルに則っています。定義のフレームワークは圏論が与えてくれますが、どこかで具体的構成作業は必要です。具体的構成作業が $`\T{'field of fractions'}`$ の定義だったのです。

一方で、具体的に構成した関数 $`\T{'field of fractions'}`$ の特徴付け・位置付けを“圏論の普遍性によるフレームワーク”が与えてくれます。

おわりに

整域の分数体を事例にしましたが、具体的・構成的な定義と、条件による特徴付けからの定義の両方が出てくることはしばしばあります。異なったアプローチ/スタイルの定義をキチンと区別したり、それらの相互関係を理解するには、指標とイプシロン記号による記述が有効です。

*1:名前のコンフリクトを解消するには、名前空間/名前スコープをキチンと決めます。

*2:圏の作り方が自明というわけではありません。作り方を知っていれば作れるということです。

*3:バンドルの観点から見ると、セクション〈スコーレム関数〉を持つバンドルはすべてのファイバーが空でないことです。