Step | Hyp | Ref | Expression |
1 |
|
elneq2 |
z = s -> (a e. z <-> a e. s) |
2 |
1 |
noteqd |
z = s -> (~a e. z <-> ~a e. s) |
3 |
|
inseq2 |
z = s -> a ; z = a ; s |
4 |
3 |
cardeqd |
z = s -> card (a ; z) = card (a ; s) |
5 |
|
cardeq |
z = s -> card z = card s |
6 |
5 |
suceqd |
z = s -> suc (card z) = suc (card s) |
7 |
4, 6 |
eqeqd |
z = s -> (card (a ; z) = suc (card z) <-> card (a ; s) = suc (card s)) |
8 |
2, 7 |
imeqd |
z = s -> (~a e. z -> card (a ; z) = suc (card z) <-> ~a e. s -> card (a ; s) = suc (card s)) |
9 |
8 |
eale |
A. z (~a e. z -> card (a ; z) = suc (card z)) -> ~a e. s -> card (a ; s) = suc (card s) |
10 |
|
eleq1 |
x = a -> (x e. z <-> a e. z) |
11 |
10 |
noteqd |
x = a -> (~x e. z <-> ~a e. z) |
12 |
|
inseq1 |
x = a -> x ; z = a ; z |
13 |
12 |
cardeqd |
x = a -> card (x ; z) = card (a ; z) |
14 |
13 |
eqeq1d |
x = a -> (card (x ; z) = suc (card z) <-> card (a ; z) = suc (card z)) |
15 |
11, 14 |
imeqd |
x = a -> (~x e. z -> card (x ; z) = suc (card z) <-> ~a e. z -> card (a ; z) = suc (card z)) |
16 |
15 |
aleqd |
x = a -> (A. z (~x e. z -> card (x ; z) = suc (card z)) <-> A. z (~a e. z -> card (a ; z) = suc (card z))) |
17 |
|
eleq1 |
x = y -> (x e. z <-> y e. z) |
18 |
17 |
noteqd |
x = y -> (~x e. z <-> ~y e. z) |
19 |
|
inseq1 |
x = y -> x ; z = y ; z |
20 |
19 |
cardeqd |
x = y -> card (x ; z) = card (y ; z) |
21 |
20 |
eqeq1d |
x = y -> (card (x ; z) = suc (card z) <-> card (y ; z) = suc (card z)) |
22 |
18, 21 |
imeqd |
x = y -> (~x e. z -> card (x ; z) = suc (card z) <-> ~y e. z -> card (y ; z) = suc (card z)) |
23 |
22 |
aleqd |
x = y -> (A. z (~x e. z -> card (x ; z) = suc (card z)) <-> A. z (~y e. z -> card (y ; z) = suc (card z))) |
24 |
|
elneq2 |
z = w -> (y e. z <-> y e. w) |
25 |
24 |
noteqd |
z = w -> (~y e. z <-> ~y e. w) |
26 |
|
inseq2 |
z = w -> y ; z = y ; w |
27 |
26 |
cardeqd |
z = w -> card (y ; z) = card (y ; w) |
28 |
|
cardeq |
z = w -> card z = card w |
29 |
28 |
suceqd |
z = w -> suc (card z) = suc (card w) |
30 |
27, 29 |
eqeqd |
z = w -> (card (y ; z) = suc (card z) <-> card (y ; w) = suc (card w)) |
31 |
25, 30 |
imeqd |
z = w -> (~y e. z -> card (y ; z) = suc (card z) <-> ~y e. w -> card (y ; w) = suc (card w)) |
32 |
31 |
cbval |
A. z (~y e. z -> card (y ; z) = suc (card z)) <-> A. w (~y e. w -> card (y ; w) = suc (card w)) |
33 |
|
noteq |
(0 e. w <-> odd w) -> (~0 e. w <-> ~odd w) |
34 |
|
el01 |
0 e. w <-> odd w |
35 |
33, 34 |
ax_mp |
~0 e. w <-> ~odd w |
36 |
|
eqb0 |
~odd w <-> w = b0 (w // 2) |
37 |
|
b1ins |
b1 (w // 2) = 0 ; b0 (w // 2) |
38 |
|
inseq2 |
w = b0 (w // 2) -> 0 ; w = 0 ; b0 (w // 2) |
39 |
37, 38 |
syl6eqr |
w = b0 (w // 2) -> 0 ; w = b1 (w // 2) |
40 |
39 |
cardeqd |
w = b0 (w // 2) -> card (0 ; w) = card (b1 (w // 2)) |
41 |
|
cardb1 |
card (b1 (w // 2)) = suc (card (w // 2)) |
42 |
|
cardb0 |
card (b0 (w // 2)) = card (w // 2) |
43 |
|
cardeq |
w = b0 (w // 2) -> card w = card (b0 (w // 2)) |
44 |
42, 43 |
syl6eq |
w = b0 (w // 2) -> card w = card (w // 2) |
45 |
44 |
suceqd |
w = b0 (w // 2) -> suc (card w) = suc (card (w // 2)) |
46 |
41, 45 |
syl6eqr |
w = b0 (w // 2) -> suc (card w) = card (b1 (w // 2)) |
47 |
40, 46 |
eqtr4d |
w = b0 (w // 2) -> card (0 ; w) = suc (card w) |
48 |
36, 47 |
sylbi |
~odd w -> card (0 ; w) = suc (card w) |
49 |
35, 48 |
sylbi |
~0 e. w -> card (0 ; w) = suc (card w) |
50 |
|
eleq1 |
y = 0 -> (y e. w <-> 0 e. w) |
51 |
50 |
noteqd |
y = 0 -> (~y e. w <-> ~0 e. w) |
52 |
|
inseq1 |
y = 0 -> y ; w = 0 ; w |
53 |
52 |
cardeqd |
y = 0 -> card (y ; w) = card (0 ; w) |
54 |
53 |
eqeq1d |
y = 0 -> (card (y ; w) = suc (card w) <-> card (0 ; w) = suc (card w)) |
55 |
51, 54 |
imeqd |
y = 0 -> (~y e. w -> card (y ; w) = suc (card w) <-> ~0 e. w -> card (0 ; w) = suc (card w)) |
56 |
49, 55 |
mpbiri |
y = 0 -> ~y e. w -> card (y ; w) = suc (card w) |
57 |
56 |
a1d |
y = 0 -> A. x (x < y -> A. z (~x e. z -> card (x ; z) = suc (card z))) -> ~y e. w -> card (y ; w) = suc (card w) |
58 |
|
biim1 |
x < y -> (x < y -> A. z (~x e. z -> card (x ; z) = suc (card z)) <-> A. z (~x e. z -> card (x ; z) = suc (card z))) |
59 |
|
anr |
~y = 0 /\ x = y - 1 -> x = y - 1 |
60 |
59 |
lteq1d |
~y = 0 /\ x = y - 1 -> (x < y <-> y - 1 < y) |
61 |
|
subltid |
0 < y /\ 0 < 1 -> y - 1 < y |
62 |
|
lt01 |
0 < y <-> y != 0 |
63 |
|
anl |
~y = 0 /\ x = y - 1 -> ~y = 0 |
64 |
63 |
conv ne |
~y = 0 /\ x = y - 1 -> y != 0 |
65 |
62, 64 |
sylibr |
~y = 0 /\ x = y - 1 -> 0 < y |
66 |
|
d0lt1 |
0 < 1 |
67 |
66 |
a1i |
~y = 0 /\ x = y - 1 -> 0 < 1 |
68 |
61, 65, 67 |
sylan |
~y = 0 /\ x = y - 1 -> y - 1 < y |
69 |
60, 68 |
mpbird |
~y = 0 /\ x = y - 1 -> x < y |
70 |
58, 69 |
syl |
~y = 0 /\ x = y - 1 -> (x < y -> A. z (~x e. z -> card (x ; z) = suc (card z)) <-> A. z (~x e. z -> card (x ; z) = suc (card z))) |
71 |
70 |
imeq1d |
~y = 0 /\ x = y - 1 ->
((x < y -> A. z (~x e. z -> card (x ; z) = suc (card z))) -> ~y e. w -> card (y ; w) = suc (card w) <->
A. z (~x e. z -> card (x ; z) = suc (card z)) -> ~y e. w -> card (y ; w) = suc (card w)) |
72 |
|
anlr |
~y = 0 /\ x = y - 1 /\ z = w // 2 -> x = y - 1 |
73 |
|
anr |
~y = 0 /\ x = y - 1 /\ z = w // 2 -> z = w // 2 |
74 |
72, 73 |
elneqd |
~y = 0 /\ x = y - 1 /\ z = w // 2 -> (x e. z <-> y - 1 e. w // 2) |
75 |
|
eldiv2 |
y - 1 e. w // 2 <-> suc (y - 1) e. w |
76 |
|
sub1can |
y != 0 -> suc (y - 1) = y |
77 |
|
anll |
~y = 0 /\ x = y - 1 /\ z = w // 2 -> ~y = 0 |
78 |
77 |
conv ne |
~y = 0 /\ x = y - 1 /\ z = w // 2 -> y != 0 |
79 |
76, 78 |
syl |
~y = 0 /\ x = y - 1 /\ z = w // 2 -> suc (y - 1) = y |
80 |
79 |
eleq1d |
~y = 0 /\ x = y - 1 /\ z = w // 2 -> (suc (y - 1) e. w <-> y e. w) |
81 |
75, 80 |
syl5bb |
~y = 0 /\ x = y - 1 /\ z = w // 2 -> (y - 1 e. w // 2 <-> y e. w) |
82 |
74, 81 |
bitrd |
~y = 0 /\ x = y - 1 /\ z = w // 2 -> (x e. z <-> y e. w) |
83 |
82 |
noteqd |
~y = 0 /\ x = y - 1 /\ z = w // 2 -> (~x e. z <-> ~y e. w) |
84 |
83 |
bi2d |
~y = 0 /\ x = y - 1 /\ z = w // 2 -> ~y e. w -> ~x e. z |
85 |
|
anass |
~y = 0 /\ x = y - 1 /\ z = w // 2 <-> ~y = 0 /\ (x = y - 1 /\ z = w // 2) |
86 |
|
insdiv2 |
suc (y - 1) ; w // 2 = (y - 1) ; (w // 2) |
87 |
|
inseq |
x = y - 1 -> z = w // 2 -> x ; z = (y - 1) ; (w // 2) |
88 |
87 |
imp |
x = y - 1 /\ z = w // 2 -> x ; z = (y - 1) ; (w // 2) |
89 |
86, 88 |
syl6eqr |
x = y - 1 /\ z = w // 2 -> x ; z = suc (y - 1) ; w // 2 |
90 |
89 |
cardeqd |
x = y - 1 /\ z = w // 2 -> card (x ; z) = card (suc (y - 1) ; w // 2) |
91 |
|
anr |
x = y - 1 /\ z = w // 2 -> z = w // 2 |
92 |
91 |
cardeqd |
x = y - 1 /\ z = w // 2 -> card z = card (w // 2) |
93 |
92 |
suceqd |
x = y - 1 /\ z = w // 2 -> suc (card z) = suc (card (w // 2)) |
94 |
90, 93 |
eqeqd |
x = y - 1 /\ z = w // 2 -> (card (x ; z) = suc (card z) <-> card (suc (y - 1) ; w // 2) = suc (card (w // 2))) |
95 |
94 |
imeq1d |
x = y - 1 /\ z = w // 2 ->
(card (x ; z) = suc (card z) -> card (y ; w) = suc (card w) <-> card (suc (y - 1) ; w // 2) = suc (card (w // 2)) -> card (y ; w) = suc (card w)) |
96 |
|
peano2 |
suc (card (suc (y - 1) ; w // 2)) = suc (suc (card (w // 2))) <-> card (suc (y - 1) ; w // 2) = suc (card (w // 2)) |
97 |
|
cardb1 |
card (b1 (suc (y - 1) ; w // 2)) = suc (card (suc (y - 1) ; w // 2)) |
98 |
76 |
conv ne |
~y = 0 -> suc (y - 1) = y |
99 |
98 |
anwl |
~y = 0 /\ odd w -> suc (y - 1) = y |
100 |
99 |
inseq1d |
~y = 0 /\ odd w -> suc (y - 1) ; w = y ; w |
101 |
100 |
diveq1d |
~y = 0 /\ odd w -> suc (y - 1) ; w // 2 = y ; w // 2 |
102 |
101 |
b1eqd |
~y = 0 /\ odd w -> b1 (suc (y - 1) ; w // 2) = b1 (y ; w // 2) |
103 |
|
eqb1 |
odd (y ; w) <-> y ; w = b1 (y ; w // 2) |
104 |
|
el01 |
0 e. y ; w <-> odd (y ; w) |
105 |
|
elins |
0 e. y ; w <-> 0 = y \/ 0 e. w |
106 |
|
anr |
~y = 0 /\ odd w -> odd w |
107 |
34, 106 |
sylibr |
~y = 0 /\ odd w -> 0 e. w |
108 |
107 |
orrd |
~y = 0 /\ odd w -> 0 = y \/ 0 e. w |
109 |
105, 108 |
sylibr |
~y = 0 /\ odd w -> 0 e. y ; w |
110 |
104, 109 |
sylib |
~y = 0 /\ odd w -> odd (y ; w) |
111 |
103, 110 |
sylib |
~y = 0 /\ odd w -> y ; w = b1 (y ; w // 2) |
112 |
102, 111 |
eqtr4d |
~y = 0 /\ odd w -> b1 (suc (y - 1) ; w // 2) = y ; w |
113 |
112 |
cardeqd |
~y = 0 /\ odd w -> card (b1 (suc (y - 1) ; w // 2)) = card (y ; w) |
114 |
97, 113 |
syl5eqr |
~y = 0 /\ odd w -> suc (card (suc (y - 1) ; w // 2)) = card (y ; w) |
115 |
|
eqb1 |
odd w <-> w = b1 (w // 2) |
116 |
115, 106 |
sylib |
~y = 0 /\ odd w -> w = b1 (w // 2) |
117 |
116 |
eqcomd |
~y = 0 /\ odd w -> b1 (w // 2) = w |
118 |
117 |
cardeqd |
~y = 0 /\ odd w -> card (b1 (w // 2)) = card w |
119 |
41, 118 |
syl5eqr |
~y = 0 /\ odd w -> suc (card (w // 2)) = card w |
120 |
119 |
suceqd |
~y = 0 /\ odd w -> suc (suc (card (w // 2))) = suc (card w) |
121 |
114, 120 |
eqeqd |
~y = 0 /\ odd w -> (suc (card (suc (y - 1) ; w // 2)) = suc (suc (card (w // 2))) <-> card (y ; w) = suc (card w)) |
122 |
96, 121 |
syl5bbr |
~y = 0 /\ odd w -> (card (suc (y - 1) ; w // 2) = suc (card (w // 2)) <-> card (y ; w) = suc (card w)) |
123 |
|
cardb0 |
card (b0 (suc (y - 1) ; w // 2)) = card (suc (y - 1) ; w // 2) |
124 |
98 |
anwl |
~y = 0 /\ ~odd w -> suc (y - 1) = y |
125 |
124 |
inseq1d |
~y = 0 /\ ~odd w -> suc (y - 1) ; w = y ; w |
126 |
125 |
diveq1d |
~y = 0 /\ ~odd w -> suc (y - 1) ; w // 2 = y ; w // 2 |
127 |
126 |
b0eqd |
~y = 0 /\ ~odd w -> b0 (suc (y - 1) ; w // 2) = b0 (y ; w // 2) |
128 |
|
eqb0 |
~odd (y ; w) <-> y ; w = b0 (y ; w // 2) |
129 |
|
notor |
~(y = 0 \/ odd w) <-> ~y = 0 /\ ~odd w |
130 |
|
con3 |
(odd (y ; w) -> y = 0 \/ odd w) -> ~(y = 0 \/ odd w) -> ~odd (y ; w) |
131 |
|
bi1 |
(0 = y \/ 0 e. w <-> y = 0 \/ odd w) -> 0 = y \/ 0 e. w -> y = 0 \/ odd w |
132 |
|
oreq |
(0 = y <-> y = 0) -> (0 e. w <-> odd w) -> (0 = y \/ 0 e. w <-> y = 0 \/ odd w) |
133 |
|
eqcomb |
0 = y <-> y = 0 |
134 |
132, 133 |
ax_mp |
(0 e. w <-> odd w) -> (0 = y \/ 0 e. w <-> y = 0 \/ odd w) |
135 |
134, 34 |
ax_mp |
0 = y \/ 0 e. w <-> y = 0 \/ odd w |
136 |
131, 135 |
ax_mp |
0 = y \/ 0 e. w -> y = 0 \/ odd w |
137 |
105, 136 |
sylbi |
0 e. y ; w -> y = 0 \/ odd w |
138 |
104, 137 |
sylbir |
odd (y ; w) -> y = 0 \/ odd w |
139 |
130, 138 |
ax_mp |
~(y = 0 \/ odd w) -> ~odd (y ; w) |
140 |
129, 139 |
sylbir |
~y = 0 /\ ~odd w -> ~odd (y ; w) |
141 |
128, 140 |
sylib |
~y = 0 /\ ~odd w -> y ; w = b0 (y ; w // 2) |
142 |
127, 141 |
eqtr4d |
~y = 0 /\ ~odd w -> b0 (suc (y - 1) ; w // 2) = y ; w |
143 |
142 |
cardeqd |
~y = 0 /\ ~odd w -> card (b0 (suc (y - 1) ; w // 2)) = card (y ; w) |
144 |
123, 143 |
syl5eqr |
~y = 0 /\ ~odd w -> card (suc (y - 1) ; w // 2) = card (y ; w) |
145 |
|
anr |
~y = 0 /\ ~odd w -> ~odd w |
146 |
36, 145 |
sylib |
~y = 0 /\ ~odd w -> w = b0 (w // 2) |
147 |
146 |
eqcomd |
~y = 0 /\ ~odd w -> b0 (w // 2) = w |
148 |
147 |
cardeqd |
~y = 0 /\ ~odd w -> card (b0 (w // 2)) = card w |
149 |
42, 148 |
syl5eqr |
~y = 0 /\ ~odd w -> card (w // 2) = card w |
150 |
149 |
suceqd |
~y = 0 /\ ~odd w -> suc (card (w // 2)) = suc (card w) |
151 |
144, 150 |
eqeqd |
~y = 0 /\ ~odd w -> (card (suc (y - 1) ; w // 2) = suc (card (w // 2)) <-> card (y ; w) = suc (card w)) |
152 |
122, 151 |
casesda |
~y = 0 -> (card (suc (y - 1) ; w // 2) = suc (card (w // 2)) <-> card (y ; w) = suc (card w)) |
153 |
152 |
bi1d |
~y = 0 -> card (suc (y - 1) ; w // 2) = suc (card (w // 2)) -> card (y ; w) = suc (card w) |
154 |
95, 153 |
syl5ibrcom |
~y = 0 -> x = y - 1 /\ z = w // 2 -> card (x ; z) = suc (card z) -> card (y ; w) = suc (card w) |
155 |
154 |
imp |
~y = 0 /\ (x = y - 1 /\ z = w // 2) -> card (x ; z) = suc (card z) -> card (y ; w) = suc (card w) |
156 |
85, 155 |
sylbi |
~y = 0 /\ x = y - 1 /\ z = w // 2 -> card (x ; z) = suc (card z) -> card (y ; w) = suc (card w) |
157 |
84, 156 |
imimd |
~y = 0 /\ x = y - 1 /\ z = w // 2 -> (~x e. z -> card (x ; z) = suc (card z)) -> ~y e. w -> card (y ; w) = suc (card w) |
158 |
157 |
ealde |
~y = 0 /\ x = y - 1 -> A. z (~x e. z -> card (x ; z) = suc (card z)) -> ~y e. w -> card (y ; w) = suc (card w) |
159 |
71, 158 |
mpbird |
~y = 0 /\ x = y - 1 -> (x < y -> A. z (~x e. z -> card (x ; z) = suc (card z))) -> ~y e. w -> card (y ; w) = suc (card w) |
160 |
159 |
ealde |
~y = 0 -> A. x (x < y -> A. z (~x e. z -> card (x ; z) = suc (card z))) -> ~y e. w -> card (y ; w) = suc (card w) |
161 |
57, 160 |
cases |
A. x (x < y -> A. z (~x e. z -> card (x ; z) = suc (card z))) -> ~y e. w -> card (y ; w) = suc (card w) |
162 |
161 |
iald |
A. x (x < y -> A. z (~x e. z -> card (x ; z) = suc (card z))) -> A. w (~y e. w -> card (y ; w) = suc (card w)) |
163 |
32, 162 |
sylibr |
A. x (x < y -> A. z (~x e. z -> card (x ; z) = suc (card z))) -> A. z (~y e. z -> card (y ; z) = suc (card z)) |
164 |
163 |
anwr |
T. /\ A. x (x < y -> A. z (~x e. z -> card (x ; z) = suc (card z))) -> A. z (~y e. z -> card (y ; z) = suc (card z)) |
165 |
16, 23, 164 |
indstr |
T. -> A. z (~a e. z -> card (a ; z) = suc (card z)) |
166 |
165 |
trud |
A. z (~a e. z -> card (a ; z) = suc (card z)) |
167 |
9, 166 |
ax_mp |
~a e. s -> card (a ; s) = suc (card s) |