Theorem zsndeq0 | index | src |

theorem zsndeq0 (a: nat): $ zsnd a = 0 <-> 0 <=Z a $;
StepHypRefExpression
1 zle0b0
0 <=Z b0 (zfst a)
2 znsub02
zfst a -ZN 0 = b0 (zfst a)
3 zfstsnd
zfst a -ZN zsnd a = a
4 znsubeq2
zsnd a = 0 -> zfst a -ZN zsnd a = zfst a -ZN 0
5 3, 4 syl5eqr
zsnd a = 0 -> a = zfst a -ZN 0
6 2, 5 syl6eq
zsnd a = 0 -> a = b0 (zfst a)
7 6 zleeq2d
zsnd a = 0 -> (0 <=Z a <-> 0 <=Z b0 (zfst a))
8 1, 7 mpbiri
zsnd a = 0 -> 0 <=Z a
9 zsndb0
zsnd (b0 (a // 2)) = 0
10 zle02eq
0 <=Z a <-> a = b0 (a // 2)
11 zsndeq
a = b0 (a // 2) -> zsnd a = zsnd (b0 (a // 2))
12 10, 11 sylbi
0 <=Z a -> zsnd a = zsnd (b0 (a // 2))
13 9, 12 syl6eq
0 <=Z a -> zsnd a = 0
14 8, 13 ibii
zsnd a = 0 <-> 0 <=Z 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)