Theorem znegid | index | src |

theorem znegid (a: nat): $ a +Z -uZ a = 0 $;
StepHypRefExpression
1 eqtr3
zfst a -ZN zsnd a +Z -uZ a = a +Z -uZ a -> zfst a -ZN zsnd a +Z -uZ a = 0 -> a +Z -uZ a = 0
2 zaddeq1
zfst a -ZN zsnd a = a -> zfst a -ZN zsnd a +Z -uZ a = a +Z -uZ a
3 zfstsnd
zfst a -ZN zsnd a = a
4 2, 3 ax_mp
zfst a -ZN zsnd a +Z -uZ a = a +Z -uZ a
5 1, 4 ax_mp
zfst a -ZN zsnd a +Z -uZ a = 0 -> a +Z -uZ a = 0
6 eqtr
zfst a -ZN zsnd a +Z -uZ a = zfst a + zsnd a -ZN (zsnd a + zfst a) -> zfst a + zsnd a -ZN (zsnd a + zfst a) = 0 -> zfst a -ZN zsnd a +Z -uZ a = 0
7 zaddzn
zfst a -ZN zsnd a +Z (zsnd a -ZN zfst a) = zfst a + zsnd a -ZN (zsnd a + zfst a)
8 7 conv zneg
zfst a -ZN zsnd a +Z -uZ a = zfst a + zsnd a -ZN (zsnd a + zfst a)
9 6, 8 ax_mp
zfst a + zsnd a -ZN (zsnd a + zfst a) = 0 -> zfst a -ZN zsnd a +Z -uZ a = 0
10 eqtr
zfst a + zsnd a -ZN (zsnd a + zfst a) = zsnd a + zfst a -ZN (zsnd a + zfst a) ->
  zsnd a + zfst a -ZN (zsnd a + zfst a) = 0 ->
  zfst a + zsnd a -ZN (zsnd a + zfst a) = 0
11 znsubeq1
zfst a + zsnd a = zsnd a + zfst a -> zfst a + zsnd a -ZN (zsnd a + zfst a) = zsnd a + zfst a -ZN (zsnd a + zfst a)
12 addcom
zfst a + zsnd a = zsnd a + zfst a
13 11, 12 ax_mp
zfst a + zsnd a -ZN (zsnd a + zfst a) = zsnd a + zfst a -ZN (zsnd a + zfst a)
14 10, 13 ax_mp
zsnd a + zfst a -ZN (zsnd a + zfst a) = 0 -> zfst a + zsnd a -ZN (zsnd a + zfst a) = 0
15 znsubid
zsnd a + zfst a -ZN (zsnd a + zfst a) = 0
16 14, 15 ax_mp
zfst a + zsnd a -ZN (zsnd a + zfst a) = 0
17 9, 16 ax_mp
zfst a -ZN zsnd a +Z -uZ a = 0
18 5, 17 ax_mp
a +Z -uZ a = 0

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)