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

Theorem eulerthlem2 16829
Description: Lemma for eulerth 16830. (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 1142 . . . . . . . . . 10 (𝜑𝑁 ∈ ℕ)
32phicld 16819 . . . . . . . . 9 (𝜑 → (ϕ‘𝑁) ∈ ℕ)
43nnred 12308 . . . . . . . 8 (𝜑 → (ϕ‘𝑁) ∈ ℝ)
54leidd 11856 . . . . . . 7 (𝜑 → (ϕ‘𝑁) ≤ (ϕ‘𝑁))
63adantr 480 . . . . . . . 8 ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → (ϕ‘𝑁) ∈ ℕ)
7 breq1 5169 . . . . . . . . . . 11 (𝑥 = 1 → (𝑥 ≤ (ϕ‘𝑁) ↔ 1 ≤ (ϕ‘𝑁)))
87anbi2d 629 . . . . . . . . . 10 (𝑥 = 1 → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑 ∧ 1 ≤ (ϕ‘𝑁))))
9 oveq2 7456 . . . . . . . . . . . . . 14 (𝑥 = 1 → (𝐴𝑥) = (𝐴↑1))
10 fveq2 6920 . . . . . . . . . . . . . 14 (𝑥 = 1 → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘1))
119, 10oveq12d 7466 . . . . . . . . . . . . 13 (𝑥 = 1 → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴↑1) · (seq1( · , 𝐹)‘1)))
1211oveq1d 7463 . . . . . . . . . . . 12 (𝑥 = 1 → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁))
13 fveq2 6920 . . . . . . . . . . . . 13 (𝑥 = 1 → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘1))
1413oveq1d 7463 . . . . . . . . . . . 12 (𝑥 = 1 → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁))
1512, 14eqeq12d 2756 . . . . . . . . . . 11 (𝑥 = 1 → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁)))
1610oveq2d 7464 . . . . . . . . . . . 12 (𝑥 = 1 → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘1)))
1716eqeq1d 2742 . . . . . . . . . . 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 344 . . . . . . . . 9 (𝑥 = 1 → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑 ∧ 1 ≤ (ϕ‘𝑁)) → ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))))
20 breq1 5169 . . . . . . . . . . 11 (𝑥 = 𝑧 → (𝑥 ≤ (ϕ‘𝑁) ↔ 𝑧 ≤ (ϕ‘𝑁)))
2120anbi2d 629 . . . . . . . . . 10 (𝑥 = 𝑧 → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑𝑧 ≤ (ϕ‘𝑁))))
22 oveq2 7456 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → (𝐴𝑥) = (𝐴𝑧))
23 fveq2 6920 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘𝑧))
2422, 23oveq12d 7466 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)))
2524oveq1d 7463 . . . . . . . . . . . 12 (𝑥 = 𝑧 → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁))
26 fveq2 6920 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘𝑧))
2726oveq1d 7463 . . . . . . . . . . . 12 (𝑥 = 𝑧 → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁))
2825, 27eqeq12d 2756 . . . . . . . . . . 11 (𝑥 = 𝑧 → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁)))
2923oveq2d 7464 . . . . . . . . . . . 12 (𝑥 = 𝑧 → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘𝑧)))
3029eqeq1d 2742 . . . . . . . . . . 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 344 . . . . . . . . 9 (𝑥 = 𝑧 → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑𝑧 ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1))))
33 breq1 5169 . . . . . . . . . . 11 (𝑥 = (𝑧 + 1) → (𝑥 ≤ (ϕ‘𝑁) ↔ (𝑧 + 1) ≤ (ϕ‘𝑁)))
3433anbi2d 629 . . . . . . . . . 10 (𝑥 = (𝑧 + 1) → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
35 oveq2 7456 . . . . . . . . . . . . . 14 (𝑥 = (𝑧 + 1) → (𝐴𝑥) = (𝐴↑(𝑧 + 1)))
36 fveq2 6920 . . . . . . . . . . . . . 14 (𝑥 = (𝑧 + 1) → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘(𝑧 + 1)))
3735, 36oveq12d 7466 . . . . . . . . . . . . 13 (𝑥 = (𝑧 + 1) → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))))
3837oveq1d 7463 . . . . . . . . . . . 12 (𝑥 = (𝑧 + 1) → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁))
39 fveq2 6920 . . . . . . . . . . . . 13 (𝑥 = (𝑧 + 1) → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘(𝑧 + 1)))
4039oveq1d 7463 . . . . . . . . . . . 12 (𝑥 = (𝑧 + 1) → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁))
4138, 40eqeq12d 2756 . . . . . . . . . . 11 (𝑥 = (𝑧 + 1) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁)))
4236oveq2d 7464 . . . . . . . . . . . 12 (𝑥 = (𝑧 + 1) → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))))
4342eqeq1d 2742 . . . . . . . . . . 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 344 . . . . . . . . 9 (𝑥 = (𝑧 + 1) → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))))
46 breq1 5169 . . . . . . . . . . 11 (𝑥 = (ϕ‘𝑁) → (𝑥 ≤ (ϕ‘𝑁) ↔ (ϕ‘𝑁) ≤ (ϕ‘𝑁)))
4746anbi2d 629 . . . . . . . . . 10 (𝑥 = (ϕ‘𝑁) → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁))))
48 oveq2 7456 . . . . . . . . . . . . . 14 (𝑥 = (ϕ‘𝑁) → (𝐴𝑥) = (𝐴↑(ϕ‘𝑁)))
49 fveq2 6920 . . . . . . . . . . . . . 14 (𝑥 = (ϕ‘𝑁) → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘(ϕ‘𝑁)))
5048, 49oveq12d 7466 . . . . . . . . . . . . 13 (𝑥 = (ϕ‘𝑁) → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))))
5150oveq1d 7463 . . . . . . . . . . . 12 (𝑥 = (ϕ‘𝑁) → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁))
52 fveq2 6920 . . . . . . . . . . . . 13 (𝑥 = (ϕ‘𝑁) → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘(ϕ‘𝑁)))
5352oveq1d 7463 . . . . . . . . . . . 12 (𝑥 = (ϕ‘𝑁) → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁))
5451, 53eqeq12d 2756 . . . . . . . . . . 11 (𝑥 = (ϕ‘𝑁) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁)))
5549oveq2d 7464 . . . . . . . . . . . 12 (𝑥 = (ϕ‘𝑁) → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))))
5655eqeq1d 2742 . . . . . . . . . . 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 344 . . . . . . . . 9 (𝑥 = (ϕ‘𝑁) → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))))
591simp2d 1143 . . . . . . . . . . . . . . 15 (𝜑𝐴 ∈ ℤ)
60 eulerth.4 . . . . . . . . . . . . . . . . . . . 20 (𝜑𝐹:𝑇1-1-onto𝑆)
61 f1of 6862 . . . . . . . . . . . . . . . . . . . 20 (𝐹:𝑇1-1-onto𝑆𝐹:𝑇𝑆)
6260, 61syl 17 . . . . . . . . . . . . . . . . . . 19 (𝜑𝐹:𝑇𝑆)
63 nnuz 12946 . . . . . . . . . . . . . . . . . . . . . 22 ℕ = (ℤ‘1)
643, 63eleqtrdi 2854 . . . . . . . . . . . . . . . . . . . . 21 (𝜑 → (ϕ‘𝑁) ∈ (ℤ‘1))
65 eluzfz1 13591 . . . . . . . . . . . . . . . . . . . . 21 ((ϕ‘𝑁) ∈ (ℤ‘1) → 1 ∈ (1...(ϕ‘𝑁)))
6664, 65syl 17 . . . . . . . . . . . . . . . . . . . 20 (𝜑 → 1 ∈ (1...(ϕ‘𝑁)))
67 eulerth.3 . . . . . . . . . . . . . . . . . . . 20 𝑇 = (1...(ϕ‘𝑁))
6866, 67eleqtrrdi 2855 . . . . . . . . . . . . . . . . . . 19 (𝜑 → 1 ∈ 𝑇)
6962, 68ffvelcdmd 7119 . . . . . . . . . . . . . . . . . 18 (𝜑 → (𝐹‘1) ∈ 𝑆)
70 oveq1 7455 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = (𝐹‘1) → (𝑦 gcd 𝑁) = ((𝐹‘1) gcd 𝑁))
7170eqeq1d 2742 . . . . . . . . . . . . . . . . . . 19 (𝑦 = (𝐹‘1) → ((𝑦 gcd 𝑁) = 1 ↔ ((𝐹‘1) gcd 𝑁) = 1))
72 eulerth.2 . . . . . . . . . . . . . . . . . . 19 𝑆 = {𝑦 ∈ (0..^𝑁) ∣ (𝑦 gcd 𝑁) = 1}
7371, 72elrab2 3711 . . . . . . . . . . . . . . . . . 18 ((𝐹‘1) ∈ 𝑆 ↔ ((𝐹‘1) ∈ (0..^𝑁) ∧ ((𝐹‘1) gcd 𝑁) = 1))
7469, 73sylib 218 . . . . . . . . . . . . . . . . 17 (𝜑 → ((𝐹‘1) ∈ (0..^𝑁) ∧ ((𝐹‘1) gcd 𝑁) = 1))
7574simpld 494 . . . . . . . . . . . . . . . 16 (𝜑 → (𝐹‘1) ∈ (0..^𝑁))
76 elfzoelz 13716 . . . . . . . . . . . . . . . 16 ((𝐹‘1) ∈ (0..^𝑁) → (𝐹‘1) ∈ ℤ)
7775, 76syl 17 . . . . . . . . . . . . . . 15 (𝜑 → (𝐹‘1) ∈ ℤ)
7859, 77zmulcld 12753 . . . . . . . . . . . . . 14 (𝜑 → (𝐴 · (𝐹‘1)) ∈ ℤ)
7978zred 12747 . . . . . . . . . . . . 13 (𝜑 → (𝐴 · (𝐹‘1)) ∈ ℝ)
802nnrpd 13097 . . . . . . . . . . . . 13 (𝜑𝑁 ∈ ℝ+)
81 modabs2 13956 . . . . . . . . . . . . 13 (((𝐴 · (𝐹‘1)) ∈ ℝ ∧ 𝑁 ∈ ℝ+) → (((𝐴 · (𝐹‘1)) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
8279, 80, 81syl2anc 583 . . . . . . . . . . . 12 (𝜑 → (((𝐴 · (𝐹‘1)) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
83 1z 12673 . . . . . . . . . . . . . 14 1 ∈ ℤ
84 fveq2 6920 . . . . . . . . . . . . . . . . . 18 (𝑥 = 1 → (𝐹𝑥) = (𝐹‘1))
8584oveq2d 7464 . . . . . . . . . . . . . . . . 17 (𝑥 = 1 → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹‘1)))
8685oveq1d 7463 . . . . . . . . . . . . . . . 16 (𝑥 = 1 → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
87 eulerth.5 . . . . . . . . . . . . . . . 16 𝐺 = (𝑥𝑇 ↦ ((𝐴 · (𝐹𝑥)) mod 𝑁))
88 ovex 7481 . . . . . . . . . . . . . . . 16 ((𝐴 · (𝐹‘1)) mod 𝑁) ∈ V
8986, 87, 88fvmpt 7029 . . . . . . . . . . . . . . 15 (1 ∈ 𝑇 → (𝐺‘1) = ((𝐴 · (𝐹‘1)) mod 𝑁))
9068, 89syl 17 . . . . . . . . . . . . . 14 (𝜑 → (𝐺‘1) = ((𝐴 · (𝐹‘1)) mod 𝑁))
9183, 90seq1i 14066 . . . . . . . . . . . . 13 (𝜑 → (seq1( · , 𝐺)‘1) = ((𝐴 · (𝐹‘1)) mod 𝑁))
9291oveq1d 7463 . . . . . . . . . . . 12 (𝜑 → ((seq1( · , 𝐺)‘1) mod 𝑁) = (((𝐴 · (𝐹‘1)) mod 𝑁) mod 𝑁))
9359zcnd 12748 . . . . . . . . . . . . . . 15 (𝜑𝐴 ∈ ℂ)
9493exp1d 14191 . . . . . . . . . . . . . 14 (𝜑 → (𝐴↑1) = 𝐴)
95 seq1 14065 . . . . . . . . . . . . . . . 16 (1 ∈ ℤ → (seq1( · , 𝐹)‘1) = (𝐹‘1))
9683, 95ax-mp 5 . . . . . . . . . . . . . . 15 (seq1( · , 𝐹)‘1) = (𝐹‘1)
9796a1i 11 . . . . . . . . . . . . . 14 (𝜑 → (seq1( · , 𝐹)‘1) = (𝐹‘1))
9894, 97oveq12d 7466 . . . . . . . . . . . . 13 (𝜑 → ((𝐴↑1) · (seq1( · , 𝐹)‘1)) = (𝐴 · (𝐹‘1)))
9998oveq1d 7463 . . . . . . . . . . . 12 (𝜑 → (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
10082, 92, 993eqtr4rd 2791 . . . . . . . . . . 11 (𝜑 → (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁))
10196oveq2i 7459 . . . . . . . . . . . 12 (𝑁 gcd (seq1( · , 𝐹)‘1)) = (𝑁 gcd (𝐹‘1))
1022nnzd 12666 . . . . . . . . . . . . . 14 (𝜑𝑁 ∈ ℤ)
103102, 77gcdcomd 16560 . . . . . . . . . . . . 13 (𝜑 → (𝑁 gcd (𝐹‘1)) = ((𝐹‘1) gcd 𝑁))
10474simprd 495 . . . . . . . . . . . . 13 (𝜑 → ((𝐹‘1) gcd 𝑁) = 1)
105103, 104eqtrd 2780 . . . . . . . . . . . 12 (𝜑 → (𝑁 gcd (𝐹‘1)) = 1)
106101, 105eqtrid 2792 . . . . . . . . . . 11 (𝜑 → (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1)
107100, 106jca 511 . . . . . . . . . 10 (𝜑 → ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))
108107adantr 480 . . . . . . . . 9 ((𝜑 ∧ 1 ≤ (ϕ‘𝑁)) → ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))
109 nnre 12300 . . . . . . . . . . . . . . 15 (𝑧 ∈ ℕ → 𝑧 ∈ ℝ)
110109adantr 480 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℕ ∧ 𝜑) → 𝑧 ∈ ℝ)
111110lep1d 12226 . . . . . . . . . . . . 13 ((𝑧 ∈ ℕ ∧ 𝜑) → 𝑧 ≤ (𝑧 + 1))
112 peano2re 11463 . . . . . . . . . . . . . . 15 (𝑧 ∈ ℝ → (𝑧 + 1) ∈ ℝ)
113110, 112syl 17 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℕ ∧ 𝜑) → (𝑧 + 1) ∈ ℝ)
1144adantl 481 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℕ ∧ 𝜑) → (ϕ‘𝑁) ∈ ℝ)
115 letr 11384 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℝ ∧ (𝑧 + 1) ∈ ℝ ∧ (ϕ‘𝑁) ∈ ℝ) → ((𝑧 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → 𝑧 ≤ (ϕ‘𝑁)))
116110, 113, 114, 115syl3anc 1371 . . . . . . . . . . . . 13 ((𝑧 ∈ ℕ ∧ 𝜑) → ((𝑧 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → 𝑧 ≤ (ϕ‘𝑁)))
117111, 116mpand 694 . . . . . . . . . . . 12 ((𝑧 ∈ ℕ ∧ 𝜑) → ((𝑧 + 1) ≤ (ϕ‘𝑁) → 𝑧 ≤ (ϕ‘𝑁)))
118117imdistanda 571 . . . . . . . . . . 11 (𝑧 ∈ ℕ → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → (𝜑𝑧 ≤ (ϕ‘𝑁))))
119118imim1d 82 . . . . . . . . . 10 (𝑧 ∈ ℕ → (((𝜑𝑧 ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1)) → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1))))
12059adantr 480 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝐴 ∈ ℤ)
121 nnnn0 12560 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ ℕ → 𝑧 ∈ ℕ0)
122121ad2antrl 727 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℕ0)
123 zexpcl 14127 . . . . . . . . . . . . . . . . . . 19 ((𝐴 ∈ ℤ ∧ 𝑧 ∈ ℕ0) → (𝐴𝑧) ∈ ℤ)
124120, 122, 123syl2anc 583 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴𝑧) ∈ ℤ)
125 simprl 770 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℕ)
126125, 63eleqtrdi 2854 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ (ℤ‘1))
127109ad2antrl 727 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℝ)
128127, 112syl 17 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ ℝ)
1294adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (ϕ‘𝑁) ∈ ℝ)
130127lep1d 12226 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ≤ (𝑧 + 1))
131 simprr 772 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ≤ (ϕ‘𝑁))
132127, 128, 129, 130, 131letrd 11447 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ≤ (ϕ‘𝑁))
133 nnz 12660 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑧 ∈ ℕ → 𝑧 ∈ ℤ)
134133ad2antrl 727 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℤ)
1353nnzd 12666 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝜑 → (ϕ‘𝑁) ∈ ℤ)
136135adantr 480 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (ϕ‘𝑁) ∈ ℤ)
137 eluz 12917 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝑧 ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℤ) → ((ϕ‘𝑁) ∈ (ℤ𝑧) ↔ 𝑧 ≤ (ϕ‘𝑁)))
138134, 136, 137syl2anc 583 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((ϕ‘𝑁) ∈ (ℤ𝑧) ↔ 𝑧 ≤ (ϕ‘𝑁)))
139132, 138mpbird 257 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (ϕ‘𝑁) ∈ (ℤ𝑧))
140 fzss2 13624 . . . . . . . . . . . . . . . . . . . . . . 23 ((ϕ‘𝑁) ∈ (ℤ𝑧) → (1...𝑧) ⊆ (1...(ϕ‘𝑁)))
141139, 140syl 17 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (1...𝑧) ⊆ (1...(ϕ‘𝑁)))
142141, 67sseqtrrdi 4060 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (1...𝑧) ⊆ 𝑇)
143142sselda 4008 . . . . . . . . . . . . . . . . . . . 20 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥 ∈ (1...𝑧)) → 𝑥𝑇)
14462ffvelcdmda 7118 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑𝑥𝑇) → (𝐹𝑥) ∈ 𝑆)
145 oveq1 7455 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑦 = (𝐹𝑥) → (𝑦 gcd 𝑁) = ((𝐹𝑥) gcd 𝑁))
146145eqeq1d 2742 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑦 = (𝐹𝑥) → ((𝑦 gcd 𝑁) = 1 ↔ ((𝐹𝑥) gcd 𝑁) = 1))
147146, 72elrab2 3711 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝐹𝑥) ∈ 𝑆 ↔ ((𝐹𝑥) ∈ (0..^𝑁) ∧ ((𝐹𝑥) gcd 𝑁) = 1))
148144, 147sylib 218 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑𝑥𝑇) → ((𝐹𝑥) ∈ (0..^𝑁) ∧ ((𝐹𝑥) gcd 𝑁) = 1))
149148simpld 494 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑥𝑇) → (𝐹𝑥) ∈ (0..^𝑁))
150 elfzoelz 13716 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐹𝑥) ∈ (0..^𝑁) → (𝐹𝑥) ∈ ℤ)
151149, 150syl 17 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑥𝑇) → (𝐹𝑥) ∈ ℤ)
152151adantlr 714 . . . . . . . . . . . . . . . . . . . 20 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥𝑇) → (𝐹𝑥) ∈ ℤ)
153143, 152syldan 590 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥 ∈ (1...𝑧)) → (𝐹𝑥) ∈ ℤ)
154 zmulcl 12692 . . . . . . . . . . . . . . . . . . . 20 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ) → (𝑥 · 𝑦) ∈ ℤ)
155154adantl 481 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ)) → (𝑥 · 𝑦) ∈ ℤ)
156126, 153, 155seqcl 14073 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐹)‘𝑧) ∈ ℤ)
157124, 156zmulcld 12753 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℤ)
158157zred 12747 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℝ)
15972ssrab3 4105 . . . . . . . . . . . . . . . . . . . . . 22 𝑆 ⊆ (0..^𝑁)
1601, 72, 67, 60, 87eulerthlem1 16828 . . . . . . . . . . . . . . . . . . . . . . 23 (𝜑𝐺:𝑇𝑆)
161160ffvelcdmda 7118 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑥𝑇) → (𝐺𝑥) ∈ 𝑆)
162159, 161sselid 4006 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑥𝑇) → (𝐺𝑥) ∈ (0..^𝑁))
163 elfzoelz 13716 . . . . . . . . . . . . . . . . . . . . 21 ((𝐺𝑥) ∈ (0..^𝑁) → (𝐺𝑥) ∈ ℤ)
164162, 163syl 17 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑥𝑇) → (𝐺𝑥) ∈ ℤ)
165164adantlr 714 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥𝑇) → (𝐺𝑥) ∈ ℤ)
166143, 165syldan 590 . . . . . . . . . . . . . . . . . 18 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥 ∈ (1...𝑧)) → (𝐺𝑥) ∈ ℤ)
167126, 166, 155seqcl 14073 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘𝑧) ∈ ℤ)
168167zred 12747 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘𝑧) ∈ ℝ)
16962adantr 480 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝐹:𝑇𝑆)
170 peano2nn 12305 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑧 ∈ ℕ → (𝑧 + 1) ∈ ℕ)
171170ad2antrl 727 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ ℕ)
172171nnge1d 12341 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 1 ≤ (𝑧 + 1))
173171nnzd 12666 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ ℤ)
174 elfz 13573 . . . . . . . . . . . . . . . . . . . . . . . . 25 (((𝑧 + 1) ∈ ℤ ∧ 1 ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℤ) → ((𝑧 + 1) ∈ (1...(ϕ‘𝑁)) ↔ (1 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
17583, 174mp3an2 1449 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝑧 + 1) ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℤ) → ((𝑧 + 1) ∈ (1...(ϕ‘𝑁)) ↔ (1 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
176173, 136, 175syl2anc 583 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑧 + 1) ∈ (1...(ϕ‘𝑁)) ↔ (1 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
177172, 131, 176mpbir2and 712 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ (1...(ϕ‘𝑁)))
178177, 67eleqtrrdi 2855 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ 𝑇)
179169, 178ffvelcdmd 7119 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ 𝑆)
180 oveq1 7455 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 = (𝐹‘(𝑧 + 1)) → (𝑦 gcd 𝑁) = ((𝐹‘(𝑧 + 1)) gcd 𝑁))
181180eqeq1d 2742 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = (𝐹‘(𝑧 + 1)) → ((𝑦 gcd 𝑁) = 1 ↔ ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1))
182181, 72elrab2 3711 . . . . . . . . . . . . . . . . . . . 20 ((𝐹‘(𝑧 + 1)) ∈ 𝑆 ↔ ((𝐹‘(𝑧 + 1)) ∈ (0..^𝑁) ∧ ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1))
183179, 182sylib 218 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐹‘(𝑧 + 1)) ∈ (0..^𝑁) ∧ ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1))
184183simpld 494 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ (0..^𝑁))
185 elfzoelz 13716 . . . . . . . . . . . . . . . . . 18 ((𝐹‘(𝑧 + 1)) ∈ (0..^𝑁) → (𝐹‘(𝑧 + 1)) ∈ ℤ)
186184, 185syl 17 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ ℤ)
187120, 186zmulcld 12753 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℤ)
18880adantr 480 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑁 ∈ ℝ+)
189 modmul1 13975 . . . . . . . . . . . . . . . . 17 (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℝ ∧ (seq1( · , 𝐺)‘𝑧) ∈ ℝ) ∧ ((𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℤ ∧ 𝑁 ∈ ℝ+) ∧ (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁))
1901893expia 1121 . . . . . . . . . . . . . . . 16 (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℝ ∧ (seq1( · , 𝐺)‘𝑧) ∈ ℝ) ∧ ((𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℤ ∧ 𝑁 ∈ ℝ+)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁)))
191158, 168, 187, 188, 190syl22anc 838 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁)))
192124zcnd 12748 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴𝑧) ∈ ℂ)
193156zcnd 12748 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐹)‘𝑧) ∈ ℂ)
19493adantr 480 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝐴 ∈ ℂ)
195186zcnd 12748 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ ℂ)
196192, 193, 194, 195mul4d 11502 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) = (((𝐴𝑧) · 𝐴) · ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))))
197194, 122expp1d 14197 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴↑(𝑧 + 1)) = ((𝐴𝑧) · 𝐴))
198 seqp1 14067 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ (ℤ‘1) → (seq1( · , 𝐹)‘(𝑧 + 1)) = ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1))))
199126, 198syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐹)‘(𝑧 + 1)) = ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1))))
200197, 199oveq12d 7466 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) = (((𝐴𝑧) · 𝐴) · ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))))
201196, 200eqtr4d 2783 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) = ((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))))
202201oveq1d 7463 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁))
203187zred 12747 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℝ)
204203, 188modcld 13926 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ ℝ)
205 modabs2 13956 . . . . . . . . . . . . . . . . . . 19 (((𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℝ ∧ 𝑁 ∈ ℝ+) → (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
206203, 188, 205syl2anc 583 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
207 modmul1 13975 . . . . . . . . . . . . . . . . . 18 (((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ ℝ ∧ (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℝ) ∧ ((seq1( · , 𝐺)‘𝑧) ∈ ℤ ∧ 𝑁 ∈ ℝ+) ∧ (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁)) → ((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁) = (((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
208204, 203, 167, 188, 206, 207syl221anc 1381 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁) = (((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
209 fveq2 6920 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑥 = (𝑧 + 1) → (𝐹𝑥) = (𝐹‘(𝑧 + 1)))
210209oveq2d 7464 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑥 = (𝑧 + 1) → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹‘(𝑧 + 1))))
211210oveq1d 7463 . . . . . . . . . . . . . . . . . . . . . 22 (𝑥 = (𝑧 + 1) → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
212 ovex 7481 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ V
213211, 87, 212fvmpt 7029 . . . . . . . . . . . . . . . . . . . . 21 ((𝑧 + 1) ∈ 𝑇 → (𝐺‘(𝑧 + 1)) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
214178, 213syl 17 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐺‘(𝑧 + 1)) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
215214oveq2d 7464 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((seq1( · , 𝐺)‘𝑧) · (𝐺‘(𝑧 + 1))) = ((seq1( · , 𝐺)‘𝑧) · ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁)))
216 seqp1 14067 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ (ℤ‘1) → (seq1( · , 𝐺)‘(𝑧 + 1)) = ((seq1( · , 𝐺)‘𝑧) · (𝐺‘(𝑧 + 1))))
217126, 216syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘(𝑧 + 1)) = ((seq1( · , 𝐺)‘𝑧) · (𝐺‘(𝑧 + 1))))
218204recnd 11318 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ ℂ)
219167zcnd 12748 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘𝑧) ∈ ℂ)
220218, 219mulcomd 11311 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) = ((seq1( · , 𝐺)‘𝑧) · ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁)))
221215, 217, 2203eqtr4d 2790 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘(𝑧 + 1)) = (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)))
222221oveq1d 7463 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) = ((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
223187zcnd 12748 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℂ)
224219, 223mulcomd 11311 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) = ((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)))
225224oveq1d 7463 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
226208, 222, 2253eqtr4rd 2791 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁))
227202, 226eqeq12d 2756 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) ↔ (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁)))
228191, 227sylibd 239 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) → (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁)))
229102adantr 480 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑁 ∈ ℤ)
230229, 186gcdcomd 16560 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑁 gcd (𝐹‘(𝑧 + 1))) = ((𝐹‘(𝑧 + 1)) gcd 𝑁))
231183simprd 495 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1)
232230, 231eqtrd 2780 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑁 gcd (𝐹‘(𝑧 + 1))) = 1)
233 rpmul 16706 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℤ ∧ (seq1( · , 𝐹)‘𝑧) ∈ ℤ ∧ (𝐹‘(𝑧 + 1)) ∈ ℤ) → (((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 ∧ (𝑁 gcd (𝐹‘(𝑧 + 1))) = 1) → (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
234229, 156, 186, 233syl3anc 1371 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 ∧ (𝑁 gcd (𝐹‘(𝑧 + 1))) = 1) → (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
235232, 234mpan2d 693 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 → (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
236199oveq2d 7464 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))))
237236eqeq1d 2742 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1 ↔ (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
238235, 237sylibrd 259 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 → (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))
239228, 238anim12d 608 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1)))
240239an12s 648 . . . . . . . . . . . 12 ((𝑧 ∈ ℕ ∧ (𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1)))
241240ex 412 . . . . . . . . . . 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 12311 . . . . . . . 8 ((ϕ‘𝑁) ∈ ℕ → ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1)))
2456, 244mpcom 38 . . . . . . 7 ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))
2465, 245mpdan 686 . . . . . 6 (𝜑 → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))
247246simpld 494 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁))
2483nnnn0d 12613 . . . . . . . 8 (𝜑 → (ϕ‘𝑁) ∈ ℕ0)
249 zexpcl 14127 . . . . . . . 8 ((𝐴 ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℕ0) → (𝐴↑(ϕ‘𝑁)) ∈ ℤ)
25059, 248, 249syl2anc 583 . . . . . . 7 (𝜑 → (𝐴↑(ϕ‘𝑁)) ∈ ℤ)
25167eleq2i 2836 . . . . . . . . 9 (𝑥𝑇𝑥 ∈ (1...(ϕ‘𝑁)))
252251, 151sylan2br 594 . . . . . . . 8 ((𝜑𝑥 ∈ (1...(ϕ‘𝑁))) → (𝐹𝑥) ∈ ℤ)
253154adantl 481 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ)) → (𝑥 · 𝑦) ∈ ℤ)
25464, 252, 253seqcl 14073 . . . . . . 7 (𝜑 → (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℤ)
255250, 254zmulcld 12753 . . . . . 6 (𝜑 → ((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) ∈ ℤ)
256 mulcl 11268 . . . . . . . . 9 ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ) → (𝑥 · 𝑦) ∈ ℂ)
257256adantl 481 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ)) → (𝑥 · 𝑦) ∈ ℂ)
258 mulcom 11270 . . . . . . . . 9 ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ) → (𝑥 · 𝑦) = (𝑦 · 𝑥))
259258adantl 481 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ)) → (𝑥 · 𝑦) = (𝑦 · 𝑥))
260 mulass 11272 . . . . . . . . 9 ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ 𝑧 ∈ ℂ) → ((𝑥 · 𝑦) · 𝑧) = (𝑥 · (𝑦 · 𝑧)))
261260adantl 481 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ 𝑧 ∈ ℂ)) → ((𝑥 · 𝑦) · 𝑧) = (𝑥 · (𝑦 · 𝑧)))
262 ssidd 4032 . . . . . . . 8 (𝜑 → ℂ ⊆ ℂ)
263 f1ocnv 6874 . . . . . . . . . . 11 (𝐹:𝑇1-1-onto𝑆𝐹:𝑆1-1-onto𝑇)
26460, 263syl 17 . . . . . . . . . 10 (𝜑𝐹:𝑆1-1-onto𝑇)
2652adantr 480 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝑁 ∈ ℕ)
26659adantr 480 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝐴 ∈ ℤ)
26762ffvelcdmda 7118 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑦𝑇) → (𝐹𝑦) ∈ 𝑆)
268267adantrr 716 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ 𝑆)
269159, 268sselid 4006 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ (0..^𝑁))
270 elfzoelz 13716 . . . . . . . . . . . . . . . . . 18 ((𝐹𝑦) ∈ (0..^𝑁) → (𝐹𝑦) ∈ ℤ)
271269, 270syl 17 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ ℤ)
272266, 271zmulcld 12753 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐴 · (𝐹𝑦)) ∈ ℤ)
27362ffvelcdmda 7118 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑧𝑇) → (𝐹𝑧) ∈ 𝑆)
274273adantrl 715 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ 𝑆)
275159, 274sselid 4006 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ (0..^𝑁))
276 elfzoelz 13716 . . . . . . . . . . . . . . . . . 18 ((𝐹𝑧) ∈ (0..^𝑁) → (𝐹𝑧) ∈ ℤ)
277275, 276syl 17 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ ℤ)
278266, 277zmulcld 12753 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐴 · (𝐹𝑧)) ∈ ℤ)
279 moddvds 16313 . . . . . . . . . . . . . . . 16 ((𝑁 ∈ ℕ ∧ (𝐴 · (𝐹𝑦)) ∈ ℤ ∧ (𝐴 · (𝐹𝑧)) ∈ ℤ) → (((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁) ↔ 𝑁 ∥ ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧)))))
280265, 272, 278, 279syl3anc 1371 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁) ↔ 𝑁 ∥ ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧)))))
281 fveq2 6920 . . . . . . . . . . . . . . . . . . . 20 (𝑥 = 𝑦 → (𝐹𝑥) = (𝐹𝑦))
282281oveq2d 7464 . . . . . . . . . . . . . . . . . . 19 (𝑥 = 𝑦 → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹𝑦)))
283282oveq1d 7463 . . . . . . . . . . . . . . . . . 18 (𝑥 = 𝑦 → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹𝑦)) mod 𝑁))
284 ovex 7481 . . . . . . . . . . . . . . . . . 18 ((𝐴 · (𝐹𝑦)) mod 𝑁) ∈ V
285283, 87, 284fvmpt 7029 . . . . . . . . . . . . . . . . 17 (𝑦𝑇 → (𝐺𝑦) = ((𝐴 · (𝐹𝑦)) mod 𝑁))
286 fveq2 6920 . . . . . . . . . . . . . . . . . . . 20 (𝑥 = 𝑧 → (𝐹𝑥) = (𝐹𝑧))
287286oveq2d 7464 . . . . . . . . . . . . . . . . . . 19 (𝑥 = 𝑧 → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹𝑧)))
288287oveq1d 7463 . . . . . . . . . . . . . . . . . 18 (𝑥 = 𝑧 → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁))
289 ovex 7481 . . . . . . . . . . . . . . . . . 18 ((𝐴 · (𝐹𝑧)) mod 𝑁) ∈ V
290288, 87, 289fvmpt 7029 . . . . . . . . . . . . . . . . 17 (𝑧𝑇 → (𝐺𝑧) = ((𝐴 · (𝐹𝑧)) mod 𝑁))
291285, 290eqeqan12d 2754 . . . . . . . . . . . . . . . 16 ((𝑦𝑇𝑧𝑇) → ((𝐺𝑦) = (𝐺𝑧) ↔ ((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁)))
292291adantl 481 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐺𝑦) = (𝐺𝑧) ↔ ((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁)))
29393adantr 480 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝐴 ∈ ℂ)
294271zcnd 12748 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ ℂ)
295277zcnd 12748 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ ℂ)
296293, 294, 295subdid 11746 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) = ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧))))
297296breq2d 5178 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ↔ 𝑁 ∥ ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧)))))
298280, 292, 2973bitr4d 311 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐺𝑦) = (𝐺𝑧) ↔ 𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧)))))
299102, 59gcdcomd 16560 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝑁 gcd 𝐴) = (𝐴 gcd 𝑁))
3001simp3d 1144 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝐴 gcd 𝑁) = 1)
301299, 300eqtrd 2780 . . . . . . . . . . . . . . . 16 (𝜑 → (𝑁 gcd 𝐴) = 1)
302301adantr 480 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 gcd 𝐴) = 1)
303102adantr 480 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝑁 ∈ ℤ)
304271, 277zsubcld 12752 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) − (𝐹𝑧)) ∈ ℤ)
305 coprmdvds 16700 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ ∧ ((𝐹𝑦) − (𝐹𝑧)) ∈ ℤ) → ((𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
306303, 266, 304, 305syl3anc 1371 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
307271zred 12747 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ ℝ)
30880adantr 480 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝑁 ∈ ℝ+)
309 elfzole1 13724 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑦) ∈ (0..^𝑁) → 0 ≤ (𝐹𝑦))
310269, 309syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 0 ≤ (𝐹𝑦))
311 elfzolt2 13725 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑦) ∈ (0..^𝑁) → (𝐹𝑦) < 𝑁)
312269, 311syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) < 𝑁)
313 modid 13947 . . . . . . . . . . . . . . . . . . 19 ((((𝐹𝑦) ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ (𝐹𝑦) ∧ (𝐹𝑦) < 𝑁)) → ((𝐹𝑦) mod 𝑁) = (𝐹𝑦))
314307, 308, 310, 312, 313syl22anc 838 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) mod 𝑁) = (𝐹𝑦))
315277zred 12747 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ ℝ)
316 elfzole1 13724 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑧) ∈ (0..^𝑁) → 0 ≤ (𝐹𝑧))
317275, 316syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 0 ≤ (𝐹𝑧))
318 elfzolt2 13725 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑧) ∈ (0..^𝑁) → (𝐹𝑧) < 𝑁)
319275, 318syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) < 𝑁)
320 modid 13947 . . . . . . . . . . . . . . . . . . 19 ((((𝐹𝑧) ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ (𝐹𝑧) ∧ (𝐹𝑧) < 𝑁)) → ((𝐹𝑧) mod 𝑁) = (𝐹𝑧))
321315, 308, 317, 319, 320syl22anc 838 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑧) mod 𝑁) = (𝐹𝑧))
322314, 321eqeq12d 2756 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (((𝐹𝑦) mod 𝑁) = ((𝐹𝑧) mod 𝑁) ↔ (𝐹𝑦) = (𝐹𝑧)))
323 moddvds 16313 . . . . . . . . . . . . . . . . . 18 ((𝑁 ∈ ℕ ∧ (𝐹𝑦) ∈ ℤ ∧ (𝐹𝑧) ∈ ℤ) → (((𝐹𝑦) mod 𝑁) = ((𝐹𝑧) mod 𝑁) ↔ 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
324265, 271, 277, 323syl3anc 1371 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (((𝐹𝑦) mod 𝑁) = ((𝐹𝑧) mod 𝑁) ↔ 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
325 f1of1 6861 . . . . . . . . . . . . . . . . . . 19 (𝐹:𝑇1-1-onto𝑆𝐹:𝑇1-1𝑆)
32660, 325syl 17 . . . . . . . . . . . . . . . . . 18 (𝜑𝐹:𝑇1-1𝑆)
327 f1fveq 7299 . . . . . . . . . . . . . . . . . 18 ((𝐹:𝑇1-1𝑆 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) = (𝐹𝑧) ↔ 𝑦 = 𝑧))
328326, 327sylan 579 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) = (𝐹𝑧) ↔ 𝑦 = 𝑧))
329322, 324, 3283bitr3d 309 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧)) ↔ 𝑦 = 𝑧))
330306, 329sylibd 239 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑦 = 𝑧))
331302, 330mpan2d 693 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) → 𝑦 = 𝑧))
332298, 331sylbid 240 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐺𝑦) = (𝐺𝑧) → 𝑦 = 𝑧))
333332ralrimivva 3208 . . . . . . . . . . . 12 (𝜑 → ∀𝑦𝑇𝑧𝑇 ((𝐺𝑦) = (𝐺𝑧) → 𝑦 = 𝑧))
334 dff13 7292 . . . . . . . . . . . 12 (𝐺:𝑇1-1𝑆 ↔ (𝐺:𝑇𝑆 ∧ ∀𝑦𝑇𝑧𝑇 ((𝐺𝑦) = (𝐺𝑧) → 𝑦 = 𝑧)))
335160, 333, 334sylanbrc 582 . . . . . . . . . . 11 (𝜑𝐺:𝑇1-1𝑆)
33667ovexi 7482 . . . . . . . . . . . . . 14 𝑇 ∈ V
337336f1oen 9033 . . . . . . . . . . . . 13 (𝐹:𝑇1-1-onto𝑆𝑇𝑆)
33860, 337syl 17 . . . . . . . . . . . 12 (𝜑𝑇𝑆)
339 fzofi 14025 . . . . . . . . . . . . 13 (0..^𝑁) ∈ Fin
340 ssfi 9240 . . . . . . . . . . . . 13 (((0..^𝑁) ∈ Fin ∧ 𝑆 ⊆ (0..^𝑁)) → 𝑆 ∈ Fin)
341339, 159, 340mp2an 691 . . . . . . . . . . . 12 𝑆 ∈ Fin
342 f1finf1o 9333 . . . . . . . . . . . 12 ((𝑇𝑆𝑆 ∈ Fin) → (𝐺:𝑇1-1𝑆𝐺:𝑇1-1-onto𝑆))
343338, 341, 342sylancl 585 . . . . . . . . . . 11 (𝜑 → (𝐺:𝑇1-1𝑆𝐺:𝑇1-1-onto𝑆))
344335, 343mpbid 232 . . . . . . . . . 10 (𝜑𝐺:𝑇1-1-onto𝑆)
345 f1oco 6885 . . . . . . . . . 10 ((𝐹:𝑆1-1-onto𝑇𝐺:𝑇1-1-onto𝑆) → (𝐹𝐺):𝑇1-1-onto𝑇)
346264, 344, 345syl2anc 583 . . . . . . . . 9 (𝜑 → (𝐹𝐺):𝑇1-1-onto𝑇)
347 f1oeq23 6853 . . . . . . . . . 10 ((𝑇 = (1...(ϕ‘𝑁)) ∧ 𝑇 = (1...(ϕ‘𝑁))) → ((𝐹𝐺):𝑇1-1-onto𝑇 ↔ (𝐹𝐺):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁))))
34867, 67, 347mp2an 691 . . . . . . . . 9 ((𝐹𝐺):𝑇1-1-onto𝑇 ↔ (𝐹𝐺):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁)))
349346, 348sylib 218 . . . . . . . 8 (𝜑 → (𝐹𝐺):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁)))
350252zcnd 12748 . . . . . . . 8 ((𝜑𝑥 ∈ (1...(ϕ‘𝑁))) → (𝐹𝑥) ∈ ℂ)
35167eleq2i 2836 . . . . . . . . 9 (𝑤𝑇𝑤 ∈ (1...(ϕ‘𝑁)))
352 fvco3 7021 . . . . . . . . . . . 12 ((𝐺:𝑇𝑆𝑤𝑇) → ((𝐹𝐺)‘𝑤) = (𝐹‘(𝐺𝑤)))
353160, 352sylan 579 . . . . . . . . . . 11 ((𝜑𝑤𝑇) → ((𝐹𝐺)‘𝑤) = (𝐹‘(𝐺𝑤)))
354353fveq2d 6924 . . . . . . . . . 10 ((𝜑𝑤𝑇) → (𝐹‘((𝐹𝐺)‘𝑤)) = (𝐹‘(𝐹‘(𝐺𝑤))))
35560adantr 480 . . . . . . . . . . 11 ((𝜑𝑤𝑇) → 𝐹:𝑇1-1-onto𝑆)
356160ffvelcdmda 7118 . . . . . . . . . . 11 ((𝜑𝑤𝑇) → (𝐺𝑤) ∈ 𝑆)
357 f1ocnvfv2 7313 . . . . . . . . . . 11 ((𝐹:𝑇1-1-onto𝑆 ∧ (𝐺𝑤) ∈ 𝑆) → (𝐹‘(𝐹‘(𝐺𝑤))) = (𝐺𝑤))
358355, 356, 357syl2anc 583 . . . . . . . . . 10 ((𝜑𝑤𝑇) → (𝐹‘(𝐹‘(𝐺𝑤))) = (𝐺𝑤))
359354, 358eqtr2d 2781 . . . . . . . . 9 ((𝜑𝑤𝑇) → (𝐺𝑤) = (𝐹‘((𝐹𝐺)‘𝑤)))
360351, 359sylan2br 594 . . . . . . . 8 ((𝜑𝑤 ∈ (1...(ϕ‘𝑁))) → (𝐺𝑤) = (𝐹‘((𝐹𝐺)‘𝑤)))
361257, 259, 261, 64, 262, 349, 350, 360seqf1o 14094 . . . . . . 7 (𝜑 → (seq1( · , 𝐺)‘(ϕ‘𝑁)) = (seq1( · , 𝐹)‘(ϕ‘𝑁)))
362361, 254eqeltrd 2844 . . . . . 6 (𝜑 → (seq1( · , 𝐺)‘(ϕ‘𝑁)) ∈ ℤ)
363 moddvds 16313 . . . . . 6 ((𝑁 ∈ ℕ ∧ ((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) ∈ ℤ ∧ (seq1( · , 𝐺)‘(ϕ‘𝑁)) ∈ ℤ) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ↔ 𝑁 ∥ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁)))))
3642, 255, 362, 363syl3anc 1371 . . . . 5 (𝜑 → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ↔ 𝑁 ∥ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁)))))
365247, 364mpbid 232 . . . 4 (𝜑𝑁 ∥ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁))))
366254zcnd 12748 . . . . . . . 8 (𝜑 → (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℂ)
367366mullidd 11308 . . . . . . 7 (𝜑 → (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (seq1( · , 𝐹)‘(ϕ‘𝑁)))
368361, 367eqtr4d 2783 . . . . . 6 (𝜑 → (seq1( · , 𝐺)‘(ϕ‘𝑁)) = (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁))))
369368oveq2d 7464 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
370250zcnd 12748 . . . . . 6 (𝜑 → (𝐴↑(ϕ‘𝑁)) ∈ ℂ)
371 ax-1cn 11242 . . . . . . 7 1 ∈ ℂ
372 subdir 11724 . . . . . . 7 (((𝐴↑(ϕ‘𝑁)) ∈ ℂ ∧ 1 ∈ ℂ ∧ (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℂ) → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
373371, 372mp3an2 1449 . . . . . 6 (((𝐴↑(ϕ‘𝑁)) ∈ ℂ ∧ (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℂ) → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
374370, 366, 373syl2anc 583 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
375 zsubcl 12685 . . . . . . . 8 (((𝐴↑(ϕ‘𝑁)) ∈ ℤ ∧ 1 ∈ ℤ) → ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℤ)
376250, 83, 375sylancl 585 . . . . . . 7 (𝜑 → ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℤ)
377376zcnd 12748 . . . . . 6 (𝜑 → ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℂ)
378377, 366mulcomd 11311 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)))
379369, 374, 3783eqtr2d 2786 . . . 4 (𝜑 → (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁))) = ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)))
380365, 379breqtrd 5192 . . 3 (𝜑𝑁 ∥ ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)))
381246simprd 495 . . 3 (𝜑 → (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1)
382 coprmdvds 16700 . . . 4 ((𝑁 ∈ ℤ ∧ (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℤ ∧ ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℤ) → ((𝑁 ∥ ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1) → 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
383102, 254, 376, 382syl3anc 1371 . . 3 (𝜑 → ((𝑁 ∥ ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1) → 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
384380, 381, 383mp2and 698 . 2 (𝜑𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1))
385 moddvds 16313 . . . 4 ((𝑁 ∈ ℕ ∧ (𝐴↑(ϕ‘𝑁)) ∈ ℤ ∧ 1 ∈ ℤ) → (((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁) ↔ 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
38683, 385mp3an3 1450 . . 3 ((𝑁 ∈ ℕ ∧ (𝐴↑(ϕ‘𝑁)) ∈ ℤ) → (((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁) ↔ 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
3872, 250, 386syl2anc 583 . 2 (𝜑 → (((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁) ↔ 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
388384, 387mpbird 257 1 (𝜑 → ((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1087   = wceq 1537  wcel 2108  wral 3067  {crab 3443  wss 3976   class class class wbr 5166  cmpt 5249  ccnv 5699  ccom 5704  wf 6569  1-1wf1 6570  1-1-ontowf1o 6572  cfv 6573  (class class class)co 7448  cen 9000  Fincfn 9003  cc 11182  cr 11183  0cc0 11184  1c1 11185   + caddc 11187   · cmul 11189   < clt 11324  cle 11325  cmin 11520  cn 12293  0cn0 12553  cz 12639  cuz 12903  +crp 13057  ...cfz 13567  ..^cfzo 13711   mod cmo 13920  seqcseq 14052  cexp 14112  cdvds 16302   gcd cgcd 16540  ϕcphi 16811
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1793  ax-4 1807  ax-5 1909  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2158  ax-12 2178  ax-ext 2711  ax-rep 5303  ax-sep 5317  ax-nul 5324  ax-pow 5383  ax-pr 5447  ax-un 7770  ax-cnex 11240  ax-resscn 11241  ax-1cn 11242  ax-icn 11243  ax-addcl 11244  ax-addrcl 11245  ax-mulcl 11246  ax-mulrcl 11247  ax-mulcom 11248  ax-addass 11249  ax-mulass 11250  ax-distr 11251  ax-i2m1 11252  ax-1ne0 11253  ax-1rid 11254  ax-rnegex 11255  ax-rrecex 11256  ax-cnre 11257  ax-pre-lttri 11258  ax-pre-lttrn 11259  ax-pre-ltadd 11260  ax-pre-mulgt0 11261  ax-pre-sup 11262
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 847  df-3or 1088  df-3an 1089  df-tru 1540  df-fal 1550  df-ex 1778  df-nf 1782  df-sb 2065  df-mo 2543  df-eu 2572  df-clab 2718  df-cleq 2732  df-clel 2819  df-nfc 2895  df-ne 2947  df-nel 3053  df-ral 3068  df-rex 3077  df-rmo 3388  df-reu 3389  df-rab 3444  df-v 3490  df-sbc 3805  df-csb 3922  df-dif 3979  df-un 3981  df-in 3983  df-ss 3993  df-pss 3996  df-nul 4353  df-if 4549  df-pw 4624  df-sn 4649  df-pr 4651  df-op 4655  df-uni 4932  df-int 4971  df-iun 5017  df-br 5167  df-opab 5229  df-mpt 5250  df-tr 5284  df-id 5593  df-eprel 5599  df-po 5607  df-so 5608  df-fr 5652  df-we 5654  df-xp 5706  df-rel 5707  df-cnv 5708  df-co 5709  df-dm 5710  df-rn 5711  df-res 5712  df-ima 5713  df-pred 6332  df-ord 6398  df-on 6399  df-lim 6400  df-suc 6401  df-iota 6525  df-fun 6575  df-fn 6576  df-f 6577  df-f1 6578  df-fo 6579  df-f1o 6580  df-fv 6581  df-riota 7404  df-ov 7451  df-oprab 7452  df-mpo 7453  df-om 7904  df-1st 8030  df-2nd 8031  df-frecs 8322  df-wrecs 8353  df-recs 8427  df-rdg 8466  df-1o 8522  df-oadd 8526  df-er 8763  df-en 9004  df-dom 9005  df-sdom 9006  df-fin 9007  df-sup 9511  df-inf 9512  df-card 10008  df-pnf 11326  df-mnf 11327  df-xr 11328  df-ltxr 11329  df-le 11330  df-sub 11522  df-neg 11523  df-div 11948  df-nn 12294  df-2 12356  df-3 12357  df-n0 12554  df-xnn0 12626  df-z 12640  df-uz 12904  df-rp 13058  df-fz 13568  df-fzo 13712  df-fl 13843  df-mod 13921  df-seq 14053  df-exp 14113  df-hash 14380  df-cj 15148  df-re 15149  df-im 15150  df-sqrt 15284  df-abs 15285  df-dvds 16303  df-gcd 16541  df-phi 16813
This theorem is referenced by:  eulerth  16830
  Copyright terms: Public domain W3C validator