MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  eulerthlem2 Structured version   Visualization version   GIF version

Theorem eulerthlem2 16492
Description: Lemma for eulerth 16493. (Contributed by Mario Carneiro, 28-Feb-2014.)
Hypotheses
Ref Expression
eulerth.1 (𝜑 → (𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1))
eulerth.2 𝑆 = {𝑦 ∈ (0..^𝑁) ∣ (𝑦 gcd 𝑁) = 1}
eulerth.3 𝑇 = (1...(ϕ‘𝑁))
eulerth.4 (𝜑𝐹:𝑇1-1-onto𝑆)
eulerth.5 𝐺 = (𝑥𝑇 ↦ ((𝐴 · (𝐹𝑥)) mod 𝑁))
Assertion
Ref Expression
eulerthlem2 (𝜑 → ((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁))
Distinct variable groups:   𝑥,𝑦,𝐴   𝑥,𝐹,𝑦   𝑥,𝐺,𝑦   𝑥,𝑁,𝑦   𝑥,𝑆   𝜑,𝑥,𝑦   𝑥,𝑇,𝑦
Allowed substitution hint:   𝑆(𝑦)

Proof of Theorem eulerthlem2
Dummy variables 𝑧 𝑤 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eulerth.1 . . . . . . . . . . 11 (𝜑 → (𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1))
21simp1d 1141 . . . . . . . . . 10 (𝜑𝑁 ∈ ℕ)
32phicld 16482 . . . . . . . . 9 (𝜑 → (ϕ‘𝑁) ∈ ℕ)
43nnred 11997 . . . . . . . 8 (𝜑 → (ϕ‘𝑁) ∈ ℝ)
54leidd 11550 . . . . . . 7 (𝜑 → (ϕ‘𝑁) ≤ (ϕ‘𝑁))
63adantr 481 . . . . . . . 8 ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → (ϕ‘𝑁) ∈ ℕ)
7 breq1 5078 . . . . . . . . . . 11 (𝑥 = 1 → (𝑥 ≤ (ϕ‘𝑁) ↔ 1 ≤ (ϕ‘𝑁)))
87anbi2d 629 . . . . . . . . . 10 (𝑥 = 1 → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑 ∧ 1 ≤ (ϕ‘𝑁))))
9 oveq2 7292 . . . . . . . . . . . . . 14 (𝑥 = 1 → (𝐴𝑥) = (𝐴↑1))
10 fveq2 6783 . . . . . . . . . . . . . 14 (𝑥 = 1 → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘1))
119, 10oveq12d 7302 . . . . . . . . . . . . 13 (𝑥 = 1 → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴↑1) · (seq1( · , 𝐹)‘1)))
1211oveq1d 7299 . . . . . . . . . . . 12 (𝑥 = 1 → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁))
13 fveq2 6783 . . . . . . . . . . . . 13 (𝑥 = 1 → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘1))
1413oveq1d 7299 . . . . . . . . . . . 12 (𝑥 = 1 → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁))
1512, 14eqeq12d 2755 . . . . . . . . . . 11 (𝑥 = 1 → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁)))
1610oveq2d 7300 . . . . . . . . . . . 12 (𝑥 = 1 → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘1)))
1716eqeq1d 2741 . . . . . . . . . . 11 (𝑥 = 1 → ((𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1 ↔ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))
1815, 17anbi12d 631 . . . . . . . . . 10 (𝑥 = 1 → (((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1) ↔ ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1)))
198, 18imbi12d 345 . . . . . . . . 9 (𝑥 = 1 → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑 ∧ 1 ≤ (ϕ‘𝑁)) → ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))))
20 breq1 5078 . . . . . . . . . . 11 (𝑥 = 𝑧 → (𝑥 ≤ (ϕ‘𝑁) ↔ 𝑧 ≤ (ϕ‘𝑁)))
2120anbi2d 629 . . . . . . . . . 10 (𝑥 = 𝑧 → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑𝑧 ≤ (ϕ‘𝑁))))
22 oveq2 7292 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → (𝐴𝑥) = (𝐴𝑧))
23 fveq2 6783 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘𝑧))
2422, 23oveq12d 7302 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)))
2524oveq1d 7299 . . . . . . . . . . . 12 (𝑥 = 𝑧 → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁))
26 fveq2 6783 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘𝑧))
2726oveq1d 7299 . . . . . . . . . . . 12 (𝑥 = 𝑧 → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁))
2825, 27eqeq12d 2755 . . . . . . . . . . 11 (𝑥 = 𝑧 → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁)))
2923oveq2d 7300 . . . . . . . . . . . 12 (𝑥 = 𝑧 → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘𝑧)))
3029eqeq1d 2741 . . . . . . . . . . 11 (𝑥 = 𝑧 → ((𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1 ↔ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1))
3128, 30anbi12d 631 . . . . . . . . . 10 (𝑥 = 𝑧 → (((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1) ↔ ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1)))
3221, 31imbi12d 345 . . . . . . . . 9 (𝑥 = 𝑧 → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑𝑧 ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1))))
33 breq1 5078 . . . . . . . . . . 11 (𝑥 = (𝑧 + 1) → (𝑥 ≤ (ϕ‘𝑁) ↔ (𝑧 + 1) ≤ (ϕ‘𝑁)))
3433anbi2d 629 . . . . . . . . . 10 (𝑥 = (𝑧 + 1) → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
35 oveq2 7292 . . . . . . . . . . . . . 14 (𝑥 = (𝑧 + 1) → (𝐴𝑥) = (𝐴↑(𝑧 + 1)))
36 fveq2 6783 . . . . . . . . . . . . . 14 (𝑥 = (𝑧 + 1) → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘(𝑧 + 1)))
3735, 36oveq12d 7302 . . . . . . . . . . . . 13 (𝑥 = (𝑧 + 1) → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))))
3837oveq1d 7299 . . . . . . . . . . . 12 (𝑥 = (𝑧 + 1) → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁))
39 fveq2 6783 . . . . . . . . . . . . 13 (𝑥 = (𝑧 + 1) → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘(𝑧 + 1)))
4039oveq1d 7299 . . . . . . . . . . . 12 (𝑥 = (𝑧 + 1) → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁))
4138, 40eqeq12d 2755 . . . . . . . . . . 11 (𝑥 = (𝑧 + 1) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁)))
4236oveq2d 7300 . . . . . . . . . . . 12 (𝑥 = (𝑧 + 1) → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))))
4342eqeq1d 2741 . . . . . . . . . . 11 (𝑥 = (𝑧 + 1) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1 ↔ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))
4441, 43anbi12d 631 . . . . . . . . . 10 (𝑥 = (𝑧 + 1) → (((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1) ↔ ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1)))
4534, 44imbi12d 345 . . . . . . . . 9 (𝑥 = (𝑧 + 1) → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))))
46 breq1 5078 . . . . . . . . . . 11 (𝑥 = (ϕ‘𝑁) → (𝑥 ≤ (ϕ‘𝑁) ↔ (ϕ‘𝑁) ≤ (ϕ‘𝑁)))
4746anbi2d 629 . . . . . . . . . 10 (𝑥 = (ϕ‘𝑁) → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁))))
48 oveq2 7292 . . . . . . . . . . . . . 14 (𝑥 = (ϕ‘𝑁) → (𝐴𝑥) = (𝐴↑(ϕ‘𝑁)))
49 fveq2 6783 . . . . . . . . . . . . . 14 (𝑥 = (ϕ‘𝑁) → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘(ϕ‘𝑁)))
5048, 49oveq12d 7302 . . . . . . . . . . . . 13 (𝑥 = (ϕ‘𝑁) → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))))
5150oveq1d 7299 . . . . . . . . . . . 12 (𝑥 = (ϕ‘𝑁) → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁))
52 fveq2 6783 . . . . . . . . . . . . 13 (𝑥 = (ϕ‘𝑁) → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘(ϕ‘𝑁)))
5352oveq1d 7299 . . . . . . . . . . . 12 (𝑥 = (ϕ‘𝑁) → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁))
5451, 53eqeq12d 2755 . . . . . . . . . . 11 (𝑥 = (ϕ‘𝑁) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁)))
5549oveq2d 7300 . . . . . . . . . . . 12 (𝑥 = (ϕ‘𝑁) → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))))
5655eqeq1d 2741 . . . . . . . . . . 11 (𝑥 = (ϕ‘𝑁) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1 ↔ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))
5754, 56anbi12d 631 . . . . . . . . . 10 (𝑥 = (ϕ‘𝑁) → (((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1) ↔ ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1)))
5847, 57imbi12d 345 . . . . . . . . 9 (𝑥 = (ϕ‘𝑁) → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))))
591simp2d 1142 . . . . . . . . . . . . . . 15 (𝜑𝐴 ∈ ℤ)
60 eulerth.4 . . . . . . . . . . . . . . . . . . . 20 (𝜑𝐹:𝑇1-1-onto𝑆)
61 f1of 6725 . . . . . . . . . . . . . . . . . . . 20 (𝐹:𝑇1-1-onto𝑆𝐹:𝑇𝑆)
6260, 61syl 17 . . . . . . . . . . . . . . . . . . 19 (𝜑𝐹:𝑇𝑆)
63 nnuz 12630 . . . . . . . . . . . . . . . . . . . . . 22 ℕ = (ℤ‘1)
643, 63eleqtrdi 2850 . . . . . . . . . . . . . . . . . . . . 21 (𝜑 → (ϕ‘𝑁) ∈ (ℤ‘1))
65 eluzfz1 13272 . . . . . . . . . . . . . . . . . . . . 21 ((ϕ‘𝑁) ∈ (ℤ‘1) → 1 ∈ (1...(ϕ‘𝑁)))
6664, 65syl 17 . . . . . . . . . . . . . . . . . . . 20 (𝜑 → 1 ∈ (1...(ϕ‘𝑁)))
67 eulerth.3 . . . . . . . . . . . . . . . . . . . 20 𝑇 = (1...(ϕ‘𝑁))
6866, 67eleqtrrdi 2851 . . . . . . . . . . . . . . . . . . 19 (𝜑 → 1 ∈ 𝑇)
6962, 68ffvelrnd 6971 . . . . . . . . . . . . . . . . . 18 (𝜑 → (𝐹‘1) ∈ 𝑆)
70 oveq1 7291 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = (𝐹‘1) → (𝑦 gcd 𝑁) = ((𝐹‘1) gcd 𝑁))
7170eqeq1d 2741 . . . . . . . . . . . . . . . . . . 19 (𝑦 = (𝐹‘1) → ((𝑦 gcd 𝑁) = 1 ↔ ((𝐹‘1) gcd 𝑁) = 1))
72 eulerth.2 . . . . . . . . . . . . . . . . . . 19 𝑆 = {𝑦 ∈ (0..^𝑁) ∣ (𝑦 gcd 𝑁) = 1}
7371, 72elrab2 3628 . . . . . . . . . . . . . . . . . 18 ((𝐹‘1) ∈ 𝑆 ↔ ((𝐹‘1) ∈ (0..^𝑁) ∧ ((𝐹‘1) gcd 𝑁) = 1))
7469, 73sylib 217 . . . . . . . . . . . . . . . . 17 (𝜑 → ((𝐹‘1) ∈ (0..^𝑁) ∧ ((𝐹‘1) gcd 𝑁) = 1))
7574simpld 495 . . . . . . . . . . . . . . . 16 (𝜑 → (𝐹‘1) ∈ (0..^𝑁))
76 elfzoelz 13396 . . . . . . . . . . . . . . . 16 ((𝐹‘1) ∈ (0..^𝑁) → (𝐹‘1) ∈ ℤ)
7775, 76syl 17 . . . . . . . . . . . . . . 15 (𝜑 → (𝐹‘1) ∈ ℤ)
7859, 77zmulcld 12441 . . . . . . . . . . . . . 14 (𝜑 → (𝐴 · (𝐹‘1)) ∈ ℤ)
7978zred 12435 . . . . . . . . . . . . 13 (𝜑 → (𝐴 · (𝐹‘1)) ∈ ℝ)
802nnrpd 12779 . . . . . . . . . . . . 13 (𝜑𝑁 ∈ ℝ+)
81 modabs2 13634 . . . . . . . . . . . . 13 (((𝐴 · (𝐹‘1)) ∈ ℝ ∧ 𝑁 ∈ ℝ+) → (((𝐴 · (𝐹‘1)) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
8279, 80, 81syl2anc 584 . . . . . . . . . . . 12 (𝜑 → (((𝐴 · (𝐹‘1)) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
83 1z 12359 . . . . . . . . . . . . . 14 1 ∈ ℤ
84 fveq2 6783 . . . . . . . . . . . . . . . . . 18 (𝑥 = 1 → (𝐹𝑥) = (𝐹‘1))
8584oveq2d 7300 . . . . . . . . . . . . . . . . 17 (𝑥 = 1 → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹‘1)))
8685oveq1d 7299 . . . . . . . . . . . . . . . 16 (𝑥 = 1 → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
87 eulerth.5 . . . . . . . . . . . . . . . 16 𝐺 = (𝑥𝑇 ↦ ((𝐴 · (𝐹𝑥)) mod 𝑁))
88 ovex 7317 . . . . . . . . . . . . . . . 16 ((𝐴 · (𝐹‘1)) mod 𝑁) ∈ V
8986, 87, 88fvmpt 6884 . . . . . . . . . . . . . . 15 (1 ∈ 𝑇 → (𝐺‘1) = ((𝐴 · (𝐹‘1)) mod 𝑁))
9068, 89syl 17 . . . . . . . . . . . . . 14 (𝜑 → (𝐺‘1) = ((𝐴 · (𝐹‘1)) mod 𝑁))
9183, 90seq1i 13744 . . . . . . . . . . . . 13 (𝜑 → (seq1( · , 𝐺)‘1) = ((𝐴 · (𝐹‘1)) mod 𝑁))
9291oveq1d 7299 . . . . . . . . . . . 12 (𝜑 → ((seq1( · , 𝐺)‘1) mod 𝑁) = (((𝐴 · (𝐹‘1)) mod 𝑁) mod 𝑁))
9359zcnd 12436 . . . . . . . . . . . . . . 15 (𝜑𝐴 ∈ ℂ)
9493exp1d 13868 . . . . . . . . . . . . . 14 (𝜑 → (𝐴↑1) = 𝐴)
95 seq1 13743 . . . . . . . . . . . . . . . 16 (1 ∈ ℤ → (seq1( · , 𝐹)‘1) = (𝐹‘1))
9683, 95ax-mp 5 . . . . . . . . . . . . . . 15 (seq1( · , 𝐹)‘1) = (𝐹‘1)
9796a1i 11 . . . . . . . . . . . . . 14 (𝜑 → (seq1( · , 𝐹)‘1) = (𝐹‘1))
9894, 97oveq12d 7302 . . . . . . . . . . . . 13 (𝜑 → ((𝐴↑1) · (seq1( · , 𝐹)‘1)) = (𝐴 · (𝐹‘1)))
9998oveq1d 7299 . . . . . . . . . . . 12 (𝜑 → (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
10082, 92, 993eqtr4rd 2790 . . . . . . . . . . 11 (𝜑 → (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁))
10196oveq2i 7295 . . . . . . . . . . . 12 (𝑁 gcd (seq1( · , 𝐹)‘1)) = (𝑁 gcd (𝐹‘1))
1022nnzd 12434 . . . . . . . . . . . . . 14 (𝜑𝑁 ∈ ℤ)
103102, 77gcdcomd 16230 . . . . . . . . . . . . 13 (𝜑 → (𝑁 gcd (𝐹‘1)) = ((𝐹‘1) gcd 𝑁))
10474simprd 496 . . . . . . . . . . . . 13 (𝜑 → ((𝐹‘1) gcd 𝑁) = 1)
105103, 104eqtrd 2779 . . . . . . . . . . . 12 (𝜑 → (𝑁 gcd (𝐹‘1)) = 1)
106101, 105eqtrid 2791 . . . . . . . . . . 11 (𝜑 → (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1)
107100, 106jca 512 . . . . . . . . . 10 (𝜑 → ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))
108107adantr 481 . . . . . . . . 9 ((𝜑 ∧ 1 ≤ (ϕ‘𝑁)) → ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))
109 nnre 11989 . . . . . . . . . . . . . . 15 (𝑧 ∈ ℕ → 𝑧 ∈ ℝ)
110109adantr 481 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℕ ∧ 𝜑) → 𝑧 ∈ ℝ)
111110lep1d 11915 . . . . . . . . . . . . 13 ((𝑧 ∈ ℕ ∧ 𝜑) → 𝑧 ≤ (𝑧 + 1))
112 peano2re 11157 . . . . . . . . . . . . . . 15 (𝑧 ∈ ℝ → (𝑧 + 1) ∈ ℝ)
113110, 112syl 17 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℕ ∧ 𝜑) → (𝑧 + 1) ∈ ℝ)
1144adantl 482 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℕ ∧ 𝜑) → (ϕ‘𝑁) ∈ ℝ)
115 letr 11078 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℝ ∧ (𝑧 + 1) ∈ ℝ ∧ (ϕ‘𝑁) ∈ ℝ) → ((𝑧 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → 𝑧 ≤ (ϕ‘𝑁)))
116110, 113, 114, 115syl3anc 1370 . . . . . . . . . . . . 13 ((𝑧 ∈ ℕ ∧ 𝜑) → ((𝑧 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → 𝑧 ≤ (ϕ‘𝑁)))
117111, 116mpand 692 . . . . . . . . . . . 12 ((𝑧 ∈ ℕ ∧ 𝜑) → ((𝑧 + 1) ≤ (ϕ‘𝑁) → 𝑧 ≤ (ϕ‘𝑁)))
118117imdistanda 572 . . . . . . . . . . 11 (𝑧 ∈ ℕ → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → (𝜑𝑧 ≤ (ϕ‘𝑁))))
119118imim1d 82 . . . . . . . . . 10 (𝑧 ∈ ℕ → (((𝜑𝑧 ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1)) → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1))))
12059adantr 481 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝐴 ∈ ℤ)
121 nnnn0 12249 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ ℕ → 𝑧 ∈ ℕ0)
122121ad2antrl 725 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℕ0)
123 zexpcl 13806 . . . . . . . . . . . . . . . . . . 19 ((𝐴 ∈ ℤ ∧ 𝑧 ∈ ℕ0) → (𝐴𝑧) ∈ ℤ)
124120, 122, 123syl2anc 584 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴𝑧) ∈ ℤ)
125 simprl 768 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℕ)
126125, 63eleqtrdi 2850 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ (ℤ‘1))
127109ad2antrl 725 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℝ)
128127, 112syl 17 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ ℝ)
1294adantr 481 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (ϕ‘𝑁) ∈ ℝ)
130127lep1d 11915 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ≤ (𝑧 + 1))
131 simprr 770 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ≤ (ϕ‘𝑁))
132127, 128, 129, 130, 131letrd 11141 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ≤ (ϕ‘𝑁))
133 nnz 12351 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑧 ∈ ℕ → 𝑧 ∈ ℤ)
134133ad2antrl 725 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℤ)
1353nnzd 12434 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝜑 → (ϕ‘𝑁) ∈ ℤ)
136135adantr 481 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (ϕ‘𝑁) ∈ ℤ)
137 eluz 12605 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝑧 ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℤ) → ((ϕ‘𝑁) ∈ (ℤ𝑧) ↔ 𝑧 ≤ (ϕ‘𝑁)))
138134, 136, 137syl2anc 584 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((ϕ‘𝑁) ∈ (ℤ𝑧) ↔ 𝑧 ≤ (ϕ‘𝑁)))
139132, 138mpbird 256 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (ϕ‘𝑁) ∈ (ℤ𝑧))
140 fzss2 13305 . . . . . . . . . . . . . . . . . . . . . . 23 ((ϕ‘𝑁) ∈ (ℤ𝑧) → (1...𝑧) ⊆ (1...(ϕ‘𝑁)))
141139, 140syl 17 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (1...𝑧) ⊆ (1...(ϕ‘𝑁)))
142141, 67sseqtrrdi 3973 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (1...𝑧) ⊆ 𝑇)
143142sselda 3922 . . . . . . . . . . . . . . . . . . . 20 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥 ∈ (1...𝑧)) → 𝑥𝑇)
14462ffvelrnda 6970 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑𝑥𝑇) → (𝐹𝑥) ∈ 𝑆)
145 oveq1 7291 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑦 = (𝐹𝑥) → (𝑦 gcd 𝑁) = ((𝐹𝑥) gcd 𝑁))
146145eqeq1d 2741 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑦 = (𝐹𝑥) → ((𝑦 gcd 𝑁) = 1 ↔ ((𝐹𝑥) gcd 𝑁) = 1))
147146, 72elrab2 3628 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝐹𝑥) ∈ 𝑆 ↔ ((𝐹𝑥) ∈ (0..^𝑁) ∧ ((𝐹𝑥) gcd 𝑁) = 1))
148144, 147sylib 217 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑𝑥𝑇) → ((𝐹𝑥) ∈ (0..^𝑁) ∧ ((𝐹𝑥) gcd 𝑁) = 1))
149148simpld 495 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑥𝑇) → (𝐹𝑥) ∈ (0..^𝑁))
150 elfzoelz 13396 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐹𝑥) ∈ (0..^𝑁) → (𝐹𝑥) ∈ ℤ)
151149, 150syl 17 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑥𝑇) → (𝐹𝑥) ∈ ℤ)
152151adantlr 712 . . . . . . . . . . . . . . . . . . . 20 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥𝑇) → (𝐹𝑥) ∈ ℤ)
153143, 152syldan 591 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥 ∈ (1...𝑧)) → (𝐹𝑥) ∈ ℤ)
154 zmulcl 12378 . . . . . . . . . . . . . . . . . . . 20 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ) → (𝑥 · 𝑦) ∈ ℤ)
155154adantl 482 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ)) → (𝑥 · 𝑦) ∈ ℤ)
156126, 153, 155seqcl 13752 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐹)‘𝑧) ∈ ℤ)
157124, 156zmulcld 12441 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℤ)
158157zred 12435 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℝ)
15972ssrab3 4016 . . . . . . . . . . . . . . . . . . . . . 22 𝑆 ⊆ (0..^𝑁)
1601, 72, 67, 60, 87eulerthlem1 16491 . . . . . . . . . . . . . . . . . . . . . . 23 (𝜑𝐺:𝑇𝑆)
161160ffvelrnda 6970 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑥𝑇) → (𝐺𝑥) ∈ 𝑆)
162159, 161sselid 3920 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑥𝑇) → (𝐺𝑥) ∈ (0..^𝑁))
163 elfzoelz 13396 . . . . . . . . . . . . . . . . . . . . 21 ((𝐺𝑥) ∈ (0..^𝑁) → (𝐺𝑥) ∈ ℤ)
164162, 163syl 17 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑥𝑇) → (𝐺𝑥) ∈ ℤ)
165164adantlr 712 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥𝑇) → (𝐺𝑥) ∈ ℤ)
166143, 165syldan 591 . . . . . . . . . . . . . . . . . 18 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥 ∈ (1...𝑧)) → (𝐺𝑥) ∈ ℤ)
167126, 166, 155seqcl 13752 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘𝑧) ∈ ℤ)
168167zred 12435 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘𝑧) ∈ ℝ)
16962adantr 481 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝐹:𝑇𝑆)
170 peano2nn 11994 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑧 ∈ ℕ → (𝑧 + 1) ∈ ℕ)
171170ad2antrl 725 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ ℕ)
172171nnge1d 12030 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 1 ≤ (𝑧 + 1))
173171nnzd 12434 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ ℤ)
174 elfz 13254 . . . . . . . . . . . . . . . . . . . . . . . . 25 (((𝑧 + 1) ∈ ℤ ∧ 1 ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℤ) → ((𝑧 + 1) ∈ (1...(ϕ‘𝑁)) ↔ (1 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
17583, 174mp3an2 1448 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝑧 + 1) ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℤ) → ((𝑧 + 1) ∈ (1...(ϕ‘𝑁)) ↔ (1 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
176173, 136, 175syl2anc 584 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑧 + 1) ∈ (1...(ϕ‘𝑁)) ↔ (1 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
177172, 131, 176mpbir2and 710 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ (1...(ϕ‘𝑁)))
178177, 67eleqtrrdi 2851 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ 𝑇)
179169, 178ffvelrnd 6971 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ 𝑆)
180 oveq1 7291 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 = (𝐹‘(𝑧 + 1)) → (𝑦 gcd 𝑁) = ((𝐹‘(𝑧 + 1)) gcd 𝑁))
181180eqeq1d 2741 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = (𝐹‘(𝑧 + 1)) → ((𝑦 gcd 𝑁) = 1 ↔ ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1))
182181, 72elrab2 3628 . . . . . . . . . . . . . . . . . . . 20 ((𝐹‘(𝑧 + 1)) ∈ 𝑆 ↔ ((𝐹‘(𝑧 + 1)) ∈ (0..^𝑁) ∧ ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1))
183179, 182sylib 217 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐹‘(𝑧 + 1)) ∈ (0..^𝑁) ∧ ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1))
184183simpld 495 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ (0..^𝑁))
185 elfzoelz 13396 . . . . . . . . . . . . . . . . . 18 ((𝐹‘(𝑧 + 1)) ∈ (0..^𝑁) → (𝐹‘(𝑧 + 1)) ∈ ℤ)
186184, 185syl 17 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ ℤ)
187120, 186zmulcld 12441 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℤ)
18880adantr 481 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑁 ∈ ℝ+)
189 modmul1 13653 . . . . . . . . . . . . . . . . 17 (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℝ ∧ (seq1( · , 𝐺)‘𝑧) ∈ ℝ) ∧ ((𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℤ ∧ 𝑁 ∈ ℝ+) ∧ (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁))
1901893expia 1120 . . . . . . . . . . . . . . . 16 (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℝ ∧ (seq1( · , 𝐺)‘𝑧) ∈ ℝ) ∧ ((𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℤ ∧ 𝑁 ∈ ℝ+)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁)))
191158, 168, 187, 188, 190syl22anc 836 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁)))
192124zcnd 12436 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴𝑧) ∈ ℂ)
193156zcnd 12436 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐹)‘𝑧) ∈ ℂ)
19493adantr 481 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝐴 ∈ ℂ)
195186zcnd 12436 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ ℂ)
196192, 193, 194, 195mul4d 11196 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) = (((𝐴𝑧) · 𝐴) · ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))))
197194, 122expp1d 13874 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴↑(𝑧 + 1)) = ((𝐴𝑧) · 𝐴))
198 seqp1 13745 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ (ℤ‘1) → (seq1( · , 𝐹)‘(𝑧 + 1)) = ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1))))
199126, 198syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐹)‘(𝑧 + 1)) = ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1))))
200197, 199oveq12d 7302 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) = (((𝐴𝑧) · 𝐴) · ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))))
201196, 200eqtr4d 2782 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) = ((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))))
202201oveq1d 7299 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁))
203187zred 12435 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℝ)
204203, 188modcld 13604 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ ℝ)
205 modabs2 13634 . . . . . . . . . . . . . . . . . . 19 (((𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℝ ∧ 𝑁 ∈ ℝ+) → (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
206203, 188, 205syl2anc 584 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
207 modmul1 13653 . . . . . . . . . . . . . . . . . 18 (((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ ℝ ∧ (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℝ) ∧ ((seq1( · , 𝐺)‘𝑧) ∈ ℤ ∧ 𝑁 ∈ ℝ+) ∧ (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁)) → ((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁) = (((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
208204, 203, 167, 188, 206, 207syl221anc 1380 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁) = (((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
209 fveq2 6783 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑥 = (𝑧 + 1) → (𝐹𝑥) = (𝐹‘(𝑧 + 1)))
210209oveq2d 7300 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑥 = (𝑧 + 1) → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹‘(𝑧 + 1))))
211210oveq1d 7299 . . . . . . . . . . . . . . . . . . . . . 22 (𝑥 = (𝑧 + 1) → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
212 ovex 7317 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ V
213211, 87, 212fvmpt 6884 . . . . . . . . . . . . . . . . . . . . 21 ((𝑧 + 1) ∈ 𝑇 → (𝐺‘(𝑧 + 1)) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
214178, 213syl 17 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐺‘(𝑧 + 1)) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
215214oveq2d 7300 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((seq1( · , 𝐺)‘𝑧) · (𝐺‘(𝑧 + 1))) = ((seq1( · , 𝐺)‘𝑧) · ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁)))
216 seqp1 13745 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ (ℤ‘1) → (seq1( · , 𝐺)‘(𝑧 + 1)) = ((seq1( · , 𝐺)‘𝑧) · (𝐺‘(𝑧 + 1))))
217126, 216syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘(𝑧 + 1)) = ((seq1( · , 𝐺)‘𝑧) · (𝐺‘(𝑧 + 1))))
218204recnd 11012 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ ℂ)
219167zcnd 12436 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘𝑧) ∈ ℂ)
220218, 219mulcomd 11005 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) = ((seq1( · , 𝐺)‘𝑧) · ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁)))
221215, 217, 2203eqtr4d 2789 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘(𝑧 + 1)) = (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)))
222221oveq1d 7299 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) = ((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
223187zcnd 12436 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℂ)
224219, 223mulcomd 11005 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) = ((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)))
225224oveq1d 7299 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
226208, 222, 2253eqtr4rd 2790 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁))
227202, 226eqeq12d 2755 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) ↔ (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁)))
228191, 227sylibd 238 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) → (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁)))
229102adantr 481 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑁 ∈ ℤ)
230229, 186gcdcomd 16230 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑁 gcd (𝐹‘(𝑧 + 1))) = ((𝐹‘(𝑧 + 1)) gcd 𝑁))
231183simprd 496 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1)
232230, 231eqtrd 2779 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑁 gcd (𝐹‘(𝑧 + 1))) = 1)
233 rpmul 16373 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℤ ∧ (seq1( · , 𝐹)‘𝑧) ∈ ℤ ∧ (𝐹‘(𝑧 + 1)) ∈ ℤ) → (((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 ∧ (𝑁 gcd (𝐹‘(𝑧 + 1))) = 1) → (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
234229, 156, 186, 233syl3anc 1370 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 ∧ (𝑁 gcd (𝐹‘(𝑧 + 1))) = 1) → (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
235232, 234mpan2d 691 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 → (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
236199oveq2d 7300 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))))
237236eqeq1d 2741 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1 ↔ (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
238235, 237sylibrd 258 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 → (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))
239228, 238anim12d 609 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1)))
240239an12s 646 . . . . . . . . . . . 12 ((𝑧 ∈ ℕ ∧ (𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1)))
241240ex 413 . . . . . . . . . . 11 (𝑧 ∈ ℕ → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))))
242241a2d 29 . . . . . . . . . 10 (𝑧 ∈ ℕ → (((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1)) → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))))
243119, 242syld 47 . . . . . . . . 9 (𝑧 ∈ ℕ → (((𝜑𝑧 ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1)) → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))))
24419, 32, 45, 58, 108, 243nnind 12000 . . . . . . . 8 ((ϕ‘𝑁) ∈ ℕ → ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1)))
2456, 244mpcom 38 . . . . . . 7 ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))
2465, 245mpdan 684 . . . . . 6 (𝜑 → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))
247246simpld 495 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁))
2483nnnn0d 12302 . . . . . . . 8 (𝜑 → (ϕ‘𝑁) ∈ ℕ0)
249 zexpcl 13806 . . . . . . . 8 ((𝐴 ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℕ0) → (𝐴↑(ϕ‘𝑁)) ∈ ℤ)
25059, 248, 249syl2anc 584 . . . . . . 7 (𝜑 → (𝐴↑(ϕ‘𝑁)) ∈ ℤ)
25167eleq2i 2831 . . . . . . . . 9 (𝑥𝑇𝑥 ∈ (1...(ϕ‘𝑁)))
252251, 151sylan2br 595 . . . . . . . 8 ((𝜑𝑥 ∈ (1...(ϕ‘𝑁))) → (𝐹𝑥) ∈ ℤ)
253154adantl 482 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ)) → (𝑥 · 𝑦) ∈ ℤ)
25464, 252, 253seqcl 13752 . . . . . . 7 (𝜑 → (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℤ)
255250, 254zmulcld 12441 . . . . . 6 (𝜑 → ((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) ∈ ℤ)
256 mulcl 10964 . . . . . . . . 9 ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ) → (𝑥 · 𝑦) ∈ ℂ)
257256adantl 482 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ)) → (𝑥 · 𝑦) ∈ ℂ)
258 mulcom 10966 . . . . . . . . 9 ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ) → (𝑥 · 𝑦) = (𝑦 · 𝑥))
259258adantl 482 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ)) → (𝑥 · 𝑦) = (𝑦 · 𝑥))
260 mulass 10968 . . . . . . . . 9 ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ 𝑧 ∈ ℂ) → ((𝑥 · 𝑦) · 𝑧) = (𝑥 · (𝑦 · 𝑧)))
261260adantl 482 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ 𝑧 ∈ ℂ)) → ((𝑥 · 𝑦) · 𝑧) = (𝑥 · (𝑦 · 𝑧)))
262 ssidd 3945 . . . . . . . 8 (𝜑 → ℂ ⊆ ℂ)
263 f1ocnv 6737 . . . . . . . . . . 11 (𝐹:𝑇1-1-onto𝑆𝐹:𝑆1-1-onto𝑇)
26460, 263syl 17 . . . . . . . . . 10 (𝜑𝐹:𝑆1-1-onto𝑇)
2652adantr 481 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝑁 ∈ ℕ)
26659adantr 481 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝐴 ∈ ℤ)
26762ffvelrnda 6970 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑦𝑇) → (𝐹𝑦) ∈ 𝑆)
268267adantrr 714 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ 𝑆)
269159, 268sselid 3920 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ (0..^𝑁))
270 elfzoelz 13396 . . . . . . . . . . . . . . . . . 18 ((𝐹𝑦) ∈ (0..^𝑁) → (𝐹𝑦) ∈ ℤ)
271269, 270syl 17 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ ℤ)
272266, 271zmulcld 12441 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐴 · (𝐹𝑦)) ∈ ℤ)
27362ffvelrnda 6970 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑧𝑇) → (𝐹𝑧) ∈ 𝑆)
274273adantrl 713 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ 𝑆)
275159, 274sselid 3920 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ (0..^𝑁))
276 elfzoelz 13396 . . . . . . . . . . . . . . . . . 18 ((𝐹𝑧) ∈ (0..^𝑁) → (𝐹𝑧) ∈ ℤ)
277275, 276syl 17 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ ℤ)
278266, 277zmulcld 12441 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐴 · (𝐹𝑧)) ∈ ℤ)
279 moddvds 15983 . . . . . . . . . . . . . . . 16 ((𝑁 ∈ ℕ ∧ (𝐴 · (𝐹𝑦)) ∈ ℤ ∧ (𝐴 · (𝐹𝑧)) ∈ ℤ) → (((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁) ↔ 𝑁 ∥ ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧)))))
280265, 272, 278, 279syl3anc 1370 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁) ↔ 𝑁 ∥ ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧)))))
281 fveq2 6783 . . . . . . . . . . . . . . . . . . . 20 (𝑥 = 𝑦 → (𝐹𝑥) = (𝐹𝑦))
282281oveq2d 7300 . . . . . . . . . . . . . . . . . . 19 (𝑥 = 𝑦 → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹𝑦)))
283282oveq1d 7299 . . . . . . . . . . . . . . . . . 18 (𝑥 = 𝑦 → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹𝑦)) mod 𝑁))
284 ovex 7317 . . . . . . . . . . . . . . . . . 18 ((𝐴 · (𝐹𝑦)) mod 𝑁) ∈ V
285283, 87, 284fvmpt 6884 . . . . . . . . . . . . . . . . 17 (𝑦𝑇 → (𝐺𝑦) = ((𝐴 · (𝐹𝑦)) mod 𝑁))
286 fveq2 6783 . . . . . . . . . . . . . . . . . . . 20 (𝑥 = 𝑧 → (𝐹𝑥) = (𝐹𝑧))
287286oveq2d 7300 . . . . . . . . . . . . . . . . . . 19 (𝑥 = 𝑧 → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹𝑧)))
288287oveq1d 7299 . . . . . . . . . . . . . . . . . 18 (𝑥 = 𝑧 → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁))
289 ovex 7317 . . . . . . . . . . . . . . . . . 18 ((𝐴 · (𝐹𝑧)) mod 𝑁) ∈ V
290288, 87, 289fvmpt 6884 . . . . . . . . . . . . . . . . 17 (𝑧𝑇 → (𝐺𝑧) = ((𝐴 · (𝐹𝑧)) mod 𝑁))
291285, 290eqeqan12d 2753 . . . . . . . . . . . . . . . 16 ((𝑦𝑇𝑧𝑇) → ((𝐺𝑦) = (𝐺𝑧) ↔ ((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁)))
292291adantl 482 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐺𝑦) = (𝐺𝑧) ↔ ((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁)))
29393adantr 481 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝐴 ∈ ℂ)
294271zcnd 12436 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ ℂ)
295277zcnd 12436 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ ℂ)
296293, 294, 295subdid 11440 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) = ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧))))
297296breq2d 5087 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ↔ 𝑁 ∥ ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧)))))
298280, 292, 2973bitr4d 311 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐺𝑦) = (𝐺𝑧) ↔ 𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧)))))
299102, 59gcdcomd 16230 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝑁 gcd 𝐴) = (𝐴 gcd 𝑁))
3001simp3d 1143 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝐴 gcd 𝑁) = 1)
301299, 300eqtrd 2779 . . . . . . . . . . . . . . . 16 (𝜑 → (𝑁 gcd 𝐴) = 1)
302301adantr 481 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 gcd 𝐴) = 1)
303102adantr 481 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝑁 ∈ ℤ)
304271, 277zsubcld 12440 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) − (𝐹𝑧)) ∈ ℤ)
305 coprmdvds 16367 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ ∧ ((𝐹𝑦) − (𝐹𝑧)) ∈ ℤ) → ((𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
306303, 266, 304, 305syl3anc 1370 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
307271zred 12435 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ ℝ)
30880adantr 481 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝑁 ∈ ℝ+)
309 elfzole1 13404 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑦) ∈ (0..^𝑁) → 0 ≤ (𝐹𝑦))
310269, 309syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 0 ≤ (𝐹𝑦))
311 elfzolt2 13405 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑦) ∈ (0..^𝑁) → (𝐹𝑦) < 𝑁)
312269, 311syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) < 𝑁)
313 modid 13625 . . . . . . . . . . . . . . . . . . 19 ((((𝐹𝑦) ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ (𝐹𝑦) ∧ (𝐹𝑦) < 𝑁)) → ((𝐹𝑦) mod 𝑁) = (𝐹𝑦))
314307, 308, 310, 312, 313syl22anc 836 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) mod 𝑁) = (𝐹𝑦))
315277zred 12435 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ ℝ)
316 elfzole1 13404 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑧) ∈ (0..^𝑁) → 0 ≤ (𝐹𝑧))
317275, 316syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 0 ≤ (𝐹𝑧))
318 elfzolt2 13405 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑧) ∈ (0..^𝑁) → (𝐹𝑧) < 𝑁)
319275, 318syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) < 𝑁)
320 modid 13625 . . . . . . . . . . . . . . . . . . 19 ((((𝐹𝑧) ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ (𝐹𝑧) ∧ (𝐹𝑧) < 𝑁)) → ((𝐹𝑧) mod 𝑁) = (𝐹𝑧))
321315, 308, 317, 319, 320syl22anc 836 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑧) mod 𝑁) = (𝐹𝑧))
322314, 321eqeq12d 2755 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (((𝐹𝑦) mod 𝑁) = ((𝐹𝑧) mod 𝑁) ↔ (𝐹𝑦) = (𝐹𝑧)))
323 moddvds 15983 . . . . . . . . . . . . . . . . . 18 ((𝑁 ∈ ℕ ∧ (𝐹𝑦) ∈ ℤ ∧ (𝐹𝑧) ∈ ℤ) → (((𝐹𝑦) mod 𝑁) = ((𝐹𝑧) mod 𝑁) ↔ 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
324265, 271, 277, 323syl3anc 1370 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (((𝐹𝑦) mod 𝑁) = ((𝐹𝑧) mod 𝑁) ↔ 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
325 f1of1 6724 . . . . . . . . . . . . . . . . . . 19 (𝐹:𝑇1-1-onto𝑆𝐹:𝑇1-1𝑆)
32660, 325syl 17 . . . . . . . . . . . . . . . . . 18 (𝜑𝐹:𝑇1-1𝑆)
327 f1fveq 7144 . . . . . . . . . . . . . . . . . 18 ((𝐹:𝑇1-1𝑆 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) = (𝐹𝑧) ↔ 𝑦 = 𝑧))
328326, 327sylan 580 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) = (𝐹𝑧) ↔ 𝑦 = 𝑧))
329322, 324, 3283bitr3d 309 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧)) ↔ 𝑦 = 𝑧))
330306, 329sylibd 238 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑦 = 𝑧))
331302, 330mpan2d 691 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) → 𝑦 = 𝑧))
332298, 331sylbid 239 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐺𝑦) = (𝐺𝑧) → 𝑦 = 𝑧))
333332ralrimivva 3124 . . . . . . . . . . . 12 (𝜑 → ∀𝑦𝑇𝑧𝑇 ((𝐺𝑦) = (𝐺𝑧) → 𝑦 = 𝑧))
334 dff13 7137 . . . . . . . . . . . 12 (𝐺:𝑇1-1𝑆 ↔ (𝐺:𝑇𝑆 ∧ ∀𝑦𝑇𝑧𝑇 ((𝐺𝑦) = (𝐺𝑧) → 𝑦 = 𝑧)))
335160, 333, 334sylanbrc 583 . . . . . . . . . . 11 (𝜑𝐺:𝑇1-1𝑆)
33667ovexi 7318 . . . . . . . . . . . . . 14 𝑇 ∈ V
337336f1oen 8770 . . . . . . . . . . . . 13 (𝐹:𝑇1-1-onto𝑆𝑇𝑆)
33860, 337syl 17 . . . . . . . . . . . 12 (𝜑𝑇𝑆)
339 fzofi 13703 . . . . . . . . . . . . 13 (0..^𝑁) ∈ Fin
340 ssfi 8965 . . . . . . . . . . . . 13 (((0..^𝑁) ∈ Fin ∧ 𝑆 ⊆ (0..^𝑁)) → 𝑆 ∈ Fin)
341339, 159, 340mp2an 689 . . . . . . . . . . . 12 𝑆 ∈ Fin
342 f1finf1o 9055 . . . . . . . . . . . 12 ((𝑇𝑆𝑆 ∈ Fin) → (𝐺:𝑇1-1𝑆𝐺:𝑇1-1-onto𝑆))
343338, 341, 342sylancl 586 . . . . . . . . . . 11 (𝜑 → (𝐺:𝑇1-1𝑆𝐺:𝑇1-1-onto𝑆))
344335, 343mpbid 231 . . . . . . . . . 10 (𝜑𝐺:𝑇1-1-onto𝑆)
345 f1oco 6748 . . . . . . . . . 10 ((𝐹:𝑆1-1-onto𝑇𝐺:𝑇1-1-onto𝑆) → (𝐹𝐺):𝑇1-1-onto𝑇)
346264, 344, 345syl2anc 584 . . . . . . . . 9 (𝜑 → (𝐹𝐺):𝑇1-1-onto𝑇)
347 f1oeq23 6716 . . . . . . . . . 10 ((𝑇 = (1...(ϕ‘𝑁)) ∧ 𝑇 = (1...(ϕ‘𝑁))) → ((𝐹𝐺):𝑇1-1-onto𝑇 ↔ (𝐹𝐺):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁))))
34867, 67, 347mp2an 689 . . . . . . . . 9 ((𝐹𝐺):𝑇1-1-onto𝑇 ↔ (𝐹𝐺):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁)))
349346, 348sylib 217 . . . . . . . 8 (𝜑 → (𝐹𝐺):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁)))
350252zcnd 12436 . . . . . . . 8 ((𝜑𝑥 ∈ (1...(ϕ‘𝑁))) → (𝐹𝑥) ∈ ℂ)
35167eleq2i 2831 . . . . . . . . 9 (𝑤𝑇𝑤 ∈ (1...(ϕ‘𝑁)))
352 fvco3 6876 . . . . . . . . . . . 12 ((𝐺:𝑇𝑆𝑤𝑇) → ((𝐹𝐺)‘𝑤) = (𝐹‘(𝐺𝑤)))
353160, 352sylan 580 . . . . . . . . . . 11 ((𝜑𝑤𝑇) → ((𝐹𝐺)‘𝑤) = (𝐹‘(𝐺𝑤)))
354353fveq2d 6787 . . . . . . . . . 10 ((𝜑𝑤𝑇) → (𝐹‘((𝐹𝐺)‘𝑤)) = (𝐹‘(𝐹‘(𝐺𝑤))))
35560adantr 481 . . . . . . . . . . 11 ((𝜑𝑤𝑇) → 𝐹:𝑇1-1-onto𝑆)
356160ffvelrnda 6970 . . . . . . . . . . 11 ((𝜑𝑤𝑇) → (𝐺𝑤) ∈ 𝑆)
357 f1ocnvfv2 7158 . . . . . . . . . . 11 ((𝐹:𝑇1-1-onto𝑆 ∧ (𝐺𝑤) ∈ 𝑆) → (𝐹‘(𝐹‘(𝐺𝑤))) = (𝐺𝑤))
358355, 356, 357syl2anc 584 . . . . . . . . . 10 ((𝜑𝑤𝑇) → (𝐹‘(𝐹‘(𝐺𝑤))) = (𝐺𝑤))
359354, 358eqtr2d 2780 . . . . . . . . 9 ((𝜑𝑤𝑇) → (𝐺𝑤) = (𝐹‘((𝐹𝐺)‘𝑤)))
360351, 359sylan2br 595 . . . . . . . 8 ((𝜑𝑤 ∈ (1...(ϕ‘𝑁))) → (𝐺𝑤) = (𝐹‘((𝐹𝐺)‘𝑤)))
361257, 259, 261, 64, 262, 349, 350, 360seqf1o 13773 . . . . . . 7 (𝜑 → (seq1( · , 𝐺)‘(ϕ‘𝑁)) = (seq1( · , 𝐹)‘(ϕ‘𝑁)))
362361, 254eqeltrd 2840 . . . . . 6 (𝜑 → (seq1( · , 𝐺)‘(ϕ‘𝑁)) ∈ ℤ)
363 moddvds 15983 . . . . . 6 ((𝑁 ∈ ℕ ∧ ((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) ∈ ℤ ∧ (seq1( · , 𝐺)‘(ϕ‘𝑁)) ∈ ℤ) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ↔ 𝑁 ∥ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁)))))
3642, 255, 362, 363syl3anc 1370 . . . . 5 (𝜑 → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ↔ 𝑁 ∥ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁)))))
365247, 364mpbid 231 . . . 4 (𝜑𝑁 ∥ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁))))
366254zcnd 12436 . . . . . . . 8 (𝜑 → (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℂ)
367366mulid2d 11002 . . . . . . 7 (𝜑 → (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (seq1( · , 𝐹)‘(ϕ‘𝑁)))
368361, 367eqtr4d 2782 . . . . . 6 (𝜑 → (seq1( · , 𝐺)‘(ϕ‘𝑁)) = (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁))))
369368oveq2d 7300 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
370250zcnd 12436 . . . . . 6 (𝜑 → (𝐴↑(ϕ‘𝑁)) ∈ ℂ)
371 ax-1cn 10938 . . . . . . 7 1 ∈ ℂ
372 subdir 11418 . . . . . . 7 (((𝐴↑(ϕ‘𝑁)) ∈ ℂ ∧ 1 ∈ ℂ ∧ (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℂ) → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
373371, 372mp3an2 1448 . . . . . 6 (((𝐴↑(ϕ‘𝑁)) ∈ ℂ ∧ (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℂ) → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
374370, 366, 373syl2anc 584 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
375 zsubcl 12371 . . . . . . . 8 (((𝐴↑(ϕ‘𝑁)) ∈ ℤ ∧ 1 ∈ ℤ) → ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℤ)
376250, 83, 375sylancl 586 . . . . . . 7 (𝜑 → ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℤ)
377376zcnd 12436 . . . . . 6 (𝜑 → ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℂ)
378377, 366mulcomd 11005 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)))
379369, 374, 3783eqtr2d 2785 . . . 4 (𝜑 → (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁))) = ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)))
380365, 379breqtrd 5101 . . 3 (𝜑𝑁 ∥ ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)))
381246simprd 496 . . 3 (𝜑 → (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1)
382 coprmdvds 16367 . . . 4 ((𝑁 ∈ ℤ ∧ (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℤ ∧ ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℤ) → ((𝑁 ∥ ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1) → 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
383102, 254, 376, 382syl3anc 1370 . . 3 (𝜑 → ((𝑁 ∥ ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1) → 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
384380, 381, 383mp2and 696 . 2 (𝜑𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1))
385 moddvds 15983 . . . 4 ((𝑁 ∈ ℕ ∧ (𝐴↑(ϕ‘𝑁)) ∈ ℤ ∧ 1 ∈ ℤ) → (((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁) ↔ 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
38683, 385mp3an3 1449 . . 3 ((𝑁 ∈ ℕ ∧ (𝐴↑(ϕ‘𝑁)) ∈ ℤ) → (((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁) ↔ 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
3872, 250, 386syl2anc 584 . 2 (𝜑 → (((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁) ↔ 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
388384, 387mpbird 256 1 (𝜑 → ((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 396  w3a 1086   = wceq 1539  wcel 2107  wral 3065  {crab 3069  wss 3888   class class class wbr 5075  cmpt 5158  ccnv 5589  ccom 5594  wf 6433  1-1wf1 6434  1-1-ontowf1o 6436  cfv 6437  (class class class)co 7284  cen 8739  Fincfn 8742  cc 10878  cr 10879  0cc0 10880  1c1 10881   + caddc 10883   · cmul 10885   < clt 11018  cle 11019  cmin 11214  cn 11982  0cn0 12242  cz 12328  cuz 12591  +crp 12739  ...cfz 13248  ..^cfzo 13391   mod cmo 13598  seqcseq 13730  cexp 13791  cdvds 15972   gcd cgcd 16210  ϕcphi 16474
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1914  ax-6 1972  ax-7 2012  ax-8 2109  ax-9 2117  ax-10 2138  ax-11 2155  ax-12 2172  ax-ext 2710  ax-rep 5210  ax-sep 5224  ax-nul 5231  ax-pow 5289  ax-pr 5353  ax-un 7597  ax-cnex 10936  ax-resscn 10937  ax-1cn 10938  ax-icn 10939  ax-addcl 10940  ax-addrcl 10941  ax-mulcl 10942  ax-mulrcl 10943  ax-mulcom 10944  ax-addass 10945  ax-mulass 10946  ax-distr 10947  ax-i2m1 10948  ax-1ne0 10949  ax-1rid 10950  ax-rnegex 10951  ax-rrecex 10952  ax-cnre 10953  ax-pre-lttri 10954  ax-pre-lttrn 10955  ax-pre-ltadd 10956  ax-pre-mulgt0 10957  ax-pre-sup 10958
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3or 1087  df-3an 1088  df-tru 1542  df-fal 1552  df-ex 1783  df-nf 1787  df-sb 2069  df-mo 2541  df-eu 2570  df-clab 2717  df-cleq 2731  df-clel 2817  df-nfc 2890  df-ne 2945  df-nel 3051  df-ral 3070  df-rex 3071  df-rmo 3072  df-reu 3073  df-rab 3074  df-v 3435  df-sbc 3718  df-csb 3834  df-dif 3891  df-un 3893  df-in 3895  df-ss 3905  df-pss 3907  df-nul 4258  df-if 4461  df-pw 4536  df-sn 4563  df-pr 4565  df-op 4569  df-uni 4841  df-int 4881  df-iun 4927  df-br 5076  df-opab 5138  df-mpt 5159  df-tr 5193  df-id 5490  df-eprel 5496  df-po 5504  df-so 5505  df-fr 5545  df-we 5547  df-xp 5596  df-rel 5597  df-cnv 5598  df-co 5599  df-dm 5600  df-rn 5601  df-res 5602  df-ima 5603  df-pred 6206  df-ord 6273  df-on 6274  df-lim 6275  df-suc 6276  df-iota 6395  df-fun 6439  df-fn 6440  df-f 6441  df-f1 6442  df-fo 6443  df-f1o 6444  df-fv 6445  df-riota 7241  df-ov 7287  df-oprab 7288  df-mpo 7289  df-om 7722  df-1st 7840  df-2nd 7841  df-frecs 8106  df-wrecs 8137  df-recs 8211  df-rdg 8250  df-1o 8306  df-oadd 8310  df-er 8507  df-map 8626  df-en 8743  df-dom 8744  df-sdom 8745  df-fin 8746  df-sup 9210  df-inf 9211  df-card 9706  df-pnf 11020  df-mnf 11021  df-xr 11022  df-ltxr 11023  df-le 11024  df-sub 11216  df-neg 11217  df-div 11642  df-nn 11983  df-2 12045  df-3 12046  df-n0 12243  df-xnn0 12315  df-z 12329  df-uz 12592  df-rp 12740  df-fz 13249  df-fzo 13392  df-fl 13521  df-mod 13599  df-seq 13731  df-exp 13792  df-hash 14054  df-cj 14819  df-re 14820  df-im 14821  df-sqrt 14955  df-abs 14956  df-dvds 15973  df-gcd 16211  df-phi 16476
This theorem is referenced by:  eulerth  16493
  Copyright terms: Public domain W3C validator