Step | Hyp | Ref | Expression |
1 |
|
anrl |
G /\ (r < b /\ b * q + r = a) -> r < b |
2 |
|
hyp h1 |
G -> R < b |
3 |
2 |
anwl |
G /\ (r < b /\ b * q + r = a) -> R < b |
4 |
|
eqle |
b * q + r = b * Q + R -> b * q + r <= b * Q + R |
5 |
|
anrr |
G /\ (r < b /\ b * q + r = a) -> b * q + r = a |
6 |
|
hyp h2 |
G -> b * Q + R = a |
7 |
6 |
anwl |
G /\ (r < b /\ b * q + r = a) -> b * Q + R = a |
8 |
5, 7 |
eqtr4d |
G /\ (r < b /\ b * q + r = a) -> b * q + r = b * Q + R |
9 |
4, 8 |
syl |
G /\ (r < b /\ b * q + r = a) -> b * q + r <= b * Q + R |
10 |
1, 3, 9 |
divlem1 |
G /\ (r < b /\ b * q + r = a) -> q <= Q |
11 |
|
eqle |
b * Q + R = b * q + r -> b * Q + R <= b * q + r |
12 |
7, 5 |
eqtr4d |
G /\ (r < b /\ b * q + r = a) -> b * Q + R = b * q + r |
13 |
11, 12 |
syl |
G /\ (r < b /\ b * q + r = a) -> b * Q + R <= b * q + r |
14 |
3, 1, 13 |
divlem1 |
G /\ (r < b /\ b * q + r = a) -> Q <= q |
15 |
10, 14 |
leasymd |
G /\ (r < b /\ b * q + r = a) -> q = Q |
16 |
15 |
eexda |
G -> E. r (r < b /\ b * q + r = a) -> q = Q |
17 |
|
lteq1 |
r = R -> (r < b <-> R < b) |
18 |
|
addeq2 |
r = R -> b * q + r = b * q + R |
19 |
18 |
eqeq1d |
r = R -> (b * q + r = a <-> b * q + R = a) |
20 |
17, 19 |
aneqd |
r = R -> (r < b /\ b * q + r = a <-> R < b /\ b * q + R = a) |
21 |
20 |
iexe |
R < b /\ b * q + R = a -> E. r (r < b /\ b * q + r = a) |
22 |
2 |
anwl |
G /\ q = Q -> R < b |
23 |
|
muleq2 |
q = Q -> b * q = b * Q |
24 |
23 |
addeq1d |
q = Q -> b * q + R = b * Q + R |
25 |
24 |
anwr |
G /\ q = Q -> b * q + R = b * Q + R |
26 |
6 |
anwl |
G /\ q = Q -> b * Q + R = a |
27 |
25, 26 |
eqtrd |
G /\ q = Q -> b * q + R = a |
28 |
22, 27 |
iand |
G /\ q = Q -> R < b /\ b * q + R = a |
29 |
21, 28 |
syl |
G /\ q = Q -> E. r (r < b /\ b * q + r = a) |
30 |
29 |
exp |
G -> q = Q -> E. r (r < b /\ b * q + r = a) |
31 |
16, 30 |
ibid |
G -> (E. r (r < b /\ b * q + r = a) <-> q = Q) |