Theorem zmulsub | index | src |

theorem zmulsub (a b c: nat): $ a *Z (b -Z c) = a *Z b -Z a *Z c $;
StepHypRefExpression
1 eqcom
a *Z b -Z a *Z c = a *Z (b -Z c) -> a *Z (b -Z c) = a *Z b -Z a *Z c
2 eqzsub
a *Z b -Z a *Z c = a *Z (b -Z c) <-> a *Z (b -Z c) +Z a *Z c = a *Z b
3 eqtr3
a *Z (b -Z c +Z c) = a *Z (b -Z c) +Z a *Z c -> a *Z (b -Z c +Z c) = a *Z b -> a *Z (b -Z c) +Z a *Z c = a *Z b
4 zmuladd
a *Z (b -Z c +Z c) = a *Z (b -Z c) +Z a *Z c
5 3, 4 ax_mp
a *Z (b -Z c +Z c) = a *Z b -> a *Z (b -Z c) +Z a *Z c = a *Z b
6 zmuleq2
b -Z c +Z c = b -> a *Z (b -Z c +Z c) = a *Z b
7 znpcan
b -Z c +Z c = b
8 6, 7 ax_mp
a *Z (b -Z c +Z c) = a *Z b
9 5, 8 ax_mp
a *Z (b -Z c) +Z a *Z c = a *Z b
10 2, 9 mpbir
a *Z b -Z a *Z c = a *Z (b -Z c)
11 1, 10 ax_mp
a *Z (b -Z c) = a *Z b -Z a *Z 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_set (elab, ax_8), axs_the (theid, the0), axs_peano (peano1, peano2, peano5, addeq, muleq, add0, addS, mul0, mulS)