整数解决了减法问题:对任意整数 a,b,方程 x+b=a 都有整数解。除法带来了下一个障碍。方程 2x=1 没有整数解,所以 Z 对非零元素的除法不封闭。我们构造 Q,使 a,b∈Z 且 b=0 时,方程 bx=a 都有解。
上一个构造把表示同一差值的有序对识别为同一对象;这里则识别表示同一商的有序对。先定义这些有序对何时相等,再检验运算与逆元,最后定义次序。每一步都围绕同一个问题:结果取决于有理数本身,还是仅仅取决于所选的代表元?
为什么需要商集
分数
21,42,−6−3
都表示同一个有理数。若要只用整数资料来构造 Q,那么这些表示法就必须在构
造中自动被识别为同一个元素。
因此,我们不把一个有理数定义成单个有序对,而是定义成一整个等价类,把所有
代表同一商的整数对放在一起。
定义
用等价类构造有理数
令
Y=Z×(Z∖{0}).所以 Y 的元素是有序对 (a,b),其中 a∈Z 且 b∈Z∖{0}。
在 Y 上定义关系 ∼Q:
(a,b)∼Q(c,d)⟺ad=bc.有理数集合定义为商集
Q=Y/∼Q.(a,b) 的等价类记作 [(a,b)],它在非正式记号上对应分数 a/b。
第二个坐标必须非零,因为这个构造本来就是要描述商。若 b=0,那么 (a,b)
便无法代表任何有理数。
这个关系为什么合理
等式 ad=bc 正是我们熟悉的交叉相乘判准。在商集构造里,这个熟悉的判准不
再只是性质,而是直接成为“两组代表是否表示同一个有理数”的定义。
定理
∼Q 是等价关系
由
(a,b)∼Q(c,d)⟺ad=bc所定义的关系,在 Y 上是自反、对称、传递的等价关系。
证明:∼Q 是等价关系
自反性来自 ab=ba,所以 (a,b)∼Q(a,b)。
对称性也直接成立:若 ad=bc,则 cb=da,所以 (c,d)∼Q(a,b)。
对传递性,假设
(a,b)∼Q(c,d)以及(c,d)∼Q(e,f)
则
ad=bc以及cf=de
把第一式乘上 f,第二式乘上 b,得
adf=bcf,bcf=bde
故 adf=bde。由于 d 非零且 Z 没有零因子,可在 Z 中约去 d,得到
af=be
所以 (a,b)∼Q(e,f),因此该关系具有传递性。
同一个有理数可以有很多代表元
一个等价类包含很多代表元。这不是漏洞,而正是这个构造要保留的信息。
例题
不同有序对可以表示同一个有理数
考虑 (1,2)、(2,4) 和 (−3,−6)。
我们有
1⋅4=2⋅2,1⋅(−6)=2⋅(−3)因此
(1,2)∼Q(2,4)以及(1,2)∼Q(−3,−6)所以三者都属于同一个有理数:
[(1,2)]=[(2,4)]=[(−3,−6)]这正是
21=42=−6−3在商集语言中的写法。
记住一点很重要:有理数不会因为你换了代表元而改变。若同时把两个坐标乘上一
个非零整数,你只是改写了表示法,并没有得到新的有理数。
约分代表元与 Euclidean algorithm
商构造解释了为什么许多整数对可以表示同一个有理数。不过在实际计算时,
选一个较简洁的代表元仍然很有用。若 a 和 b 的最大公因数是 g>0,
那么
[(a,b)]=[(a/g,b/g)].
Euclidean algorithm 用反复除法和余数来找出这个 g。这不是有理数的新
定义,而是在同一个等价类里选取较简洁代表元的方法。
例题
用 Euclidean algorithm 约分代表元
考虑 [(84,30)]。Euclidean algorithm 给出
84=2⋅30+24,30=1⋅24+6,24=4⋅6+0.所以 gcd(84,30)=6,并且
[(84,30)]=[(14,5)].两个整数对表示同一个有理数,因为 84⋅5=30⋅14。
在 Q 上定义运算
等价类定好之后,下一步便是在等价类本身上定义加法与乘法。
定义
Q 上的加法、乘法与逆元
对 Q 中的等价类,定义
[(a,b)]+[(c,d)]:=[(ad+bc,bd)]以及
[(a,b)]⋅[(c,d)]:=[(ac,bd)]加法逆元定义为
−[(a,b)]:=[(−a,b)]若 a=0,则乘法逆元定义为
[(a,b)]−1:=[(b,a)]
这些公式都写在代表元上,因此每一条都要先检查良定性。否则,公式的结果可能
会依赖你选择了哪一个代表元,而不是只依赖那个有理数本身。
检验代表元之前,先检查输出的定义域。由 b,d=0 及 Z 没有零因子,加法和乘法的分母 bd 都非零。求逆元时,额外条件 a=0 才保证 (b,a) 是有效的有序对。这是两项不同的要求:公式既要给出合法对象,也要保证该对象不依赖代表元。
“良定”到底是什么意思
若一条写在等价类上的公式在更换代表元之后仍给出同一个等价类,我们就说它
良定。
以加法为例,需要证明的是:
若 (a,b)∼Q(a′,b′) 且 (c,d)∼Q(c′,d′),则
(ad+bc,bd)∼Q(a′d′+b′c′,b′d′)
定理
Q 上的加法是良定的
若 (a,b)∼Q(a′,b′) 且 (c,d)∼Q(c′,d′),则
[(ad+bc,bd)]=[(a′d′+b′c′,b′d′)]因此,加法公式不会依赖所选代表元。
证明:Q 上的加法是良定的
假设
ab′=ba′以及cd′=dc′
我们要证明
(ad+bc,bd)∼Q(a′d′+b′c′,b′d′)
按 ∼Q 的定义,只需证明
(ad+bc)b′d′=(a′d′+b′c′)bd
左边展开为
adb′d′+bcb′d′
由 ab′=ba′,第一项可写成
adb′d′=ba′dd′
由 cd′=dc′,第二项可写成
bcb′d′=bdb′c′
因此
(ad+bc)b′d′=ba′dd′+bdb′c′=(a′d′+b′c′)bd
故
(ad+bc,bd)∼Q(a′d′+b′c′,b′d′)
即加法是良定的。
例题
先按等价类计算,再在概念上化简
令
x=[(1,2)],y=[(1,3)]则
x+y=[(1⋅3+2⋅1,2⋅3)]=[(5,6)]又有
x⋅y=[(1⋅1,2⋅3)]=[(1,6)]若把 x 改写成等价代表 [(2,4)],同一公式会给出
[(2,4)]+[(1,3)]=[(10,12)]以及
[(2,4)]⋅[(1,3)]=[(2,12)]这两个类分别与 [(5,6)] 和 [(1,6)] 表示同一个有理数,因此等价类上的
运算确实与所选代表元无关。
乘法与逆元也需要同一套纪律
加法证明展示了基本方法。乘法虽然更短,却仍然必须明确检查,因为输入是等价类,
而不是某个特权分数。
为什么 Q 上的乘法是良定的
假设
(a,b)∼Q(a′,b′)以及(c,d)∼Q(c′,d′)
这两个假设表示
ab′=ba′以及cd′=dc′
使用 ∼Q 的定义,需要证明
(ac)(b′d′)=(bd)(a′c′)
左边可以因式分解为
(ac)(b′d′)=(ab′)(cd′)=(ba′)(dc′)=(bd)(a′c′)
因此 (ac,bd)∼Q(a′c′,b′d′),乘法公式确实从有序对下降到有理数类。
定理
每个非零有理数都有唯一的乘法逆元
若 q∈Q 且 q=0,则存在唯一的 q−1∈Q 使
q⋅q−1=[(1,1)]
证明:有理数逆元的存在性与唯一性
写 q=[(a,b)],其中 b=0。条件 q=0 表示 a=0,所以 [(b,a)]
是合法的有理数类。于是
[(a,b)]⋅[(b,a)]=[(ab,ba)]=[(1,1)]
因为整数乘法满足 ab=ba。
若 [(u,v)] 是另一个逆元,则
[(u,v)]⋅[(a,b)]=[(1,1)]
表示 (ua,vb)∼Q(1,1),所以 ua=vb。这正是 (u,v)∼Q(b,a) 的
条件。因此任何逆元都代表同一个类 [(b,a)]。
例题
不改变等价类地求一个负有理数的逆元
令 q=[(−3,5)]。由于分子非零,
q−1=[(5,−3)]两者的乘积为
[(−3,5)]⋅[(5,−3)]=[(−15,−15)]=[(1,1)]逆元的第二个坐标非零;把两个坐标同时乘以 −1 也不会改变等价类。因此即使
选择了负分母,计算仍然成立。
常见错误
求逆元前必须确认分子非零
公式 [(a,b)]−1=[(b,a)] 只有在 a=0 时才有效。若 a=0,那么
[(b,a)] 的第二个坐标为零,不属于 Y;零也没有乘法逆元。
这个构造怎样解决除法问题
整数通过 j(n)=[(n,1)] 进入新数系。这个映射是单射:[(m,1)]=[(n,1)] 表示 m⋅1=1⋅n,因此 m=n。运算公式还给出
j(m)+j(n)=j(m+n),j(m)j(n)=j(mn).
所以原有的整数算术得到保留。更关键的是,当 a,b∈Z 且 b=0 时,等价类 x=[(a,b)] 满足
j(b)x=[(ba,b)]=[(a,1)]=j(a).
中间的等号来自交叉乘积检验。这就回答了开头的问题:商集构造提供了 bx=a 的解,同时让原来的整数在 Q 中保持可识别。
不是每条写在代表元上的公式都能下降到 Q
一旦你开始用等价类思考,就应该对任何直接写在代表元上的关系或运算保持警惕。
例如,考虑以下几种候选规则,作用在 [(p,q)] 与 [(m,n)] 上:
- 比较 p 与 m;
- 比较 pn−qm 的正负;
- 比较 (pn−mq)nq 的正负。
前两条都不能在 Q 上良定,因为更换代表元之后,真值可能改变。第三条则把分
母符号的变化一并补偿,因此在更换代表元后仍保持不变。
例题
为什么分母的符号不能忽略
比较 [(1,2)] 与 [(0,1)]。分子规则给出 1>0,而原始交叉差为 1⋅1−0⋅2=1。把 (1,2) 换成表示同一类的 (−1,−2) 后,分子比较变成 −1>0,由真变假,原始交叉差也变成 −1。
有理数保持不变,两条候选规则却改变了结果。符号修正后的表达式仍为正:两次分别得到 1⋅2=2 与 (−1)⋅(−2)=2。它补偿了分母的符号,而不是忽略这个符号。
次序:选取正分母
运算现在已经定义在有理数类上。比较这些类时,先选正分母代表元:若 b<0,就把 (a,b) 换成 (−a,−b)。对 b,d>0,定义
ba<dc⟺ad<bc.
右边使用已经在 Z 中建立的次序。正号条件不可省略,因为不等式乘以负分母时会反向。
证明:有理数次序与代表元无关
设 ab′=ba′ 且 cd′=dc′,其中四个分母都为正。于是
ad⋅b′d′=a′d′⋅bd,bc⋅b′d′=b′c′⋅bd.
将 ad<bc 两边乘以正数 b′d′,再代入上述等式,得 a′d′⋅bd<b′c′⋅bd。约去正数 bd 就得 a′d′<b′c′。反向论证相同,因此比较结果不变。
由 Z 的三歧性,a/b<c/d、a/b=c/d 与 c/d<a/b 恰有一个成立。证明传递性时,取 b,d,f>0。若 ad<bc 且 cf<de,则
adf<bcf<bde.
约去正数 d 得 af<be,所以 a/b<e/f。这样,有理数次序律便从整数次序推出,而每一个符号条件都明确保留。
探究哪些比较保持不变
理解这个问题最快的方法,是把几条候选规则放到同一对有理数的不同代表元上
测试。下面的面板中,有理数一直是 1/2 与 1/3;改变的只是它们的代表元。
边读边试
测试 Q 上公式是否依赖代表元
这个 lab 比较多条写在代表元上的公式,让读者直接看见哪些公式能通过更换分数代表元的测试。
把 1/2 表示为
把 1/3 表示为
原始交叉差:pn - mq > 0
1·3 - 1·2 = 1
真
修正分母符号:(pn - mq)nq > 0
(1)·(6) = 6
真
真正定义在 Q 上的关系,必须在每一次合法更换代表元后给出同一个真值。如果
输出只因 1/2 写成 (1,2)、(2,4) 或 (−1,−2) 而改变,该公式就不能
下降到商集。
思考检查
为什么乘法良定性证明使用两个交叉乘积等式,而不是依赖小数直觉?
解答 · 答案
同一个有理数有很多代表元。交叉乘积等式正是识别这些代表元的定义条件,所以在
证明良定性时可以安全地代入这些等式。
常见错误
常见错误
等价类不是某一个特权分数
[(1,2)]、[(2,4)] 和 [(−3,−6)] 这三个记号表示同一个等价类,因此表示同一个有理数。
三个有序对 (1,2)、(2,4) 和 (−3,−6) 才是这个等价类的不同代表元。
常见错误
看起来合理的公式,不代表一定良定
一条写在有序对上的公式,即使形式自然,也可能无法下降到商集。在 Q 上定义运算时,
必须检查更换为等价的代表元之后,运算结果是否仍属于同一等价类;定义关系时,
则必须检查关系的真值是否保持不变。
快速检查
思考检查
假设允许分母为零。用 (1,0)、(0,0) 与 (0,1) 证明交叉乘积关系不再具有传递性。
先检验相邻两对之间的关系,再直接比较第一对与第三对。
解答 · 参考解答
在整个 Z2 上,交叉乘积检验会给出 (1,0)∼(0,0) 与 (0,0)∼(0,1),因为两次都化为 0=0。但 (1,0)∼(0,1) 要求 1=0,并不成立。因此传递性失败。排除零分母是保证商集构造有效的一部分,而不只是求逆元时才需要的限制。
思考检查
对满足 a=0 的有理数类 [(a,b)],证明交换两个坐标便得到乘法逆元。同时检验定义域与乘积。
解答 · 答案
由于 a=0,有序对 (b,a) 的第二个坐标非零,因而有效。逆元是 [(b,a)],因为
[(a,b)]⋅[(b,a)]=[(ab,ba)]=[(1,1)]而 [(1,1)] 正是 Q 中的乘法单位元。
练习
思考检查
为什么把 [(p,q)]≺[(m,n)] 定义为 p 大于 m 的关系不是良定的?
解答 · 引导解答
取 [(1,2)]=[(−1,−2)],并与 [(0,1)] 比较。
若用代表元 (1,2),则 p>m 变成 1>0,为真;若改用等价代表元
(−1,−2),则变成 −1>0,为假。
所以这条规则会依赖代表元的选择,不能定义成 Q 上的关系。
思考检查
设 a,b,k,c∈Z,b>0,a=bk+c 且 0≤c<b。证明 gcd(a,b)=gcd(b,c)。
解答 · 引导解答
设 d 是 a 与 b 的公因子。因为 c=a−bk,同一个 d 也整除 c,
所以 d 是 b 与 c 的公因子。
反过来,若 d 同时整除 b 与 c,则 d 整除 bk+c=a,所以 d 也是
a 与 b 的公因子。
因此两对数的公因子集合相同,最大公因子也相同:
gcd(a,b)=gcd(b,c).
思考检查
证明 Q 上的乘法公式是良定的:若 (a,b)∼Q(a′,b′) 且 (c,d)∼Q(c′,d′),则 (ac,bd)∼Q(a′c′,b′d′)。
解答 · 引导解答
由 (a,b)∼Q(a′,b′) 和 (c,d)∼Q(c′,d′),可知
ab′=ba′,cd′=dc′.要证 (ac,bd)∼Q(a′c′,b′d′),我们需要证明
(ac)(b′d′)=(bd)(a′c′).但
(ac)(b′d′)=(ab′)(cd′)=(ba′)(dc′)=(bd)(a′c′).所以乘法不依赖所选代表元。
相关笔记
先读
3.3 整数与等价类
可回顾上一个商集构造;再读
3.5 Q 的缺口与为什么 sqrt(2) 不是有理数
则可看到有理数系统在完备性上的下一个限制。