theorem zmodeq0 (a n: nat): $ a %Z n = 0 <-> b0 n |Z a $;
Step | Hyp | Ref | Expression |
1 |
|
bitr4 |
(a %Z n = 0 <-> n || zabs (zfst a + n -ZN zsnd a % n)) -> (b0 n |Z a <-> n || zabs (zfst a + n -ZN zsnd a % n)) -> (a %Z n = 0 <-> b0 n |Z a) |
2 |
|
modeq0 |
zabs (zfst a + n -ZN zsnd a % n) % n = 0 <-> n || zabs (zfst a + n -ZN zsnd a % n) |
3 |
2 |
conv zmod |
a %Z n = 0 <-> n || zabs (zfst a + n -ZN zsnd a % n) |
4 |
1, 3 |
ax_mp |
(b0 n |Z a <-> n || zabs (zfst a + n -ZN zsnd a % n)) -> (a %Z n = 0 <-> b0 n |Z a) |
5 |
|
bitr4 |
(b0 n |Z a <-> n || zabs a) -> (n || zabs (zfst a + n -ZN zsnd a % n) <-> n || zabs a) -> (b0 n |Z a <-> n || zabs (zfst a + n -ZN zsnd a % n)) |
6 |
|
zdvdb01 |
b0 n |Z a <-> n || zabs a |
7 |
5, 6 |
ax_mp |
(n || zabs (zfst a + n -ZN zsnd a % n) <-> n || zabs a) -> (b0 n |Z a <-> n || zabs (zfst a + n -ZN zsnd a % n)) |
8 |
|
eqmdvdsub3 |
mod(n): zfst a = zsnd a <-> n || zabs a |
9 |
|
eqmdvdsub2 |
mod(n): zsnd a % n = zfst a + n <-> n || zabs (zfst a + n -ZN zsnd a % n) |
10 |
|
eqmcomb |
mod(n): zsnd a = zfst a <-> mod(n): zfst a = zsnd a |
11 |
|
eqmmod |
mod(n): zsnd a % n = zsnd a |
12 |
11 |
a1i |
T. -> mod(n): zsnd a % n = zsnd a |
13 |
|
eqmaddn |
mod(n): zfst a + n = zfst a |
14 |
13 |
a1i |
T. -> mod(n): zfst a + n = zfst a |
15 |
12, 14 |
eqmeqm23d |
T. -> (mod(n): zsnd a % n = zfst a + n <-> mod(n): zsnd a = zfst a) |
16 |
10, 15 |
syl6bb |
T. -> (mod(n): zsnd a % n = zfst a + n <-> mod(n): zfst a = zsnd a) |
17 |
9, 16 |
syl5bbr |
T. -> (n || zabs (zfst a + n -ZN zsnd a % n) <-> mod(n): zfst a = zsnd a) |
18 |
8, 17 |
syl6bb |
T. -> (n || zabs (zfst a + n -ZN zsnd a % n) <-> n || zabs a) |
19 |
18 |
trud |
n || zabs (zfst a + n -ZN zsnd a % n) <-> n || zabs a |
20 |
7, 19 |
ax_mp |
b0 n |Z a <-> n || zabs (zfst a + n -ZN zsnd a % n) |
21 |
4, 20 |
ax_mp |
a %Z n = 0 <-> b0 n |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)