INTRODUCTION
This theorem can be used as a shortcut in proofs about pairs of real numbers. Suppose you want to prove that, for all real numbers x and y, property P(x,y) is true. We can begin our proof by assumeing WITHOUT LOSS OF GENERALITY (WLOG) that x <= y. This means that we need to consider ONLY this case. If property P is symmetric, the following theorem tells us that we do NOT to consider the other case, namely that y <= x. It can save you several lines of proof.
WLOG can apparently be formally applied in many of situations. Here we discuss one of them.
References:
https://en.wikipedia.org/wiki/Without_loss_of_generality
https://www.cl.cam.ac.uk/~jrh13/papers/wlog.pdf
THEOREM
ALL(a):ALL(b):[a in r & b in r => [P(a,b) <=> P(b,a)]] <--- Property P is symmetric on the real numbers
& ALL(a):ALL(b):[a in r & b in r => [a<=b => P(a,b)]] <--- P(a,b) holds for a<=b
=> ALL(a):ALL(b):[a in r & b in r => P(a,b)] <--- P(a,b) holds for all real numbers and b
Required property of <= on the reals:
1 ALL(a):ALL(b):[a in r & b in r => a<=b | b<=a]
Axiom
Suppose:
2 ALL(a):ALL(b):[a in r & b in r => [P(a,b) <=> P(b,a)]]
& ALL(a):ALL(b):[a in r & b in r => [a<=b => P(a,b)]]
Premise
Symmetry of P:
3 ALL(a):ALL(b):[a in r & b in r => [P(a,b) <=> P(b,a)]]
Split, 2
P holds for (a,b)
4 ALL(a):ALL(b):[a in r & b in r => [a<=b => P(a,b)]]
Split, 2
Suppose:
5 x in r & y in r
Premise
6 x in r
Split, 5
7 y in r
Split, 5
8 ALL(b):[x in r & b in r => x<=b | b<=x]
U Spec, 1
9 x in r & y in r => x<=y | y<=x
U Spec, 8
Two cases to consider:
10 x<=y | y<=x
Detach, 9, 5
Case 1
Suppose:
11 x<=y
Premise
12 ALL(b):[x in r & b in r => [x<=b => P(x,b)]]
U Spec, 4
13 x in r & y in r => [x<=y => P(x,y)]
U Spec, 12
14 x<=y => P(x,y)
Detach, 13, 5
15 P(x,y)
Detach, 14, 11
Case 1
As Required:
16 x<=y => P(x,y)
Conclusion, 11
Case 2
Suppose:
17 y<=x
Premise
18 ALL(b):[y in r & b in r => [y<=b => P(y,b)]]
U Spec, 4
19 y in r & x in r => [y<=x => P(y,x)]
U Spec, 18
20 y in r & x in r
Join, 7, 6
21 y<=x => P(y,x)
Detach, 19, 20
22 P(y,x)
Detach, 21, 17
23 ALL(b):[y in r & b in r => [P(y,b) <=> P(b,y)]]
U Spec, 3
24 y in r & x in r => [P(y,x) <=> P(x,y)]
U Spec, 23
25 P(y,x) <=> P(x,y)
Detach, 24, 20
26 [P(y,x) => P(x,y)] & [P(x,y) => P(y,x)]
Iff-And, 25
27 P(y,x) => P(x,y)
Split, 26
28 P(x,y)
Detach, 27, 22
Case 2
As Required:
29 y<=x => P(x,y)
Conclusion, 17
30 [x<=y => P(x,y)] & [y<=x => P(x,y)]
Join, 16, 29
31 P(x,y)
Cases, 10, 30
As Required:
32 ALL(a):ALL(b):[a in r & b in r => P(a,b)]
Conclusion, 5
As Required:
33 ALL(a):ALL(b):[a in r & b in r => [P(a,b) <=> P(b,a)]]
& ALL(a):ALL(b):[a in r & b in r => [a<=b => P(a,b)]]
=> ALL(a):ALL(b):[a in r & b in r => P(a,b)]
Conclusion, 2
Dan
Download my DC Proof 2.0 freeware at
http://www.dcproof.com
Visit my Math Blog at
http://www.dcproof.wordpress.com