theorem divlem1 (G: wff) (b q1 q2 r1 r2: nat):
$ G -> r1 < b $ >
$ G -> r2 < b $ >
$ G -> b * q1 + r1 <= b * q2 + r2 $ >
$ G -> q1 <= q2 $;
| Step | Hyp | Ref | Expression |
| 1 |
|
leltsuc |
q1 <= q2 <-> q1 < suc q2 |
| 2 |
|
ltmul2 |
0 < b -> (q1 < suc q2 <-> b * q1 < b * suc q2) |
| 3 |
|
le01 |
0 <= r1 |
| 4 |
3 |
a1i |
G -> 0 <= r1 |
| 5 |
|
hyp h1 |
G -> r1 < b |
| 6 |
4, 5 |
lelttrd |
G -> 0 < b |
| 7 |
2, 6 |
syl |
G -> (q1 < suc q2 <-> b * q1 < b * suc q2) |
| 8 |
|
leaddid1 |
b * q1 <= b * q1 + r1 |
| 9 |
8 |
a1i |
G -> b * q1 <= b * q1 + r1 |
| 10 |
|
hyp h3 |
G -> b * q1 + r1 <= b * q2 + r2 |
| 11 |
|
lteq2 |
b * suc q2 = b * q2 + b -> (b * q2 + r2 < b * suc q2 <-> b * q2 + r2 < b * q2 + b) |
| 12 |
|
mulS |
b * suc q2 = b * q2 + b |
| 13 |
11, 12 |
ax_mp |
b * q2 + r2 < b * suc q2 <-> b * q2 + r2 < b * q2 + b |
| 14 |
|
ltadd2 |
r2 < b <-> b * q2 + r2 < b * q2 + b |
| 15 |
|
hyp h2 |
G -> r2 < b |
| 16 |
14, 15 |
sylib |
G -> b * q2 + r2 < b * q2 + b |
| 17 |
13, 16 |
sylibr |
G -> b * q2 + r2 < b * suc q2 |
| 18 |
10, 17 |
lelttrd |
G -> b * q1 + r1 < b * suc q2 |
| 19 |
9, 18 |
lelttrd |
G -> b * q1 < b * suc q2 |
| 20 |
7, 19 |
mpbird |
G -> q1 < suc q2 |
| 21 |
1, 20 |
sylibr |
G -> q1 <= q2 |
Axiom use
axs_prop_calc
(ax_1,
ax_2,
ax_3,
ax_mp,
itru),
axs_pred_calc
(ax_gen,
ax_4,
ax_5,
ax_6,
ax_7,
ax_10,
ax_11,
ax_12),
axs_peano
(peano1,
peano2,
peano5,
addeq,
muleq,
add0,
addS,
mul0,
mulS)