Theorem zpncan | index | src |

theorem zpncan (a b: nat): $ a +Z b -Z b = a $;
StepHypRefExpression
1 eqtr
a +Z b -Z b = a +Z (b +Z -uZ b) -> a +Z (b +Z -uZ b) = a -> a +Z b -Z b = a
2 zaddass
a +Z b +Z -uZ b = a +Z (b +Z -uZ b)
3 2 conv zsub
a +Z b -Z b = a +Z (b +Z -uZ b)
4 1, 3 ax_mp
a +Z (b +Z -uZ b) = a -> a +Z b -Z b = a
5 eqtr
a +Z (b +Z -uZ b) = a +Z 0 -> a +Z 0 = a -> a +Z (b +Z -uZ b) = a
6 zaddeq2
b +Z -uZ b = 0 -> a +Z (b +Z -uZ b) = a +Z 0
7 znegid
b +Z -uZ b = 0
8 6, 7 ax_mp
a +Z (b +Z -uZ b) = a +Z 0
9 5, 8 ax_mp
a +Z 0 = a -> a +Z (b +Z -uZ b) = a
10 zadd02
a +Z 0 = a
11 9, 10 ax_mp
a +Z (b +Z -uZ b) = a
12 4, 11 ax_mp
a +Z b -Z 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)