Step |
Hyp |
Ref |
Expression |
1 |
|
breq2 |
|- ( x = 0s -> ( z <_s x <-> z <_s 0s ) ) |
2 |
|
oveq1 |
|- ( x = 0s -> ( x -s z ) = ( 0s -s z ) ) |
3 |
2
|
eleq1d |
|- ( x = 0s -> ( ( x -s z ) e. NN0_s <-> ( 0s -s z ) e. NN0_s ) ) |
4 |
1 3
|
imbi12d |
|- ( x = 0s -> ( ( z <_s x -> ( x -s z ) e. NN0_s ) <-> ( z <_s 0s -> ( 0s -s z ) e. NN0_s ) ) ) |
5 |
4
|
ralbidv |
|- ( x = 0s -> ( A. z e. NN0_s ( z <_s x -> ( x -s z ) e. NN0_s ) <-> A. z e. NN0_s ( z <_s 0s -> ( 0s -s z ) e. NN0_s ) ) ) |
6 |
|
breq2 |
|- ( x = y -> ( z <_s x <-> z <_s y ) ) |
7 |
|
oveq1 |
|- ( x = y -> ( x -s z ) = ( y -s z ) ) |
8 |
7
|
eleq1d |
|- ( x = y -> ( ( x -s z ) e. NN0_s <-> ( y -s z ) e. NN0_s ) ) |
9 |
6 8
|
imbi12d |
|- ( x = y -> ( ( z <_s x -> ( x -s z ) e. NN0_s ) <-> ( z <_s y -> ( y -s z ) e. NN0_s ) ) ) |
10 |
9
|
ralbidv |
|- ( x = y -> ( A. z e. NN0_s ( z <_s x -> ( x -s z ) e. NN0_s ) <-> A. z e. NN0_s ( z <_s y -> ( y -s z ) e. NN0_s ) ) ) |
11 |
|
breq2 |
|- ( x = ( y +s 1s ) -> ( z <_s x <-> z <_s ( y +s 1s ) ) ) |
12 |
|
oveq1 |
|- ( x = ( y +s 1s ) -> ( x -s z ) = ( ( y +s 1s ) -s z ) ) |
13 |
12
|
eleq1d |
|- ( x = ( y +s 1s ) -> ( ( x -s z ) e. NN0_s <-> ( ( y +s 1s ) -s z ) e. NN0_s ) ) |
14 |
11 13
|
imbi12d |
|- ( x = ( y +s 1s ) -> ( ( z <_s x -> ( x -s z ) e. NN0_s ) <-> ( z <_s ( y +s 1s ) -> ( ( y +s 1s ) -s z ) e. NN0_s ) ) ) |
15 |
14
|
ralbidv |
|- ( x = ( y +s 1s ) -> ( A. z e. NN0_s ( z <_s x -> ( x -s z ) e. NN0_s ) <-> A. z e. NN0_s ( z <_s ( y +s 1s ) -> ( ( y +s 1s ) -s z ) e. NN0_s ) ) ) |
16 |
|
breq2 |
|- ( x = N -> ( z <_s x <-> z <_s N ) ) |
17 |
|
oveq1 |
|- ( x = N -> ( x -s z ) = ( N -s z ) ) |
18 |
17
|
eleq1d |
|- ( x = N -> ( ( x -s z ) e. NN0_s <-> ( N -s z ) e. NN0_s ) ) |
19 |
16 18
|
imbi12d |
|- ( x = N -> ( ( z <_s x -> ( x -s z ) e. NN0_s ) <-> ( z <_s N -> ( N -s z ) e. NN0_s ) ) ) |
20 |
19
|
ralbidv |
|- ( x = N -> ( A. z e. NN0_s ( z <_s x -> ( x -s z ) e. NN0_s ) <-> A. z e. NN0_s ( z <_s N -> ( N -s z ) e. NN0_s ) ) ) |
21 |
|
n0sge0 |
|- ( z e. NN0_s -> 0s <_s z ) |
22 |
21
|
biantrud |
|- ( z e. NN0_s -> ( z <_s 0s <-> ( z <_s 0s /\ 0s <_s z ) ) ) |
23 |
|
n0sno |
|- ( z e. NN0_s -> z e. No ) |
24 |
|
0sno |
|- 0s e. No |
25 |
|
sletri3 |
|- ( ( z e. No /\ 0s e. No ) -> ( z = 0s <-> ( z <_s 0s /\ 0s <_s z ) ) ) |
26 |
23 24 25
|
sylancl |
|- ( z e. NN0_s -> ( z = 0s <-> ( z <_s 0s /\ 0s <_s z ) ) ) |
27 |
22 26
|
bitr4d |
|- ( z e. NN0_s -> ( z <_s 0s <-> z = 0s ) ) |
28 |
|
oveq2 |
|- ( z = 0s -> ( 0s -s z ) = ( 0s -s 0s ) ) |
29 |
|
subsid |
|- ( 0s e. No -> ( 0s -s 0s ) = 0s ) |
30 |
24 29
|
ax-mp |
|- ( 0s -s 0s ) = 0s |
31 |
|
0n0s |
|- 0s e. NN0_s |
32 |
30 31
|
eqeltri |
|- ( 0s -s 0s ) e. NN0_s |
33 |
28 32
|
eqeltrdi |
|- ( z = 0s -> ( 0s -s z ) e. NN0_s ) |
34 |
27 33
|
biimtrdi |
|- ( z e. NN0_s -> ( z <_s 0s -> ( 0s -s z ) e. NN0_s ) ) |
35 |
34
|
rgen |
|- A. z e. NN0_s ( z <_s 0s -> ( 0s -s z ) e. NN0_s ) |
36 |
|
breq1 |
|- ( z = x -> ( z <_s y <-> x <_s y ) ) |
37 |
|
oveq2 |
|- ( z = x -> ( y -s z ) = ( y -s x ) ) |
38 |
37
|
eleq1d |
|- ( z = x -> ( ( y -s z ) e. NN0_s <-> ( y -s x ) e. NN0_s ) ) |
39 |
36 38
|
imbi12d |
|- ( z = x -> ( ( z <_s y -> ( y -s z ) e. NN0_s ) <-> ( x <_s y -> ( y -s x ) e. NN0_s ) ) ) |
40 |
39
|
cbvralvw |
|- ( A. z e. NN0_s ( z <_s y -> ( y -s z ) e. NN0_s ) <-> A. x e. NN0_s ( x <_s y -> ( y -s x ) e. NN0_s ) ) |
41 |
|
n0sno |
|- ( y e. NN0_s -> y e. No ) |
42 |
|
peano2no |
|- ( y e. No -> ( y +s 1s ) e. No ) |
43 |
|
subsid1 |
|- ( ( y +s 1s ) e. No -> ( ( y +s 1s ) -s 0s ) = ( y +s 1s ) ) |
44 |
41 42 43
|
3syl |
|- ( y e. NN0_s -> ( ( y +s 1s ) -s 0s ) = ( y +s 1s ) ) |
45 |
|
peano2n0s |
|- ( y e. NN0_s -> ( y +s 1s ) e. NN0_s ) |
46 |
44 45
|
eqeltrd |
|- ( y e. NN0_s -> ( ( y +s 1s ) -s 0s ) e. NN0_s ) |
47 |
|
oveq2 |
|- ( z = 0s -> ( ( y +s 1s ) -s z ) = ( ( y +s 1s ) -s 0s ) ) |
48 |
47
|
eleq1d |
|- ( z = 0s -> ( ( ( y +s 1s ) -s z ) e. NN0_s <-> ( ( y +s 1s ) -s 0s ) e. NN0_s ) ) |
49 |
46 48
|
syl5ibrcom |
|- ( y e. NN0_s -> ( z = 0s -> ( ( y +s 1s ) -s z ) e. NN0_s ) ) |
50 |
49
|
2a1dd |
|- ( y e. NN0_s -> ( z = 0s -> ( A. x e. NN0_s ( x <_s y -> ( y -s x ) e. NN0_s ) -> ( z <_s ( y +s 1s ) -> ( ( y +s 1s ) -s z ) e. NN0_s ) ) ) ) |
51 |
50
|
adantr |
|- ( ( y e. NN0_s /\ z e. NN0_s ) -> ( z = 0s -> ( A. x e. NN0_s ( x <_s y -> ( y -s x ) e. NN0_s ) -> ( z <_s ( y +s 1s ) -> ( ( y +s 1s ) -s z ) e. NN0_s ) ) ) ) |
52 |
|
breq1 |
|- ( x = ( z -s 1s ) -> ( x <_s y <-> ( z -s 1s ) <_s y ) ) |
53 |
|
oveq2 |
|- ( x = ( z -s 1s ) -> ( y -s x ) = ( y -s ( z -s 1s ) ) ) |
54 |
53
|
eleq1d |
|- ( x = ( z -s 1s ) -> ( ( y -s x ) e. NN0_s <-> ( y -s ( z -s 1s ) ) e. NN0_s ) ) |
55 |
52 54
|
imbi12d |
|- ( x = ( z -s 1s ) -> ( ( x <_s y -> ( y -s x ) e. NN0_s ) <-> ( ( z -s 1s ) <_s y -> ( y -s ( z -s 1s ) ) e. NN0_s ) ) ) |
56 |
55
|
rspcv |
|- ( ( z -s 1s ) e. NN0_s -> ( A. x e. NN0_s ( x <_s y -> ( y -s x ) e. NN0_s ) -> ( ( z -s 1s ) <_s y -> ( y -s ( z -s 1s ) ) e. NN0_s ) ) ) |
57 |
23
|
adantl |
|- ( ( y e. NN0_s /\ z e. NN0_s ) -> z e. No ) |
58 |
|
1sno |
|- 1s e. No |
59 |
58
|
a1i |
|- ( ( y e. NN0_s /\ z e. NN0_s ) -> 1s e. No ) |
60 |
41
|
adantr |
|- ( ( y e. NN0_s /\ z e. NN0_s ) -> y e. No ) |
61 |
57 59 60
|
slesubaddd |
|- ( ( y e. NN0_s /\ z e. NN0_s ) -> ( ( z -s 1s ) <_s y <-> z <_s ( y +s 1s ) ) ) |
62 |
60 57 59
|
subsubs2d |
|- ( ( y e. NN0_s /\ z e. NN0_s ) -> ( y -s ( z -s 1s ) ) = ( y +s ( 1s -s z ) ) ) |
63 |
60 59 57
|
addsubsassd |
|- ( ( y e. NN0_s /\ z e. NN0_s ) -> ( ( y +s 1s ) -s z ) = ( y +s ( 1s -s z ) ) ) |
64 |
62 63
|
eqtr4d |
|- ( ( y e. NN0_s /\ z e. NN0_s ) -> ( y -s ( z -s 1s ) ) = ( ( y +s 1s ) -s z ) ) |
65 |
64
|
eleq1d |
|- ( ( y e. NN0_s /\ z e. NN0_s ) -> ( ( y -s ( z -s 1s ) ) e. NN0_s <-> ( ( y +s 1s ) -s z ) e. NN0_s ) ) |
66 |
61 65
|
imbi12d |
|- ( ( y e. NN0_s /\ z e. NN0_s ) -> ( ( ( z -s 1s ) <_s y -> ( y -s ( z -s 1s ) ) e. NN0_s ) <-> ( z <_s ( y +s 1s ) -> ( ( y +s 1s ) -s z ) e. NN0_s ) ) ) |
67 |
66
|
biimpd |
|- ( ( y e. NN0_s /\ z e. NN0_s ) -> ( ( ( z -s 1s ) <_s y -> ( y -s ( z -s 1s ) ) e. NN0_s ) -> ( z <_s ( y +s 1s ) -> ( ( y +s 1s ) -s z ) e. NN0_s ) ) ) |
68 |
56 67
|
syl9r |
|- ( ( y e. NN0_s /\ z e. NN0_s ) -> ( ( z -s 1s ) e. NN0_s -> ( A. x e. NN0_s ( x <_s y -> ( y -s x ) e. NN0_s ) -> ( z <_s ( y +s 1s ) -> ( ( y +s 1s ) -s z ) e. NN0_s ) ) ) ) |
69 |
|
n0s0m1 |
|- ( z e. NN0_s -> ( z = 0s \/ ( z -s 1s ) e. NN0_s ) ) |
70 |
69
|
adantl |
|- ( ( y e. NN0_s /\ z e. NN0_s ) -> ( z = 0s \/ ( z -s 1s ) e. NN0_s ) ) |
71 |
51 68 70
|
mpjaod |
|- ( ( y e. NN0_s /\ z e. NN0_s ) -> ( A. x e. NN0_s ( x <_s y -> ( y -s x ) e. NN0_s ) -> ( z <_s ( y +s 1s ) -> ( ( y +s 1s ) -s z ) e. NN0_s ) ) ) |
72 |
71
|
ralrimdva |
|- ( y e. NN0_s -> ( A. x e. NN0_s ( x <_s y -> ( y -s x ) e. NN0_s ) -> A. z e. NN0_s ( z <_s ( y +s 1s ) -> ( ( y +s 1s ) -s z ) e. NN0_s ) ) ) |
73 |
40 72
|
biimtrid |
|- ( y e. NN0_s -> ( A. z e. NN0_s ( z <_s y -> ( y -s z ) e. NN0_s ) -> A. z e. NN0_s ( z <_s ( y +s 1s ) -> ( ( y +s 1s ) -s z ) e. NN0_s ) ) ) |
74 |
5 10 15 20 35 73
|
n0sind |
|- ( N e. NN0_s -> A. z e. NN0_s ( z <_s N -> ( N -s z ) e. NN0_s ) ) |
75 |
|
breq1 |
|- ( z = M -> ( z <_s N <-> M <_s N ) ) |
76 |
|
oveq2 |
|- ( z = M -> ( N -s z ) = ( N -s M ) ) |
77 |
76
|
eleq1d |
|- ( z = M -> ( ( N -s z ) e. NN0_s <-> ( N -s M ) e. NN0_s ) ) |
78 |
75 77
|
imbi12d |
|- ( z = M -> ( ( z <_s N -> ( N -s z ) e. NN0_s ) <-> ( M <_s N -> ( N -s M ) e. NN0_s ) ) ) |
79 |
78
|
rspcva |
|- ( ( M e. NN0_s /\ A. z e. NN0_s ( z <_s N -> ( N -s z ) e. NN0_s ) ) -> ( M <_s N -> ( N -s M ) e. NN0_s ) ) |
80 |
74 79
|
sylan2 |
|- ( ( M e. NN0_s /\ N e. NN0_s ) -> ( M <_s N -> ( N -s M ) e. NN0_s ) ) |
81 |
|
n0sge0 |
|- ( ( N -s M ) e. NN0_s -> 0s <_s ( N -s M ) ) |
82 |
|
n0sno |
|- ( N e. NN0_s -> N e. No ) |
83 |
82
|
adantl |
|- ( ( M e. NN0_s /\ N e. NN0_s ) -> N e. No ) |
84 |
|
n0sno |
|- ( M e. NN0_s -> M e. No ) |
85 |
84
|
adantr |
|- ( ( M e. NN0_s /\ N e. NN0_s ) -> M e. No ) |
86 |
83 85
|
subsge0d |
|- ( ( M e. NN0_s /\ N e. NN0_s ) -> ( 0s <_s ( N -s M ) <-> M <_s N ) ) |
87 |
81 86
|
imbitrid |
|- ( ( M e. NN0_s /\ N e. NN0_s ) -> ( ( N -s M ) e. NN0_s -> M <_s N ) ) |
88 |
80 87
|
impbid |
|- ( ( M e. NN0_s /\ N e. NN0_s ) -> ( M <_s N <-> ( N -s M ) e. NN0_s ) ) |