| Step | Hyp | Ref | Expression |
| 1 |
|
id |
_1 = a -> _1 = a |
| 2 |
1 |
eqeq2d |
_1 = a -> (b * q + r = _1 <-> b * q + r = a) |
| 3 |
2 |
aneq2d |
_1 = a -> (r < b /\ b * q + r = _1 <-> r < b /\ b * q + r = a) |
| 4 |
3 |
exeqd |
_1 = a -> (E. r (r < b /\ b * q + r = _1) <-> E. r (r < b /\ b * q + r = a)) |
| 5 |
4 |
exeqd |
_1 = a -> (E. q E. r (r < b /\ b * q + r = _1) <-> E. q E. r (r < b /\ b * q + r = a)) |
| 6 |
|
id |
_1 = 0 -> _1 = 0 |
| 7 |
6 |
eqeq2d |
_1 = 0 -> (b * q + r = _1 <-> b * q + r = 0) |
| 8 |
7 |
aneq2d |
_1 = 0 -> (r < b /\ b * q + r = _1 <-> r < b /\ b * q + r = 0) |
| 9 |
8 |
exeqd |
_1 = 0 -> (E. r (r < b /\ b * q + r = _1) <-> E. r (r < b /\ b * q + r = 0)) |
| 10 |
9 |
exeqd |
_1 = 0 -> (E. q E. r (r < b /\ b * q + r = _1) <-> E. q E. r (r < b /\ b * q + r = 0)) |
| 11 |
|
id |
_1 = a1 -> _1 = a1 |
| 12 |
11 |
eqeq2d |
_1 = a1 -> (b * q + r = _1 <-> b * q + r = a1) |
| 13 |
12 |
aneq2d |
_1 = a1 -> (r < b /\ b * q + r = _1 <-> r < b /\ b * q + r = a1) |
| 14 |
13 |
exeqd |
_1 = a1 -> (E. r (r < b /\ b * q + r = _1) <-> E. r (r < b /\ b * q + r = a1)) |
| 15 |
14 |
exeqd |
_1 = a1 -> (E. q E. r (r < b /\ b * q + r = _1) <-> E. q E. r (r < b /\ b * q + r = a1)) |
| 16 |
|
id |
_1 = suc a1 -> _1 = suc a1 |
| 17 |
16 |
eqeq2d |
_1 = suc a1 -> (b * q + r = _1 <-> b * q + r = suc a1) |
| 18 |
17 |
aneq2d |
_1 = suc a1 -> (r < b /\ b * q + r = _1 <-> r < b /\ b * q + r = suc a1) |
| 19 |
18 |
exeqd |
_1 = suc a1 -> (E. r (r < b /\ b * q + r = _1) <-> E. r (r < b /\ b * q + r = suc a1)) |
| 20 |
19 |
exeqd |
_1 = suc a1 -> (E. q E. r (r < b /\ b * q + r = _1) <-> E. q E. r (r < b /\ b * q + r = suc a1)) |
| 21 |
|
lteq1 |
r = 0 -> (r < b <-> 0 < b) |
| 22 |
21 |
anwr |
b != 0 /\ q = 0 /\ r = 0 -> (r < b <-> 0 < b) |
| 23 |
|
lt01 |
0 < b <-> b != 0 |
| 24 |
|
anll |
b != 0 /\ q = 0 /\ r = 0 -> b != 0 |
| 25 |
23, 24 |
sylibr |
b != 0 /\ q = 0 /\ r = 0 -> 0 < b |
| 26 |
22, 25 |
mpbird |
b != 0 /\ q = 0 /\ r = 0 -> r < b |
| 27 |
|
add0 |
0 + 0 = 0 |
| 28 |
|
mul02 |
b * 0 = 0 |
| 29 |
|
muleq2 |
q = 0 -> b * q = b * 0 |
| 30 |
29 |
anwr |
b != 0 /\ q = 0 -> b * q = b * 0 |
| 31 |
30 |
anwl |
b != 0 /\ q = 0 /\ r = 0 -> b * q = b * 0 |
| 32 |
28, 31 |
syl6eq |
b != 0 /\ q = 0 /\ r = 0 -> b * q = 0 |
| 33 |
|
anr |
b != 0 /\ q = 0 /\ r = 0 -> r = 0 |
| 34 |
32, 33 |
addeqd |
b != 0 /\ q = 0 /\ r = 0 -> b * q + r = 0 + 0 |
| 35 |
27, 34 |
syl6eq |
b != 0 /\ q = 0 /\ r = 0 -> b * q + r = 0 |
| 36 |
26, 35 |
iand |
b != 0 /\ q = 0 /\ r = 0 -> r < b /\ b * q + r = 0 |
| 37 |
36 |
iexde |
b != 0 /\ q = 0 -> E. r (r < b /\ b * q + r = 0) |
| 38 |
37 |
iexde |
b != 0 -> E. q E. r (r < b /\ b * q + r = 0) |
| 39 |
|
lteq1 |
r = v -> (r < b <-> v < b) |
| 40 |
39 |
anwr |
q = u /\ r = v -> (r < b <-> v < b) |
| 41 |
|
muleq2 |
q = u -> b * q = b * u |
| 42 |
41 |
anwl |
q = u /\ r = v -> b * q = b * u |
| 43 |
|
anr |
q = u /\ r = v -> r = v |
| 44 |
42, 43 |
addeqd |
q = u /\ r = v -> b * q + r = b * u + v |
| 45 |
44 |
eqeq1d |
q = u /\ r = v -> (b * q + r = a1 <-> b * u + v = a1) |
| 46 |
40, 45 |
aneqd |
q = u /\ r = v -> (r < b /\ b * q + r = a1 <-> v < b /\ b * u + v = a1) |
| 47 |
46 |
cbvexd |
q = u -> (E. r (r < b /\ b * q + r = a1) <-> E. v (v < b /\ b * u + v = a1)) |
| 48 |
47 |
cbvex |
E. q E. r (r < b /\ b * q + r = a1) <-> E. u E. v (v < b /\ b * u + v = a1) |
| 49 |
|
leloe |
suc v <= b <-> suc v < b \/ suc v = b |
| 50 |
|
anrl |
b != 0 /\ (v < b /\ b * u + v = a1) -> v < b |
| 51 |
50 |
conv lt |
b != 0 /\ (v < b /\ b * u + v = a1) -> suc v <= b |
| 52 |
49, 51 |
sylib |
b != 0 /\ (v < b /\ b * u + v = a1) -> suc v < b \/ suc v = b |
| 53 |
|
lteq1 |
r = suc v -> (r < b <-> suc v < b) |
| 54 |
53 |
anwr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> (r < b <-> suc v < b) |
| 55 |
|
anr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b -> suc v < b |
| 56 |
55 |
anwll |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> suc v < b |
| 57 |
54, 56 |
mpbird |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> r < b |
| 58 |
|
addeq2 |
r = suc v -> b * q + r = b * q + suc v |
| 59 |
58 |
anwr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> b * q + r = b * q + suc v |
| 60 |
|
addS |
b * q + suc v = suc (b * q + v) |
| 61 |
|
anlr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> q = u |
| 62 |
61 |
muleq2d |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> b * q = b * u |
| 63 |
62 |
addeq1d |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> b * q + v = b * u + v |
| 64 |
|
anrr |
b != 0 /\ (v < b /\ b * u + v = a1) -> b * u + v = a1 |
| 65 |
64 |
anw3l |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> b * u + v = a1 |
| 66 |
63, 65 |
eqtrd |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> b * q + v = a1 |
| 67 |
66 |
suceqd |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> suc (b * q + v) = suc a1 |
| 68 |
60, 67 |
syl5eq |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> b * q + suc v = suc a1 |
| 69 |
59, 68 |
eqtrd |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> b * q + r = suc a1 |
| 70 |
57, 69 |
iand |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u /\ r = suc v -> r < b /\ b * q + r = suc a1 |
| 71 |
70 |
iexde |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b /\ q = u -> E. r (r < b /\ b * q + r = suc a1) |
| 72 |
71 |
iexde |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v < b -> E. q E. r (r < b /\ b * q + r = suc a1) |
| 73 |
21 |
anwr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> (r < b <-> 0 < b) |
| 74 |
|
anl |
b != 0 /\ (v < b /\ b * u + v = a1) -> b != 0 |
| 75 |
74 |
anw3l |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b != 0 |
| 76 |
23, 75 |
sylibr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> 0 < b |
| 77 |
73, 76 |
mpbird |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> r < b |
| 78 |
|
anlr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> q = suc u |
| 79 |
78 |
muleq2d |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * q = b * suc u |
| 80 |
|
anr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> r = 0 |
| 81 |
79, 80 |
addeqd |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * q + r = b * suc u + 0 |
| 82 |
|
add0 |
b * suc u + 0 = b * suc u |
| 83 |
|
mulS |
b * suc u = b * u + b |
| 84 |
|
anr |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b -> suc v = b |
| 85 |
84 |
anwll |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> suc v = b |
| 86 |
85 |
addeq2d |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * u + suc v = b * u + b |
| 87 |
|
addS |
b * u + suc v = suc (b * u + v) |
| 88 |
64 |
anw3l |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * u + v = a1 |
| 89 |
88 |
suceqd |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> suc (b * u + v) = suc a1 |
| 90 |
87, 89 |
syl5eq |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * u + suc v = suc a1 |
| 91 |
86, 90 |
eqtr3d |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * u + b = suc a1 |
| 92 |
83, 91 |
syl5eq |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * suc u = suc a1 |
| 93 |
82, 92 |
syl5eq |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * suc u + 0 = suc a1 |
| 94 |
81, 93 |
eqtrd |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> b * q + r = suc a1 |
| 95 |
77, 94 |
iand |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u /\ r = 0 -> r < b /\ b * q + r = suc a1 |
| 96 |
95 |
iexde |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b /\ q = suc u -> E. r (r < b /\ b * q + r = suc a1) |
| 97 |
96 |
iexde |
b != 0 /\ (v < b /\ b * u + v = a1) /\ suc v = b -> E. q E. r (r < b /\ b * q + r = suc a1) |
| 98 |
72, 97 |
eorda |
b != 0 /\ (v < b /\ b * u + v = a1) -> suc v < b \/ suc v = b -> E. q E. r (r < b /\ b * q + r = suc a1) |
| 99 |
52, 98 |
mpd |
b != 0 /\ (v < b /\ b * u + v = a1) -> E. q E. r (r < b /\ b * q + r = suc a1) |
| 100 |
99 |
eexda |
b != 0 -> E. v (v < b /\ b * u + v = a1) -> E. q E. r (r < b /\ b * q + r = suc a1) |
| 101 |
100 |
eexd |
b != 0 -> E. u E. v (v < b /\ b * u + v = a1) -> E. q E. r (r < b /\ b * q + r = suc a1) |
| 102 |
48, 101 |
syl5bi |
b != 0 -> E. q E. r (r < b /\ b * q + r = a1) -> E. q E. r (r < b /\ b * q + r = suc a1) |
| 103 |
102 |
imp |
b != 0 /\ E. q E. r (r < b /\ b * q + r = a1) -> E. q E. r (r < b /\ b * q + r = suc a1) |
| 104 |
5, 10, 15, 20, 38, 103 |
indd |
b != 0 -> E. q E. r (r < b /\ b * q + r = a) |