Step | Hyp | Ref | Expression |
1 |
|
hyp h1 |
G -> a <= b |
2 |
|
add0 |
a + 0 = a |
3 |
|
addeq2 |
x = 0 -> a + x = a + 0 |
4 |
3 |
anwr |
G /\ a + x = b /\ x = 0 -> a + x = a + 0 |
5 |
|
anlr |
G /\ a + x = b /\ x = 0 -> a + x = b |
6 |
4, 5 |
eqtr3d |
G /\ a + x = b /\ x = 0 -> a + 0 = b |
7 |
2, 6 |
syl5eqr |
G /\ a + x = b /\ x = 0 -> a = b |
8 |
|
exsuc |
x != 0 <-> E. y x = suc y |
9 |
8 |
conv ne |
~x = 0 <-> E. y x = suc y |
10 |
|
hyp h2 |
G -> b <= a |
11 |
10 |
anwl |
G /\ a + x = b -> b <= a |
12 |
11 |
anwl |
G /\ a + x = b /\ x = suc y -> b <= a |
13 |
|
absurd |
~suc (y + z) = 0 -> suc (y + z) = 0 -> a = b |
14 |
|
peano1 |
suc (y + z) != 0 |
15 |
14 |
conv ne |
~suc (y + z) = 0 |
16 |
15 |
a1i |
G /\ a + x = b /\ x = suc y /\ b + z = a -> ~suc (y + z) = 0 |
17 |
|
addS1 |
suc y + z = suc (y + z) |
18 |
|
anlr |
G /\ a + x = b /\ x = suc y /\ b + z = a -> x = suc y |
19 |
18 |
addeq1d |
G /\ a + x = b /\ x = suc y /\ b + z = a -> x + z = suc y + z |
20 |
|
addcan2 |
a + (x + z) = a + 0 <-> x + z = 0 |
21 |
|
eqcom |
a + x + z = a + (x + z) -> a + (x + z) = a + x + z |
22 |
|
addass |
a + x + z = a + (x + z) |
23 |
21, 22 |
ax_mp |
a + (x + z) = a + x + z |
24 |
|
anlr |
G /\ a + x = b /\ x = suc y -> a + x = b |
25 |
24 |
anwl |
G /\ a + x = b /\ x = suc y /\ b + z = a -> a + x = b |
26 |
25 |
addeq1d |
G /\ a + x = b /\ x = suc y /\ b + z = a -> a + x + z = b + z |
27 |
|
anr |
G /\ a + x = b /\ x = suc y /\ b + z = a -> b + z = a |
28 |
26, 27 |
eqtrd |
G /\ a + x = b /\ x = suc y /\ b + z = a -> a + x + z = a |
29 |
23, 2, 28 |
eqtr4g |
G /\ a + x = b /\ x = suc y /\ b + z = a -> a + (x + z) = a + 0 |
30 |
20, 29 |
sylib |
G /\ a + x = b /\ x = suc y /\ b + z = a -> x + z = 0 |
31 |
19, 30 |
eqtr3d |
G /\ a + x = b /\ x = suc y /\ b + z = a -> suc y + z = 0 |
32 |
17, 31 |
syl5eqr |
G /\ a + x = b /\ x = suc y /\ b + z = a -> suc (y + z) = 0 |
33 |
13, 16, 32 |
sylc |
G /\ a + x = b /\ x = suc y /\ b + z = a -> a = b |
34 |
33 |
eexda |
G /\ a + x = b /\ x = suc y -> E. z b + z = a -> a = b |
35 |
34 |
conv le |
G /\ a + x = b /\ x = suc y -> b <= a -> a = b |
36 |
12, 35 |
mpd |
G /\ a + x = b /\ x = suc y -> a = b |
37 |
36 |
eexda |
G /\ a + x = b -> E. y x = suc y -> a = b |
38 |
9, 37 |
syl5bi |
G /\ a + x = b -> ~x = 0 -> a = b |
39 |
38 |
imp |
G /\ a + x = b /\ ~x = 0 -> a = b |
40 |
7, 39 |
casesda |
G /\ a + x = b -> a = b |
41 |
40 |
eexda |
G -> E. x a + x = b -> a = b |
42 |
41 |
conv le |
G -> a <= b -> a = b |
43 |
1, 42 |
mpd |
G -> a = b |