| Step | Hyp | Ref | Expression |
| 1 |
|
eqidd |
_1 = n -> x = x |
| 2 |
|
id |
_1 = n -> _1 = n |
| 3 |
1, 2 |
lteqd |
_1 = n -> (x < _1 <-> x < n) |
| 4 |
|
biidd |
_1 = n -> (x e. a -> x e. b <-> x e. a -> x e. b) |
| 5 |
3, 4 |
imeqd |
_1 = n -> (x < _1 -> x e. a -> x e. b <-> x < n -> x e. a -> x e. b) |
| 6 |
5 |
aleqd |
_1 = n -> (A. x (x < _1 -> x e. a -> x e. b) <-> A. x (x < n -> x e. a -> x e. b)) |
| 7 |
|
eqidd |
_1 = n -> a = a |
| 8 |
|
eqidd |
_1 = n -> 2 = 2 |
| 9 |
8, 2 |
poweqd |
_1 = n -> 2 ^ _1 = 2 ^ n |
| 10 |
7, 9 |
modeqd |
_1 = n -> a % 2 ^ _1 = a % 2 ^ n |
| 11 |
|
eqidd |
_1 = n -> b = b |
| 12 |
11, 9 |
modeqd |
_1 = n -> b % 2 ^ _1 = b % 2 ^ n |
| 13 |
10, 12 |
leeqd |
_1 = n -> (a % 2 ^ _1 <= b % 2 ^ _1 <-> a % 2 ^ n <= b % 2 ^ n) |
| 14 |
6, 13 |
imeqd |
_1 = n -> (A. x (x < _1 -> x e. a -> x e. b) -> a % 2 ^ _1 <= b % 2 ^ _1 <-> A. x (x < n -> x e. a -> x e. b) -> a % 2 ^ n <= b % 2 ^ n) |
| 15 |
|
eqidd |
_1 = 0 -> x = x |
| 16 |
|
id |
_1 = 0 -> _1 = 0 |
| 17 |
15, 16 |
lteqd |
_1 = 0 -> (x < _1 <-> x < 0) |
| 18 |
|
biidd |
_1 = 0 -> (x e. a -> x e. b <-> x e. a -> x e. b) |
| 19 |
17, 18 |
imeqd |
_1 = 0 -> (x < _1 -> x e. a -> x e. b <-> x < 0 -> x e. a -> x e. b) |
| 20 |
19 |
aleqd |
_1 = 0 -> (A. x (x < _1 -> x e. a -> x e. b) <-> A. x (x < 0 -> x e. a -> x e. b)) |
| 21 |
|
eqidd |
_1 = 0 -> a = a |
| 22 |
|
eqidd |
_1 = 0 -> 2 = 2 |
| 23 |
22, 16 |
poweqd |
_1 = 0 -> 2 ^ _1 = 2 ^ 0 |
| 24 |
21, 23 |
modeqd |
_1 = 0 -> a % 2 ^ _1 = a % 2 ^ 0 |
| 25 |
|
eqidd |
_1 = 0 -> b = b |
| 26 |
25, 23 |
modeqd |
_1 = 0 -> b % 2 ^ _1 = b % 2 ^ 0 |
| 27 |
24, 26 |
leeqd |
_1 = 0 -> (a % 2 ^ _1 <= b % 2 ^ _1 <-> a % 2 ^ 0 <= b % 2 ^ 0) |
| 28 |
20, 27 |
imeqd |
_1 = 0 -> (A. x (x < _1 -> x e. a -> x e. b) -> a % 2 ^ _1 <= b % 2 ^ _1 <-> A. x (x < 0 -> x e. a -> x e. b) -> a % 2 ^ 0 <= b % 2 ^ 0) |
| 29 |
|
eqidd |
_1 = a1 -> x = x |
| 30 |
|
id |
_1 = a1 -> _1 = a1 |
| 31 |
29, 30 |
lteqd |
_1 = a1 -> (x < _1 <-> x < a1) |
| 32 |
|
biidd |
_1 = a1 -> (x e. a -> x e. b <-> x e. a -> x e. b) |
| 33 |
31, 32 |
imeqd |
_1 = a1 -> (x < _1 -> x e. a -> x e. b <-> x < a1 -> x e. a -> x e. b) |
| 34 |
33 |
aleqd |
_1 = a1 -> (A. x (x < _1 -> x e. a -> x e. b) <-> A. x (x < a1 -> x e. a -> x e. b)) |
| 35 |
|
eqidd |
_1 = a1 -> a = a |
| 36 |
|
eqidd |
_1 = a1 -> 2 = 2 |
| 37 |
36, 30 |
poweqd |
_1 = a1 -> 2 ^ _1 = 2 ^ a1 |
| 38 |
35, 37 |
modeqd |
_1 = a1 -> a % 2 ^ _1 = a % 2 ^ a1 |
| 39 |
|
eqidd |
_1 = a1 -> b = b |
| 40 |
39, 37 |
modeqd |
_1 = a1 -> b % 2 ^ _1 = b % 2 ^ a1 |
| 41 |
38, 40 |
leeqd |
_1 = a1 -> (a % 2 ^ _1 <= b % 2 ^ _1 <-> a % 2 ^ a1 <= b % 2 ^ a1) |
| 42 |
34, 41 |
imeqd |
_1 = a1 -> (A. x (x < _1 -> x e. a -> x e. b) -> a % 2 ^ _1 <= b % 2 ^ _1 <-> A. x (x < a1 -> x e. a -> x e. b) -> a % 2 ^ a1 <= b % 2 ^ a1) |
| 43 |
|
eqidd |
_1 = suc a1 -> x = x |
| 44 |
|
id |
_1 = suc a1 -> _1 = suc a1 |
| 45 |
43, 44 |
lteqd |
_1 = suc a1 -> (x < _1 <-> x < suc a1) |
| 46 |
|
biidd |
_1 = suc a1 -> (x e. a -> x e. b <-> x e. a -> x e. b) |
| 47 |
45, 46 |
imeqd |
_1 = suc a1 -> (x < _1 -> x e. a -> x e. b <-> x < suc a1 -> x e. a -> x e. b) |
| 48 |
47 |
aleqd |
_1 = suc a1 -> (A. x (x < _1 -> x e. a -> x e. b) <-> A. x (x < suc a1 -> x e. a -> x e. b)) |
| 49 |
|
eqidd |
_1 = suc a1 -> a = a |
| 50 |
|
eqidd |
_1 = suc a1 -> 2 = 2 |
| 51 |
50, 44 |
poweqd |
_1 = suc a1 -> 2 ^ _1 = 2 ^ suc a1 |
| 52 |
49, 51 |
modeqd |
_1 = suc a1 -> a % 2 ^ _1 = a % 2 ^ suc a1 |
| 53 |
|
eqidd |
_1 = suc a1 -> b = b |
| 54 |
53, 51 |
modeqd |
_1 = suc a1 -> b % 2 ^ _1 = b % 2 ^ suc a1 |
| 55 |
52, 54 |
leeqd |
_1 = suc a1 -> (a % 2 ^ _1 <= b % 2 ^ _1 <-> a % 2 ^ suc a1 <= b % 2 ^ suc a1) |
| 56 |
48, 55 |
imeqd |
_1 = suc a1 -> (A. x (x < _1 -> x e. a -> x e. b) -> a % 2 ^ _1 <= b % 2 ^ _1 <-> A. x (x < suc a1 -> x e. a -> x e. b) -> a % 2 ^ suc a1 <= b % 2 ^ suc a1) |
| 57 |
|
leeq1 |
a % 2 ^ 0 = 0 -> (a % 2 ^ 0 <= b % 2 ^ 0 <-> 0 <= b % 2 ^ 0) |
| 58 |
|
eqtr |
a % 2 ^ 0 = a % 1 -> a % 1 = 0 -> a % 2 ^ 0 = 0 |
| 59 |
|
modeq2 |
2 ^ 0 = 1 -> a % 2 ^ 0 = a % 1 |
| 60 |
|
pow0 |
2 ^ 0 = 1 |
| 61 |
59, 60 |
ax_mp |
a % 2 ^ 0 = a % 1 |
| 62 |
58, 61 |
ax_mp |
a % 1 = 0 -> a % 2 ^ 0 = 0 |
| 63 |
|
mod12 |
a % 1 = 0 |
| 64 |
62, 63 |
ax_mp |
a % 2 ^ 0 = 0 |
| 65 |
57, 64 |
ax_mp |
a % 2 ^ 0 <= b % 2 ^ 0 <-> 0 <= b % 2 ^ 0 |
| 66 |
|
le01 |
0 <= b % 2 ^ 0 |
| 67 |
65, 66 |
mpbir |
a % 2 ^ 0 <= b % 2 ^ 0 |
| 68 |
67 |
a1i |
A. x (x < 0 -> x e. a -> x e. b) -> a % 2 ^ 0 <= b % 2 ^ 0 |
| 69 |
|
ltsucid |
a1 < suc a1 |
| 70 |
|
lttr |
x < a1 -> a1 < suc a1 -> x < suc a1 |
| 71 |
69, 70 |
mpi |
x < a1 -> x < suc a1 |
| 72 |
71 |
imim1i |
(x < suc a1 -> x e. a -> x e. b) -> x < a1 -> x e. a -> x e. b |
| 73 |
72 |
alimi |
A. x (x < suc a1 -> x e. a -> x e. b) -> A. x (x < a1 -> x e. a -> x e. b) |
| 74 |
73 |
imim1i |
(A. x (x < a1 -> x e. a -> x e. b) -> a % 2 ^ a1 <= b % 2 ^ a1) -> A. x (x < suc a1 -> x e. a -> x e. b) -> a % 2 ^ a1 <= b % 2 ^ a1 |
| 75 |
|
lteq1 |
x = a1 -> (x < suc a1 <-> a1 < suc a1) |
| 76 |
|
eleq1 |
x = a1 -> (x e. a <-> a1 e. a) |
| 77 |
|
eleq1 |
x = a1 -> (x e. b <-> a1 e. b) |
| 78 |
76, 77 |
imeqd |
x = a1 -> (x e. a -> x e. b <-> a1 e. a -> a1 e. b) |
| 79 |
75, 78 |
imeqd |
x = a1 -> (x < suc a1 -> x e. a -> x e. b <-> a1 < suc a1 -> a1 e. a -> a1 e. b) |
| 80 |
79 |
eale |
A. x (x < suc a1 -> x e. a -> x e. b) -> a1 < suc a1 -> a1 e. a -> a1 e. b |
| 81 |
69, 80 |
mpi |
A. x (x < suc a1 -> x e. a -> x e. b) -> a1 e. a -> a1 e. b |
| 82 |
|
leeq |
2 ^ a1 * (a % 2 ^ suc a1 // 2 ^ a1) + a % 2 ^ suc a1 % 2 ^ a1 = a % 2 ^ suc a1 ->
2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) + b % 2 ^ suc a1 % 2 ^ a1 = b % 2 ^ suc a1 ->
(2 ^ a1 * (a % 2 ^ suc a1 // 2 ^ a1) + a % 2 ^ suc a1 % 2 ^ a1 <= 2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) + b % 2 ^ suc a1 % 2 ^ a1 <->
a % 2 ^ suc a1 <= b % 2 ^ suc a1) |
| 83 |
|
divmod |
2 ^ a1 * (a % 2 ^ suc a1 // 2 ^ a1) + a % 2 ^ suc a1 % 2 ^ a1 = a % 2 ^ suc a1 |
| 84 |
82, 83 |
ax_mp |
2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) + b % 2 ^ suc a1 % 2 ^ a1 = b % 2 ^ suc a1 ->
(2 ^ a1 * (a % 2 ^ suc a1 // 2 ^ a1) + a % 2 ^ suc a1 % 2 ^ a1 <= 2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) + b % 2 ^ suc a1 % 2 ^ a1 <->
a % 2 ^ suc a1 <= b % 2 ^ suc a1) |
| 85 |
|
divmod |
2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) + b % 2 ^ suc a1 % 2 ^ a1 = b % 2 ^ suc a1 |
| 86 |
84, 85 |
ax_mp |
2 ^ a1 * (a % 2 ^ suc a1 // 2 ^ a1) + a % 2 ^ suc a1 % 2 ^ a1 <= 2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) + b % 2 ^ suc a1 % 2 ^ a1 <->
a % 2 ^ suc a1 <= b % 2 ^ suc a1 |
| 87 |
|
leeq |
2 ^ a1 * (a % 2 ^ suc a1 // 2 ^ a1) + a % 2 ^ suc a1 % 2 ^ a1 = 2 ^ a1 * (a // 2 ^ a1 % 2) + a % 2 ^ a1 ->
2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) + b % 2 ^ suc a1 % 2 ^ a1 = 2 ^ a1 * (b // 2 ^ a1 % 2) + b % 2 ^ a1 ->
(2 ^ a1 * (a % 2 ^ suc a1 // 2 ^ a1) + a % 2 ^ suc a1 % 2 ^ a1 <= 2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) + b % 2 ^ suc a1 % 2 ^ a1 <->
2 ^ a1 * (a // 2 ^ a1 % 2) + a % 2 ^ a1 <= 2 ^ a1 * (b // 2 ^ a1 % 2) + b % 2 ^ a1) |
| 88 |
|
addeq |
2 ^ a1 * (a % 2 ^ suc a1 // 2 ^ a1) = 2 ^ a1 * (a // 2 ^ a1 % 2) ->
a % 2 ^ suc a1 % 2 ^ a1 = a % 2 ^ a1 ->
2 ^ a1 * (a % 2 ^ suc a1 // 2 ^ a1) + a % 2 ^ suc a1 % 2 ^ a1 = 2 ^ a1 * (a // 2 ^ a1 % 2) + a % 2 ^ a1 |
| 89 |
|
muleq2 |
a % 2 ^ suc a1 // 2 ^ a1 = a // 2 ^ a1 % 2 -> 2 ^ a1 * (a % 2 ^ suc a1 // 2 ^ a1) = 2 ^ a1 * (a // 2 ^ a1 % 2) |
| 90 |
|
eqtr4 |
a % 2 ^ suc a1 // 2 ^ a1 = a % (2 ^ a1 * 2) // 2 ^ a1 -> a // 2 ^ a1 % 2 = a % (2 ^ a1 * 2) // 2 ^ a1 -> a % 2 ^ suc a1 // 2 ^ a1 = a // 2 ^ a1 % 2 |
| 91 |
|
diveq1 |
a % 2 ^ suc a1 = a % (2 ^ a1 * 2) -> a % 2 ^ suc a1 // 2 ^ a1 = a % (2 ^ a1 * 2) // 2 ^ a1 |
| 92 |
|
modeq2 |
2 ^ suc a1 = 2 ^ a1 * 2 -> a % 2 ^ suc a1 = a % (2 ^ a1 * 2) |
| 93 |
|
powS2 |
2 ^ suc a1 = 2 ^ a1 * 2 |
| 94 |
92, 93 |
ax_mp |
a % 2 ^ suc a1 = a % (2 ^ a1 * 2) |
| 95 |
91, 94 |
ax_mp |
a % 2 ^ suc a1 // 2 ^ a1 = a % (2 ^ a1 * 2) // 2 ^ a1 |
| 96 |
90, 95 |
ax_mp |
a // 2 ^ a1 % 2 = a % (2 ^ a1 * 2) // 2 ^ a1 -> a % 2 ^ suc a1 // 2 ^ a1 = a // 2 ^ a1 % 2 |
| 97 |
|
divmod1 |
a // 2 ^ a1 % 2 = a % (2 ^ a1 * 2) // 2 ^ a1 |
| 98 |
96, 97 |
ax_mp |
a % 2 ^ suc a1 // 2 ^ a1 = a // 2 ^ a1 % 2 |
| 99 |
89, 98 |
ax_mp |
2 ^ a1 * (a % 2 ^ suc a1 // 2 ^ a1) = 2 ^ a1 * (a // 2 ^ a1 % 2) |
| 100 |
88, 99 |
ax_mp |
a % 2 ^ suc a1 % 2 ^ a1 = a % 2 ^ a1 -> 2 ^ a1 * (a % 2 ^ suc a1 // 2 ^ a1) + a % 2 ^ suc a1 % 2 ^ a1 = 2 ^ a1 * (a // 2 ^ a1 % 2) + a % 2 ^ a1 |
| 101 |
|
modmod |
2 ^ a1 || 2 ^ suc a1 -> a % 2 ^ suc a1 % 2 ^ a1 = a % 2 ^ a1 |
| 102 |
|
powdvd |
a1 <= suc a1 -> 2 ^ a1 || 2 ^ suc a1 |
| 103 |
|
lesucid |
a1 <= suc a1 |
| 104 |
102, 103 |
ax_mp |
2 ^ a1 || 2 ^ suc a1 |
| 105 |
101, 104 |
ax_mp |
a % 2 ^ suc a1 % 2 ^ a1 = a % 2 ^ a1 |
| 106 |
100, 105 |
ax_mp |
2 ^ a1 * (a % 2 ^ suc a1 // 2 ^ a1) + a % 2 ^ suc a1 % 2 ^ a1 = 2 ^ a1 * (a // 2 ^ a1 % 2) + a % 2 ^ a1 |
| 107 |
87, 106 |
ax_mp |
2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) + b % 2 ^ suc a1 % 2 ^ a1 = 2 ^ a1 * (b // 2 ^ a1 % 2) + b % 2 ^ a1 ->
(2 ^ a1 * (a % 2 ^ suc a1 // 2 ^ a1) + a % 2 ^ suc a1 % 2 ^ a1 <= 2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) + b % 2 ^ suc a1 % 2 ^ a1 <->
2 ^ a1 * (a // 2 ^ a1 % 2) + a % 2 ^ a1 <= 2 ^ a1 * (b // 2 ^ a1 % 2) + b % 2 ^ a1) |
| 108 |
|
addeq |
2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) = 2 ^ a1 * (b // 2 ^ a1 % 2) ->
b % 2 ^ suc a1 % 2 ^ a1 = b % 2 ^ a1 ->
2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) + b % 2 ^ suc a1 % 2 ^ a1 = 2 ^ a1 * (b // 2 ^ a1 % 2) + b % 2 ^ a1 |
| 109 |
|
muleq2 |
b % 2 ^ suc a1 // 2 ^ a1 = b // 2 ^ a1 % 2 -> 2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) = 2 ^ a1 * (b // 2 ^ a1 % 2) |
| 110 |
|
eqtr4 |
b % 2 ^ suc a1 // 2 ^ a1 = b % (2 ^ a1 * 2) // 2 ^ a1 -> b // 2 ^ a1 % 2 = b % (2 ^ a1 * 2) // 2 ^ a1 -> b % 2 ^ suc a1 // 2 ^ a1 = b // 2 ^ a1 % 2 |
| 111 |
|
diveq1 |
b % 2 ^ suc a1 = b % (2 ^ a1 * 2) -> b % 2 ^ suc a1 // 2 ^ a1 = b % (2 ^ a1 * 2) // 2 ^ a1 |
| 112 |
|
modeq2 |
2 ^ suc a1 = 2 ^ a1 * 2 -> b % 2 ^ suc a1 = b % (2 ^ a1 * 2) |
| 113 |
112, 93 |
ax_mp |
b % 2 ^ suc a1 = b % (2 ^ a1 * 2) |
| 114 |
111, 113 |
ax_mp |
b % 2 ^ suc a1 // 2 ^ a1 = b % (2 ^ a1 * 2) // 2 ^ a1 |
| 115 |
110, 114 |
ax_mp |
b // 2 ^ a1 % 2 = b % (2 ^ a1 * 2) // 2 ^ a1 -> b % 2 ^ suc a1 // 2 ^ a1 = b // 2 ^ a1 % 2 |
| 116 |
|
divmod1 |
b // 2 ^ a1 % 2 = b % (2 ^ a1 * 2) // 2 ^ a1 |
| 117 |
115, 116 |
ax_mp |
b % 2 ^ suc a1 // 2 ^ a1 = b // 2 ^ a1 % 2 |
| 118 |
109, 117 |
ax_mp |
2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) = 2 ^ a1 * (b // 2 ^ a1 % 2) |
| 119 |
108, 118 |
ax_mp |
b % 2 ^ suc a1 % 2 ^ a1 = b % 2 ^ a1 -> 2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) + b % 2 ^ suc a1 % 2 ^ a1 = 2 ^ a1 * (b // 2 ^ a1 % 2) + b % 2 ^ a1 |
| 120 |
|
modmod |
2 ^ a1 || 2 ^ suc a1 -> b % 2 ^ suc a1 % 2 ^ a1 = b % 2 ^ a1 |
| 121 |
120, 104 |
ax_mp |
b % 2 ^ suc a1 % 2 ^ a1 = b % 2 ^ a1 |
| 122 |
119, 121 |
ax_mp |
2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) + b % 2 ^ suc a1 % 2 ^ a1 = 2 ^ a1 * (b // 2 ^ a1 % 2) + b % 2 ^ a1 |
| 123 |
107, 122 |
ax_mp |
2 ^ a1 * (a % 2 ^ suc a1 // 2 ^ a1) + a % 2 ^ suc a1 % 2 ^ a1 <= 2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) + b % 2 ^ suc a1 % 2 ^ a1 <->
2 ^ a1 * (a // 2 ^ a1 % 2) + a % 2 ^ a1 <= 2 ^ a1 * (b // 2 ^ a1 % 2) + b % 2 ^ a1 |
| 124 |
|
lemul2a |
a // 2 ^ a1 % 2 <= b // 2 ^ a1 % 2 -> 2 ^ a1 * (a // 2 ^ a1 % 2) <= 2 ^ a1 * (b // 2 ^ a1 % 2) |
| 125 |
|
letrueb |
bool (a // 2 ^ a1 % 2) -> (a // 2 ^ a1 % 2 <= b // 2 ^ a1 % 2 <-> true (a // 2 ^ a1 % 2) -> true (b // 2 ^ a1 % 2)) |
| 126 |
|
boolmod2 |
bool (a // 2 ^ a1 % 2) |
| 127 |
125, 126 |
ax_mp |
a // 2 ^ a1 % 2 <= b // 2 ^ a1 % 2 <-> true (a // 2 ^ a1 % 2) -> true (b // 2 ^ a1 % 2) |
| 128 |
|
dfodd2 |
odd (a // 2 ^ a1) <-> true (a // 2 ^ a1 % 2) |
| 129 |
|
dfodd2 |
odd (b // 2 ^ a1) <-> true (b // 2 ^ a1 % 2) |
| 130 |
|
elnel |
a1 e. a <-> odd (shr a a1) |
| 131 |
130 |
conv shr |
a1 e. a <-> odd (a // 2 ^ a1) |
| 132 |
|
elnel |
a1 e. b <-> odd (shr b a1) |
| 133 |
132 |
conv shr |
a1 e. b <-> odd (b // 2 ^ a1) |
| 134 |
|
anl |
(a1 e. a -> a1 e. b) /\ a % 2 ^ a1 <= b % 2 ^ a1 -> a1 e. a -> a1 e. b |
| 135 |
133, 134 |
syl6ib |
(a1 e. a -> a1 e. b) /\ a % 2 ^ a1 <= b % 2 ^ a1 -> a1 e. a -> odd (b // 2 ^ a1) |
| 136 |
131, 135 |
syl5bir |
(a1 e. a -> a1 e. b) /\ a % 2 ^ a1 <= b % 2 ^ a1 -> odd (a // 2 ^ a1) -> odd (b // 2 ^ a1) |
| 137 |
129, 136 |
syl6ib |
(a1 e. a -> a1 e. b) /\ a % 2 ^ a1 <= b % 2 ^ a1 -> odd (a // 2 ^ a1) -> true (b // 2 ^ a1 % 2) |
| 138 |
128, 137 |
syl5bir |
(a1 e. a -> a1 e. b) /\ a % 2 ^ a1 <= b % 2 ^ a1 -> true (a // 2 ^ a1 % 2) -> true (b // 2 ^ a1 % 2) |
| 139 |
127, 138 |
sylibr |
(a1 e. a -> a1 e. b) /\ a % 2 ^ a1 <= b % 2 ^ a1 -> a // 2 ^ a1 % 2 <= b // 2 ^ a1 % 2 |
| 140 |
124, 139 |
syl |
(a1 e. a -> a1 e. b) /\ a % 2 ^ a1 <= b % 2 ^ a1 -> 2 ^ a1 * (a // 2 ^ a1 % 2) <= 2 ^ a1 * (b // 2 ^ a1 % 2) |
| 141 |
|
anr |
(a1 e. a -> a1 e. b) /\ a % 2 ^ a1 <= b % 2 ^ a1 -> a % 2 ^ a1 <= b % 2 ^ a1 |
| 142 |
140, 141 |
leaddd |
(a1 e. a -> a1 e. b) /\ a % 2 ^ a1 <= b % 2 ^ a1 -> 2 ^ a1 * (a // 2 ^ a1 % 2) + a % 2 ^ a1 <= 2 ^ a1 * (b // 2 ^ a1 % 2) + b % 2 ^ a1 |
| 143 |
123, 142 |
sylibr |
(a1 e. a -> a1 e. b) /\ a % 2 ^ a1 <= b % 2 ^ a1 ->
2 ^ a1 * (a % 2 ^ suc a1 // 2 ^ a1) + a % 2 ^ suc a1 % 2 ^ a1 <= 2 ^ a1 * (b % 2 ^ suc a1 // 2 ^ a1) + b % 2 ^ suc a1 % 2 ^ a1 |
| 144 |
86, 143 |
sylib |
(a1 e. a -> a1 e. b) /\ a % 2 ^ a1 <= b % 2 ^ a1 -> a % 2 ^ suc a1 <= b % 2 ^ suc a1 |
| 145 |
144 |
exp |
(a1 e. a -> a1 e. b) -> a % 2 ^ a1 <= b % 2 ^ a1 -> a % 2 ^ suc a1 <= b % 2 ^ suc a1 |
| 146 |
81, 145 |
rsyl |
A. x (x < suc a1 -> x e. a -> x e. b) -> a % 2 ^ a1 <= b % 2 ^ a1 -> a % 2 ^ suc a1 <= b % 2 ^ suc a1 |
| 147 |
146 |
a2i |
(A. x (x < suc a1 -> x e. a -> x e. b) -> a % 2 ^ a1 <= b % 2 ^ a1) -> A. x (x < suc a1 -> x e. a -> x e. b) -> a % 2 ^ suc a1 <= b % 2 ^ suc a1 |
| 148 |
74, 147 |
rsyl |
(A. x (x < a1 -> x e. a -> x e. b) -> a % 2 ^ a1 <= b % 2 ^ a1) -> A. x (x < suc a1 -> x e. a -> x e. b) -> a % 2 ^ suc a1 <= b % 2 ^ suc a1 |
| 149 |
14, 28, 42, 56, 68, 148 |
ind |
A. x (x < n -> x e. a -> x e. b) -> a % 2 ^ n <= b % 2 ^ n |