Theorem divmul | index | src |

theorem divmul (a b: nat): $ b || a -> a // b * b = a $;
StepHypRefExpression
1 diveq1
x * b = a -> x * b // b = a // b
2 1 muleq1d
x * b = a -> x * b // b * b = a // b * b
3 mul0
x * b // b * 0 = 0
4 muleq2
b = 0 -> x * b // b * b = x * b // b * 0
5 3, 4 syl6eq
b = 0 -> x * b // b * b = 0
6 mul0
x * 0 = 0
7 muleq2
b = 0 -> x * b = x * 0
8 6, 7 syl6eq
b = 0 -> x * b = 0
9 5, 8 eqtr4d
b = 0 -> x * b // b * b = x * b
10 muldiv1
b != 0 -> x * b // b = x
11 10 conv ne
~b = 0 -> x * b // b = x
12 11 muleq1d
~b = 0 -> x * b // b * b = x * b
13 9, 12 cases
x * b // b * b = x * b
14 id
x * b = a -> x * b = a
15 13, 14 syl5eq
x * b = a -> x * b // b * b = a
16 2, 15 eqtr3d
x * b = a -> a // b * b = a
17 16 eex
E. x x * b = a -> a // b * b = a
18 17 conv dvd
b || a -> a // b * b = a

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_set (elab, ax_8), axs_the (theid, the0), axs_peano (peano1, peano2, peano5, addeq, muleq, add0, addS, mul0, mulS)