埃及文明源自何处至今未知,但它肯定在公元前4000年之前就已存在。说起埃及,就不得不说尼罗河,这条河把南方的水一年一度地泛滥到沿河两岸之后留下沃土,古埃及人一直靠耕种这片沃土谋生。这国家的其余部分是荒漠。每次泛滥后国家就需要重新测量土地,他们用正方形作为土地的面积单位,为了计算方便,把土地分为矩形(长方形)。像土地那么大尺寸,如何保证他们划分的土地块是矩形呢?
据说,古埃及人用下图
的方法作出直角:把一根长绳打上等距离的13个结,然后以3个结间距、4个结间距、5个结间距的长度为边长,用木桩钉成一个三角形,其中一个角便是直角。这样就能划分土地为矩形,面积的计算就更精确了。
这意味着古埃及人知道(3, 4, 5)这个勾股数(毕达哥拉斯三元数值)来确定一个直角。他们怎么会确信这个角是直角呢?
我想,他们在实践中已悟出了一个道理:确定长度的三条边只能围成相同的三角形——三角形稳定性。
(3, 4, 5)这个勾股数比较小,在长期的土地测试中是很容易发现的,因此他们使用这个勾股数来确定直角就不足为奇了。
相传,我国古代大禹治水测量工程时,也用类似方法确定直角,也有一定的可信度。
在生产活动中对勾股数的长期使用,人们可能会积累更多的勾股数,例如(5, 12, 13)、(8, 15, 17)这些小的勾股数是极其容易被发现的。
从这些勾股数的关系
3²+4²=5²,
5²+12²=13²,
8²+15²=17²
提出了上一节课的命题1(勾股定理)。勾股定理对上面的勾股数实际应用显然描述不直接,于是人们把命题1的题设(条件)和结论(结果)调过来。
命题2 如果三角形的三边长a,b,c满足a²+b²=c²,那么这个三角形是直角三角形。
我们看到,命题2与上节的命题1的题设、结论位置正好相反。我们把像这样的两个命题叫做互逆命题。如果把其中一个叫做原命题,那么另一个叫做它的逆命题。例如,如果把命题1当成原命题,那么命题2是命题1的逆命题。
上节已证明命题1(勾股定理)正确,那么命题2一定正确吗?下面举个例子说明。
原命题:人都会呼吸。题设:人,结论:会呼吸。
逆命题:会呼吸都是人。题设:会呼吸,结论:人。
原命题是正确的,但逆命题是错误的。这个说明,虽然我们证明了命题1(勾股定理)正确,但这不能说明它的逆命题——命题2一定正确。
上一节课我们提到了证明是什么,但没有详细的讨论,这里对证明进行一些简要的说明。
我们从著名的亚里士多德三段论开始。
大前提:人都会死。
小前提:苏格拉底是人。
结论:苏格拉底会死。
大前提是对一大类事物的判断,小前提是小类或个体属于大类的判断,结论是小类或个体也有同样的判断——演绎法。这是数学证明里使用最多的方法。
另外,也不得不说亚里士多德的排中律。
正命题:Ta是人。
反命题:Ta不是人。
在正命题和反命题中有而且只有1个命题是正确的——排中律。用上面的例子,如果“Ta是人”是正确的,那“Ta不是人”是错误的;如果“Ta是人”是错误的,那“Ta不是人”是正确的;如果“Ta不是人”是正确的,那“Ta是人”是错误的;如果“Ta不是人”是错误的,那“Ta是人”是正确的。
排中律是人类最容易理解的思维方式,但容易出错。这往往会被诡辩者利用。下面是个简单的例子(诡辩者的情况要复杂得多):
张三是教授。
李四是工人。
王五不是工人。
结论:王五是教授。
也许你明知道他的结论是错误的,就不知道怎么反驳他。如果不细想也容易被忽悠,接受错误的思想。就这个例子,因为除了教授不是工人外,还有很多职业不是工人,例如医生,王五不是工人,只是说明他可能是教授而不能肯定他是教授。
再举个例子。
正命题:他那里现在是黑夜。
反命题:他那里现在不是黑夜。
因为他那里现在不是黑夜,所以他那里现在是白天。
黑夜和白天是对立,这里例子把排中律当做对立来处理是不对的。因为除了白天不是黑夜,还有极昼,太空也没有昼夜之分。
排中律,就是把一个整体的范围一分为二,该范围内的事物不是属于这个范围就是属于那个范围,没有中间的情况。例如:是人和不是人合起来是1个整体;是工人和不是工人合起来也是1个整体;是黑夜和不是黑夜合起来也是1个整体。总的来说,只有“是……”和“不是……”合起来才符合排中律。
排中律也在数学证明中使用——归谬法,也叫反证法。
演绎法、归谬法(反证法)就是我们数学里用到的证明方法。
命题2分析:以a,b为直角边作一个直角三角形,根据勾股定理可得到它的斜边是c,这样三边与命题2的三角形三边分别相等,只要能证明三边分别相等的两个三角形相等就行了。我们可以采用反证法证明三边分别相等的两个三角形相等。
命题2证明:(1)假设三边分别为a,b,c的两个△ABC(AB=a,AC=b,BC=c)和△A'B'C'(A'B'=a,A'C'=b,B'C'=c)不相等。不失一般性,设∠ABC>∠A'B'C',使两个△的BC边和B'C'边重叠在一起(即B与B'重叠,C与C’重叠),A和A'在BC的同一侧,那么A'的位置有三种情况:下图1(A'在△ABC内)、下图2(A'在AC边上,不包括A、C点)、下图3(A'在△ABC外)。作图代码附录1。
图1:A'在△ABC内,过A'点,作线段交于AB和AC与M和N点,由于
AM+AN>MN ①
MB+MA'>A'B' ②
NC+NA'>A'C' ③
MA'+NA'=MN ④
把④代入①得
AM+AN>MA'+NA' ⑤
②、③、⑤左右分别相加
MB+MA'+NC+NA'+AM+AN>A'B'+A'C'+MA'+NA'
(AM+MB)+(AN+NC)+(MA'+NA')>A'B'+A'C'+(MA'+NA')
两边减(MA'+NA')得
AB+AC>A'B'+A'C'
和条件
AB=A'B',AC=A'C'
相矛盾,所以A'在△ABC内是不可能的。
图2:A'在AC边上,即A'C'是AC的一部分,即
A'C'+A'A=AC,
这与A'C'=AC相矛盾,所以A'在AC边上也是不可能的。
图3:A'在△ABC外,设B'A'与AC交于O点,则
OA+OB'>AB ⑥
OA'+OC>A'C' ⑦
⑥、⑦左右分别相加,得
OA+OB'+OA'+OC>AB+A'C'
(OA+OC)+(OB'+OA')>AB+A'C'
AC+A'B'>AB+A'C'
这与A'C'=AC和AB=A'B'相矛盾,A'在△ABC外也是不可能的。
综合上述,得到三边分别为a,b,c的两个△ABC(AB=a,AC=b,BC=c)和△A'B'C'(A'B'=a,A'C'=b,B'C'=c)不相等是不可能的,(排中律)所以三边分别为a,b,c的两个△ABC(AB=a,AC=b,BC=c)和△A'B'C'(A'B'=a,A'C'=b,B'C'=c)相等。
(2)以a,b为直角边作三角形,根据勾股定理,斜边c'必然符合
a²+b²=c'²。
又由于
a²+b²=c²,
得
c'²=c²。
由于c'和c都是正数,所以
c'=c。
即这两个三角形的三边都分别相等,由(1)可知它们是相等的三角形,所以a和b的夹角也是直角。
命题2证毕。
这样我们证明了勾股定理的逆命题是正确的,它也是一个定理。我们把这个定理叫做勾股定理的逆定理。它是判定直角三角形的一个依据。
一般地,如果一个定理的逆命题经过证明是正确的,那么它也是一个定理,称这两个定理互为逆定理。所以勾股定理的逆定理的逆定理是勾股定理。
例题1:我们知道3,4,5是一组勾股数,那么3k,4k,5k(k是正整数)也是一组勾股数吗?一般地,如果a,b,c是一组勾股数,那么ak,bk,ck(k是正整数)也是一组勾股数吗?
解:
(1)
∵ (3k)²+(4k)²=9k²+16k²=25k²=(5k)²,
∴ 3k,4k,5k(k是正整数)也是一组勾股数。
(2)
∵ (ak)²+(bk)²=a²k²+b²k²=(a²+b²)k²=c²k²=(ck)²,
∴ ak,bk,ck(k是正整数)也是一组勾股数。
由上一例可知,勾股数是三个数的比例,例如3,4,5是一组勾股数,就是说,边长是3:4:5的三角形是直角三角形。
练习题1:有连续的一对正整数b和c,它们的和是一个平方数,是否存在一个正整数a,使a,b,c能构成一个直角三角形?
练习题2:有一对不同的正整数b和c(c>b),它们的和(c+b)是它们的差(c-b)的2k+1(k是正整数)次方,是否存在一个正整数a,使a,b,c能构成一个直角三角形?
附录1:
import turtle as t
t.setup(800,300)
t.screensize(700,200)
t.up()
for i in range(3):
t.setpos(-250+i*250, -120)
t.write("图"+str(i+1),align="center",font=("Arial", 14, "normal"))
t.setpos(-315+i*250, -90)
t.write("B B'",align="right",font=("Arial", 14, "normal"))
t.setx(-185+i*250)
t.write("C C'",font=("Arial", 14, "normal"))
t.setpos(-230+i*250, 75)
t.write("A",align="center",font=("Arial", 14, "normal"))
t.setpos(-315+i*250, -70)
t.down()
t.setx(-185+i*250)
t.setpos(-230+i*250, 70)
t.setpos(-315+i*250, -70)
if i==0:
t.setpos(-230,20)
t.setpos(-185+i*250,-70)
#作过A'点,与AB和AC分别交于M和N点的线段。
t.up()
L=50*130/140
X=-230-L*85/130
t.setpos(X-5, 10)
t.write("M",align="right",font=("Arial", 14, "normal"))
t.setpos(X, 20)
t.seth(0)
d=0
while d<L:
t.down()
t.fd(2.5)
t.up()
t.fd(2.5)
d+=5
t.setpos(t.pos()[0]+5, 10)
t.write("N",font=("Arial", 14, "normal"))
elif i==1:
t.setpos(26, 49)
else:
t.setpos(295, 50)
t.setpos(-185+i*250,-70)
t.up()
t.setpos(270, 25)
t.write("O",align="center",font=("Arial", 14, "normal"))
t.up()
t.setpos(-230, 25)
t.write("A'",align="center",font=("Arial", 14, "normal"))
t.setpos(30, 49)
t.write("A'",font=("Arial", 14, "normal"))
t.setpos(300, 50)
t.write("A'",font=("Arial", 14, "normal"))
t.ht()