theorem lemul1a (a b c: nat): $ a <= b -> a * c <= b * c $;
Step | Hyp | Ref | Expression |
1 |
|
eqidd |
x = c -> a = a |
2 |
|
id |
x = c -> x = c |
3 |
1, 2 |
muleqd |
x = c -> a * x = a * c |
4 |
|
eqidd |
x = c -> b = b |
5 |
4, 2 |
muleqd |
x = c -> b * x = b * c |
6 |
3, 5 |
leeqd |
x = c -> (a * x <= b * x <-> a * c <= b * c) |
7 |
|
eqidd |
x = 0 -> a = a |
8 |
|
id |
x = 0 -> x = 0 |
9 |
7, 8 |
muleqd |
x = 0 -> a * x = a * 0 |
10 |
|
eqidd |
x = 0 -> b = b |
11 |
10, 8 |
muleqd |
x = 0 -> b * x = b * 0 |
12 |
9, 11 |
leeqd |
x = 0 -> (a * x <= b * x <-> a * 0 <= b * 0) |
13 |
|
eqidd |
x = y -> a = a |
14 |
|
id |
x = y -> x = y |
15 |
13, 14 |
muleqd |
x = y -> a * x = a * y |
16 |
|
eqidd |
x = y -> b = b |
17 |
16, 14 |
muleqd |
x = y -> b * x = b * y |
18 |
15, 17 |
leeqd |
x = y -> (a * x <= b * x <-> a * y <= b * y) |
19 |
|
eqidd |
x = suc y -> a = a |
20 |
|
id |
x = suc y -> x = suc y |
21 |
19, 20 |
muleqd |
x = suc y -> a * x = a * suc y |
22 |
|
eqidd |
x = suc y -> b = b |
23 |
22, 20 |
muleqd |
x = suc y -> b * x = b * suc y |
24 |
21, 23 |
leeqd |
x = suc y -> (a * x <= b * x <-> a * suc y <= b * suc y) |
25 |
|
eqle |
a * 0 = b * 0 -> a * 0 <= b * 0 |
26 |
|
eqtr4 |
a * 0 = 0 -> b * 0 = 0 -> a * 0 = b * 0 |
27 |
|
mul0 |
a * 0 = 0 |
28 |
26, 27 |
ax_mp |
b * 0 = 0 -> a * 0 = b * 0 |
29 |
|
mul0 |
b * 0 = 0 |
30 |
28, 29 |
ax_mp |
a * 0 = b * 0 |
31 |
25, 30 |
ax_mp |
a * 0 <= b * 0 |
32 |
31 |
a1i |
a <= b -> a * 0 <= b * 0 |
33 |
|
leeq |
a * suc y = a * y + a -> b * suc y = b * y + b -> (a * suc y <= b * suc y <-> a * y + a <= b * y + b) |
34 |
|
mulS |
a * suc y = a * y + a |
35 |
33, 34 |
ax_mp |
b * suc y = b * y + b -> (a * suc y <= b * suc y <-> a * y + a <= b * y + b) |
36 |
|
mulS |
b * suc y = b * y + b |
37 |
35, 36 |
ax_mp |
a * suc y <= b * suc y <-> a * y + a <= b * y + b |
38 |
|
anr |
a <= b /\ a * y <= b * y -> a * y <= b * y |
39 |
|
anl |
a <= b /\ a * y <= b * y -> a <= b |
40 |
38, 39 |
leaddd |
a <= b /\ a * y <= b * y -> a * y + a <= b * y + b |
41 |
37, 40 |
sylibr |
a <= b /\ a * y <= b * y -> a * suc y <= b * suc y |
42 |
6, 12, 18, 24, 32, 41 |
indd |
a <= b -> a * c <= b * c |
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
(peano2,
peano5,
addeq,
muleq,
add0,
addS,
mul0,
mulS)