Theorem zb0orb0div | index | src |

theorem zb0orb0div (a: nat): $ a = b0 (a // 2) \/ a = -uZ b0 (-uZ a // 2) $;
StepHypRefExpression
1 oreq
(0 <=Z a <-> a = b0 (a // 2)) -> (a <=Z 0 <-> a = -uZ b0 (-uZ a // 2)) -> (0 <=Z a \/ a <=Z 0 <-> a = b0 (a // 2) \/ a = -uZ b0 (-uZ a // 2))
2 zle02eq
0 <=Z a <-> a = b0 (a // 2)
3 1, 2 ax_mp
(a <=Z 0 <-> a = -uZ b0 (-uZ a // 2)) -> (0 <=Z a \/ a <=Z 0 <-> a = b0 (a // 2) \/ a = -uZ b0 (-uZ a // 2))
4 bitr3
(0 <=Z -uZ a <-> a <=Z 0) -> (0 <=Z -uZ a <-> a = -uZ b0 (-uZ a // 2)) -> (a <=Z 0 <-> a = -uZ b0 (-uZ a // 2))
5 zle0neg
0 <=Z -uZ a <-> a <=Z 0
6 4, 5 ax_mp
(0 <=Z -uZ a <-> a = -uZ b0 (-uZ a // 2)) -> (a <=Z 0 <-> a = -uZ b0 (-uZ a // 2))
7 bitr
(0 <=Z -uZ a <-> -uZ a = b0 (-uZ a // 2)) -> (-uZ a = b0 (-uZ a // 2) <-> a = -uZ b0 (-uZ a // 2)) -> (0 <=Z -uZ a <-> a = -uZ b0 (-uZ a // 2))
8 zle02eq
0 <=Z -uZ a <-> -uZ a = b0 (-uZ a // 2)
9 7, 8 ax_mp
(-uZ a = b0 (-uZ a // 2) <-> a = -uZ b0 (-uZ a // 2)) -> (0 <=Z -uZ a <-> a = -uZ b0 (-uZ a // 2))
10 bitr
(-uZ a = b0 (-uZ a // 2) <-> -uZ b0 (-uZ a // 2) = a) ->
  (-uZ b0 (-uZ a // 2) = a <-> a = -uZ b0 (-uZ a // 2)) ->
  (-uZ a = b0 (-uZ a // 2) <-> a = -uZ b0 (-uZ a // 2))
11 znegeqcom
-uZ a = b0 (-uZ a // 2) <-> -uZ b0 (-uZ a // 2) = a
12 10, 11 ax_mp
(-uZ b0 (-uZ a // 2) = a <-> a = -uZ b0 (-uZ a // 2)) -> (-uZ a = b0 (-uZ a // 2) <-> a = -uZ b0 (-uZ a // 2))
13 eqcomb
-uZ b0 (-uZ a // 2) = a <-> a = -uZ b0 (-uZ a // 2)
14 12, 13 ax_mp
-uZ a = b0 (-uZ a // 2) <-> a = -uZ b0 (-uZ a // 2)
15 9, 14 ax_mp
0 <=Z -uZ a <-> a = -uZ b0 (-uZ a // 2)
16 6, 15 ax_mp
a <=Z 0 <-> a = -uZ b0 (-uZ a // 2)
17 3, 16 ax_mp
0 <=Z a \/ a <=Z 0 <-> a = b0 (a // 2) \/ a = -uZ b0 (-uZ a // 2)
18 zleorle
0 <=Z a \/ a <=Z 0
19 17, 18 mpbi
a = b0 (a // 2) \/ a = -uZ b0 (-uZ a // 2)

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)