Metamath Proof Explorer


Theorem modprmn0modprm0

Description: For an integer not being 0 modulo a given prime number and a nonnegative integer less than the prime number, there is always a second nonnegative integer (less than the given prime number) so that the sum of this second nonnegative integer multiplied with the integer and the first nonnegative integer is 0 ( modulo the given prime number). (Contributed by Alexander van der Vekens, 10-Nov-2018)

Ref Expression
Assertion modprmn0modprm0 ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 → I ∈ 0 ..^ P → ∃ j ∈ 0 ..^ P I + j ⋅ N mod P = 0

Proof

Step Hyp Ref Expression
1 simpl1 ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P → P ∈ ℙ
2 prmnn ⊢ P ∈ ℙ → P ∈ ℕ
3 zmodfzo ⊢ N ∈ ℤ ∧ P ∈ ℕ → N mod P ∈ 0 ..^ P
4 2 3 sylan2 ⊢ N ∈ ℤ ∧ P ∈ ℙ → N mod P ∈ 0 ..^ P
5 4 ancoms ⊢ P ∈ ℙ ∧ N ∈ ℤ → N mod P ∈ 0 ..^ P
6 5 3adant3 ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 → N mod P ∈ 0 ..^ P
7 fzo1fzo0n0 ⊢ N mod P ∈ 1 ..^ P ↔ N mod P ∈ 0 ..^ P ∧ N mod P ≠ 0
8 7 simplbi2com ⊢ N mod P ≠ 0 → N mod P ∈ 0 ..^ P → N mod P ∈ 1 ..^ P
9 8 3ad2ant3 ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 → N mod P ∈ 0 ..^ P → N mod P ∈ 1 ..^ P
10 6 9 mpd ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 → N mod P ∈ 1 ..^ P
11 10 adantr ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P → N mod P ∈ 1 ..^ P
12 simpr ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P → I ∈ 0 ..^ P
13 nnnn0modprm0 ⊢ P ∈ ℙ ∧ N mod P ∈ 1 ..^ P ∧ I ∈ 0 ..^ P → ∃ j ∈ 0 ..^ P I + j ⁢ N mod P mod P = 0
14 1 11 12 13 syl3anc ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P → ∃ j ∈ 0 ..^ P I + j ⁢ N mod P mod P = 0
15 elfzoelz ⊢ j ∈ 0 ..^ P → j ∈ ℤ
16 15 zcnd ⊢ j ∈ 0 ..^ P → j ∈ ℂ
17 2 anim1ci ⊢ P ∈ ℙ ∧ N ∈ ℤ → N ∈ ℤ ∧ P ∈ ℕ
18 zmodcl ⊢ N ∈ ℤ ∧ P ∈ ℕ → N mod P ∈ ℕ 0
19 nn0cn ⊢ N mod P ∈ ℕ 0 → N mod P ∈ ℂ
20 17 18 19 3syl ⊢ P ∈ ℙ ∧ N ∈ ℤ → N mod P ∈ ℂ
21 20 3adant3 ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 → N mod P ∈ ℂ
22 21 adantr ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P → N mod P ∈ ℂ
23 mulcom ⊢ j ∈ ℂ ∧ N mod P ∈ ℂ → j ⁢ N mod P = N mod P ⁢ j
24 16 22 23 syl2anr ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P ∧ j ∈ 0 ..^ P → j ⁢ N mod P = N mod P ⁢ j
25 24 oveq2d ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P ∧ j ∈ 0 ..^ P → I + j ⁢ N mod P = I + N mod P ⁢ j
26 25 oveq1d ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P ∧ j ∈ 0 ..^ P → I + j ⁢ N mod P mod P = I + N mod P ⁢ j mod P
27 elfzoelz ⊢ I ∈ 0 ..^ P → I ∈ ℤ
28 27 zred ⊢ I ∈ 0 ..^ P → I ∈ ℝ
29 28 adantl ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P → I ∈ ℝ
30 29 adantr ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P ∧ j ∈ 0 ..^ P → I ∈ ℝ
31 zre ⊢ N ∈ ℤ → N ∈ ℝ
32 31 3ad2ant2 ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 → N ∈ ℝ
33 32 adantr ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P → N ∈ ℝ
34 33 adantr ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P ∧ j ∈ 0 ..^ P → N ∈ ℝ
35 15 adantl ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P ∧ j ∈ 0 ..^ P → j ∈ ℤ
36 2 nnrpd ⊢ P ∈ ℙ → P ∈ ℝ +
37 36 3ad2ant1 ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 → P ∈ ℝ +
38 37 adantr ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P → P ∈ ℝ +
39 38 adantr ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P ∧ j ∈ 0 ..^ P → P ∈ ℝ +
40 modaddmulmod ⊢ I ∈ ℝ ∧ N ∈ ℝ ∧ j ∈ ℤ ∧ P ∈ ℝ + → I + N mod P ⁢ j mod P = I + N ⁢ j mod P
41 30 34 35 39 40 syl31anc ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P ∧ j ∈ 0 ..^ P → I + N mod P ⁢ j mod P = I + N ⁢ j mod P
42 zcn ⊢ N ∈ ℤ → N ∈ ℂ
43 42 adantr ⊢ N ∈ ℤ ∧ j ∈ 0 ..^ P → N ∈ ℂ
44 16 adantl ⊢ N ∈ ℤ ∧ j ∈ 0 ..^ P → j ∈ ℂ
45 43 44 mulcomd ⊢ N ∈ ℤ ∧ j ∈ 0 ..^ P → N ⁢ j = j ⋅ N
46 45 ex ⊢ N ∈ ℤ → j ∈ 0 ..^ P → N ⁢ j = j ⋅ N
47 46 3ad2ant2 ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 → j ∈ 0 ..^ P → N ⁢ j = j ⋅ N
48 47 adantr ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P → j ∈ 0 ..^ P → N ⁢ j = j ⋅ N
49 48 imp ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P ∧ j ∈ 0 ..^ P → N ⁢ j = j ⋅ N
50 49 oveq2d ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P ∧ j ∈ 0 ..^ P → I + N ⁢ j = I + j ⋅ N
51 50 oveq1d ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P ∧ j ∈ 0 ..^ P → I + N ⁢ j mod P = I + j ⋅ N mod P
52 26 41 51 3eqtrrd ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P ∧ j ∈ 0 ..^ P → I + j ⋅ N mod P = I + j ⁢ N mod P mod P
53 52 eqeq1d ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P ∧ j ∈ 0 ..^ P → I + j ⋅ N mod P = 0 ↔ I + j ⁢ N mod P mod P = 0
54 53 rexbidva ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P → ∃ j ∈ 0 ..^ P I + j ⋅ N mod P = 0 ↔ ∃ j ∈ 0 ..^ P I + j ⁢ N mod P mod P = 0
55 14 54 mpbird ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 ∧ I ∈ 0 ..^ P → ∃ j ∈ 0 ..^ P I + j ⋅ N mod P = 0
56 55 ex ⊢ P ∈ ℙ ∧ N ∈ ℤ ∧ N mod P ≠ 0 → I ∈ 0 ..^ P → ∃ j ∈ 0 ..^ P I + j ⋅ N mod P = 0