Step | Hyp | Ref | Expression |
1 |
|
addeq2 |
x = c -> b + x = b + c |
2 |
1 |
muleq2d |
x = c -> a * (b + x) = a * (b + c) |
3 |
|
muleq2 |
x = c -> a * x = a * c |
4 |
3 |
addeq2d |
x = c -> a * b + a * x = a * b + a * c |
5 |
2, 4 |
eqeqd |
x = c -> (a * (b + x) = a * b + a * x <-> a * (b + c) = a * b + a * c) |
6 |
|
addeq2 |
x = 0 -> b + x = b + 0 |
7 |
6 |
muleq2d |
x = 0 -> a * (b + x) = a * (b + 0) |
8 |
|
muleq2 |
x = 0 -> a * x = a * 0 |
9 |
8 |
addeq2d |
x = 0 -> a * b + a * x = a * b + a * 0 |
10 |
7, 9 |
eqeqd |
x = 0 -> (a * (b + x) = a * b + a * x <-> a * (b + 0) = a * b + a * 0) |
11 |
|
addeq2 |
x = y -> b + x = b + y |
12 |
11 |
muleq2d |
x = y -> a * (b + x) = a * (b + y) |
13 |
|
muleq2 |
x = y -> a * x = a * y |
14 |
13 |
addeq2d |
x = y -> a * b + a * x = a * b + a * y |
15 |
12, 14 |
eqeqd |
x = y -> (a * (b + x) = a * b + a * x <-> a * (b + y) = a * b + a * y) |
16 |
|
addeq2 |
x = suc y -> b + x = b + suc y |
17 |
16 |
muleq2d |
x = suc y -> a * (b + x) = a * (b + suc y) |
18 |
|
muleq2 |
x = suc y -> a * x = a * suc y |
19 |
18 |
addeq2d |
x = suc y -> a * b + a * x = a * b + a * suc y |
20 |
17, 19 |
eqeqd |
x = suc y -> (a * (b + x) = a * b + a * x <-> a * (b + suc y) = a * b + a * suc y) |
21 |
|
eqtr4 |
a * (b + 0) = a * b -> a * b + a * 0 = a * b -> a * (b + 0) = a * b + a * 0 |
22 |
|
muleq2 |
b + 0 = b -> a * (b + 0) = a * b |
23 |
|
add0 |
b + 0 = b |
24 |
22, 23 |
ax_mp |
a * (b + 0) = a * b |
25 |
21, 24 |
ax_mp |
a * b + a * 0 = a * b -> a * (b + 0) = a * b + a * 0 |
26 |
|
eqtr |
a * b + a * 0 = a * b + 0 -> a * b + 0 = a * b -> a * b + a * 0 = a * b |
27 |
|
addeq2 |
a * 0 = 0 -> a * b + a * 0 = a * b + 0 |
28 |
|
mul0 |
a * 0 = 0 |
29 |
27, 28 |
ax_mp |
a * b + a * 0 = a * b + 0 |
30 |
26, 29 |
ax_mp |
a * b + 0 = a * b -> a * b + a * 0 = a * b |
31 |
|
add0 |
a * b + 0 = a * b |
32 |
30, 31 |
ax_mp |
a * b + a * 0 = a * b |
33 |
25, 32 |
ax_mp |
a * (b + 0) = a * b + a * 0 |
34 |
|
eqtr |
a * (b + suc y) = a * suc (b + y) -> a * suc (b + y) = a * (b + y) + a -> a * (b + suc y) = a * (b + y) + a |
35 |
|
muleq2 |
b + suc y = suc (b + y) -> a * (b + suc y) = a * suc (b + y) |
36 |
|
addS |
b + suc y = suc (b + y) |
37 |
35, 36 |
ax_mp |
a * (b + suc y) = a * suc (b + y) |
38 |
34, 37 |
ax_mp |
a * suc (b + y) = a * (b + y) + a -> a * (b + suc y) = a * (b + y) + a |
39 |
|
mulS |
a * suc (b + y) = a * (b + y) + a |
40 |
38, 39 |
ax_mp |
a * (b + suc y) = a * (b + y) + a |
41 |
|
eqtr4 |
a * b + a * suc y = a * b + (a * y + a) -> a * b + a * y + a = a * b + (a * y + a) -> a * b + a * suc y = a * b + a * y + a |
42 |
|
addeq2 |
a * suc y = a * y + a -> a * b + a * suc y = a * b + (a * y + a) |
43 |
|
mulS |
a * suc y = a * y + a |
44 |
42, 43 |
ax_mp |
a * b + a * suc y = a * b + (a * y + a) |
45 |
41, 44 |
ax_mp |
a * b + a * y + a = a * b + (a * y + a) -> a * b + a * suc y = a * b + a * y + a |
46 |
|
addass |
a * b + a * y + a = a * b + (a * y + a) |
47 |
45, 46 |
ax_mp |
a * b + a * suc y = a * b + a * y + a |
48 |
|
addeq1 |
a * (b + y) = a * b + a * y -> a * (b + y) + a = a * b + a * y + a |
49 |
40, 47, 48 |
eqtr4g |
a * (b + y) = a * b + a * y -> a * (b + suc y) = a * b + a * suc y |
50 |
5, 10, 15, 20, 33, 49 |
ind |
a * (b + c) = a * b + a * c |