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

Theorem eulerthlem2 16789
Description: Lemma for eulerth 16790. (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 1151 . . . . . . . . . 10 (𝜑𝑁 ∈ ℕ)
32phicld 16779 . . . . . . . . 9 (𝜑 → (ϕ‘𝑁) ∈ ℕ)
43nnred 12211 . . . . . . . 8 (𝜑 → (ϕ‘𝑁) ∈ ℝ)
54leidd 11739 . . . . . . 7 (𝜑 → (ϕ‘𝑁) ≤ (ϕ‘𝑁))
63adantr 483 . . . . . . . 8 ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → (ϕ‘𝑁) ∈ ℕ)
7 breq1 5093 . . . . . . . . . . 11 (𝑥 = 1 → (𝑥 ≤ (ϕ‘𝑁) ↔ 1 ≤ (ϕ‘𝑁)))
87anbi2d 638 . . . . . . . . . 10 (𝑥 = 1 → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑 ∧ 1 ≤ (ϕ‘𝑁))))
9 oveq2 7389 . . . . . . . . . . . . . 14 (𝑥 = 1 → (𝐴𝑥) = (𝐴↑1))
10 fveq2 6852 . . . . . . . . . . . . . 14 (𝑥 = 1 → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘1))
119, 10oveq12d 7399 . . . . . . . . . . . . 13 (𝑥 = 1 → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴↑1) · (seq1( · , 𝐹)‘1)))
1211oveq1d 7396 . . . . . . . . . . . 12 (𝑥 = 1 → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁))
13 fveq2 6852 . . . . . . . . . . . . 13 (𝑥 = 1 → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘1))
1413oveq1d 7396 . . . . . . . . . . . 12 (𝑥 = 1 → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁))
1512, 14eqeq12d 2768 . . . . . . . . . . 11 (𝑥 = 1 → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁)))
1610oveq2d 7397 . . . . . . . . . . . 12 (𝑥 = 1 → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘1)))
1716eqeq1d 2754 . . . . . . . . . . 11 (𝑥 = 1 → ((𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1 ↔ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))
1815, 17anbi12d 640 . . . . . . . . . 10 (𝑥 = 1 → (((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1) ↔ ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1)))
198, 18imbi12d 346 . . . . . . . . 9 (𝑥 = 1 → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑 ∧ 1 ≤ (ϕ‘𝑁)) → ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))))
20 breq1 5093 . . . . . . . . . . 11 (𝑥 = 𝑧 → (𝑥 ≤ (ϕ‘𝑁) ↔ 𝑧 ≤ (ϕ‘𝑁)))
2120anbi2d 638 . . . . . . . . . 10 (𝑥 = 𝑧 → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑𝑧 ≤ (ϕ‘𝑁))))
22 oveq2 7389 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → (𝐴𝑥) = (𝐴𝑧))
23 fveq2 6852 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘𝑧))
2422, 23oveq12d 7399 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)))
2524oveq1d 7396 . . . . . . . . . . . 12 (𝑥 = 𝑧 → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁))
26 fveq2 6852 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘𝑧))
2726oveq1d 7396 . . . . . . . . . . . 12 (𝑥 = 𝑧 → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁))
2825, 27eqeq12d 2768 . . . . . . . . . . 11 (𝑥 = 𝑧 → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁)))
2923oveq2d 7397 . . . . . . . . . . . 12 (𝑥 = 𝑧 → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘𝑧)))
3029eqeq1d 2754 . . . . . . . . . . 11 (𝑥 = 𝑧 → ((𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1 ↔ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1))
3128, 30anbi12d 640 . . . . . . . . . 10 (𝑥 = 𝑧 → (((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1) ↔ ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1)))
3221, 31imbi12d 346 . . . . . . . . 9 (𝑥 = 𝑧 → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑𝑧 ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1))))
33 breq1 5093 . . . . . . . . . . 11 (𝑥 = (𝑧 + 1) → (𝑥 ≤ (ϕ‘𝑁) ↔ (𝑧 + 1) ≤ (ϕ‘𝑁)))
3433anbi2d 638 . . . . . . . . . 10 (𝑥 = (𝑧 + 1) → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
35 oveq2 7389 . . . . . . . . . . . . . 14 (𝑥 = (𝑧 + 1) → (𝐴𝑥) = (𝐴↑(𝑧 + 1)))
36 fveq2 6852 . . . . . . . . . . . . . 14 (𝑥 = (𝑧 + 1) → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘(𝑧 + 1)))
3735, 36oveq12d 7399 . . . . . . . . . . . . 13 (𝑥 = (𝑧 + 1) → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))))
3837oveq1d 7396 . . . . . . . . . . . 12 (𝑥 = (𝑧 + 1) → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁))
39 fveq2 6852 . . . . . . . . . . . . 13 (𝑥 = (𝑧 + 1) → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘(𝑧 + 1)))
4039oveq1d 7396 . . . . . . . . . . . 12 (𝑥 = (𝑧 + 1) → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁))
4138, 40eqeq12d 2768 . . . . . . . . . . 11 (𝑥 = (𝑧 + 1) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁)))
4236oveq2d 7397 . . . . . . . . . . . 12 (𝑥 = (𝑧 + 1) → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))))
4342eqeq1d 2754 . . . . . . . . . . 11 (𝑥 = (𝑧 + 1) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1 ↔ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))
4441, 43anbi12d 640 . . . . . . . . . 10 (𝑥 = (𝑧 + 1) → (((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1) ↔ ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1)))
4534, 44imbi12d 346 . . . . . . . . 9 (𝑥 = (𝑧 + 1) → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))))
46 breq1 5093 . . . . . . . . . . 11 (𝑥 = (ϕ‘𝑁) → (𝑥 ≤ (ϕ‘𝑁) ↔ (ϕ‘𝑁) ≤ (ϕ‘𝑁)))
4746anbi2d 638 . . . . . . . . . 10 (𝑥 = (ϕ‘𝑁) → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁))))
48 oveq2 7389 . . . . . . . . . . . . . 14 (𝑥 = (ϕ‘𝑁) → (𝐴𝑥) = (𝐴↑(ϕ‘𝑁)))
49 fveq2 6852 . . . . . . . . . . . . . 14 (𝑥 = (ϕ‘𝑁) → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘(ϕ‘𝑁)))
5048, 49oveq12d 7399 . . . . . . . . . . . . 13 (𝑥 = (ϕ‘𝑁) → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))))
5150oveq1d 7396 . . . . . . . . . . . 12 (𝑥 = (ϕ‘𝑁) → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁))
52 fveq2 6852 . . . . . . . . . . . . 13 (𝑥 = (ϕ‘𝑁) → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘(ϕ‘𝑁)))
5352oveq1d 7396 . . . . . . . . . . . 12 (𝑥 = (ϕ‘𝑁) → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁))
5451, 53eqeq12d 2768 . . . . . . . . . . 11 (𝑥 = (ϕ‘𝑁) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁)))
5549oveq2d 7397 . . . . . . . . . . . 12 (𝑥 = (ϕ‘𝑁) → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))))
5655eqeq1d 2754 . . . . . . . . . . 11 (𝑥 = (ϕ‘𝑁) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1 ↔ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))
5754, 56anbi12d 640 . . . . . . . . . 10 (𝑥 = (ϕ‘𝑁) → (((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1) ↔ ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1)))
5847, 57imbi12d 346 . . . . . . . . 9 (𝑥 = (ϕ‘𝑁) → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))))
591simp2d 1152 . . . . . . . . . . . . . . 15 (𝜑𝐴 ∈ ℤ)
60 eulerth.4 . . . . . . . . . . . . . . . . . . . 20 (𝜑𝐹:𝑇1-1-onto𝑆)
61 f1of 6791 . . . . . . . . . . . . . . . . . . . 20 (𝐹:𝑇1-1-onto𝑆𝐹:𝑇𝑆)
6260, 61syl 17 . . . . . . . . . . . . . . . . . . 19 (𝜑𝐹:𝑇𝑆)
63 nnuz 12864 . . . . . . . . . . . . . . . . . . . . . 22 ℕ = (ℤ‘1)
643, 63eleqtrdi 2862 . . . . . . . . . . . . . . . . . . . . 21 (𝜑 → (ϕ‘𝑁) ∈ (ℤ‘1))
65 eluzfz1 13522 . . . . . . . . . . . . . . . . . . . . 21 ((ϕ‘𝑁) ∈ (ℤ‘1) → 1 ∈ (1...(ϕ‘𝑁)))
6664, 65syl 17 . . . . . . . . . . . . . . . . . . . 20 (𝜑 → 1 ∈ (1...(ϕ‘𝑁)))
67 eulerth.3 . . . . . . . . . . . . . . . . . . . 20 𝑇 = (1...(ϕ‘𝑁))
6866, 67eleqtrrdi 2863 . . . . . . . . . . . . . . . . . . 19 (𝜑 → 1 ∈ 𝑇)
6962, 68ffvelcdmd 7051 . . . . . . . . . . . . . . . . . 18 (𝜑 → (𝐹‘1) ∈ 𝑆)
70 oveq1 7388 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = (𝐹‘1) → (𝑦 gcd 𝑁) = ((𝐹‘1) gcd 𝑁))
7170eqeq1d 2754 . . . . . . . . . . . . . . . . . . 19 (𝑦 = (𝐹‘1) → ((𝑦 gcd 𝑁) = 1 ↔ ((𝐹‘1) gcd 𝑁) = 1))
72 eulerth.2 . . . . . . . . . . . . . . . . . . 19 𝑆 = {𝑦 ∈ (0..^𝑁) ∣ (𝑦 gcd 𝑁) = 1}
7371, 72elrab2 3644 . . . . . . . . . . . . . . . . . 18 ((𝐹‘1) ∈ 𝑆 ↔ ((𝐹‘1) ∈ (0..^𝑁) ∧ ((𝐹‘1) gcd 𝑁) = 1))
7469, 73sylib 220 . . . . . . . . . . . . . . . . 17 (𝜑 → ((𝐹‘1) ∈ (0..^𝑁) ∧ ((𝐹‘1) gcd 𝑁) = 1))
7574simpld 497 . . . . . . . . . . . . . . . 16 (𝜑 → (𝐹‘1) ∈ (0..^𝑁))
76 elfzoelz 13650 . . . . . . . . . . . . . . . 16 ((𝐹‘1) ∈ (0..^𝑁) → (𝐹‘1) ∈ ℤ)
7775, 76syl 17 . . . . . . . . . . . . . . 15 (𝜑 → (𝐹‘1) ∈ ℤ)
7859, 77zmulcld 12669 . . . . . . . . . . . . . 14 (𝜑 → (𝐴 · (𝐹‘1)) ∈ ℤ)
7978zred 12663 . . . . . . . . . . . . 13 (𝜑 → (𝐴 · (𝐹‘1)) ∈ ℝ)
802nnrpd 13021 . . . . . . . . . . . . 13 (𝜑𝑁 ∈ ℝ+)
81 modabs2 13901 . . . . . . . . . . . . 13 (((𝐴 · (𝐹‘1)) ∈ ℝ ∧ 𝑁 ∈ ℝ+) → (((𝐴 · (𝐹‘1)) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
8279, 80, 81syl2anc 592 . . . . . . . . . . . 12 (𝜑 → (((𝐴 · (𝐹‘1)) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
83 1z 12587 . . . . . . . . . . . . . 14 1 ∈ ℤ
84 fveq2 6852 . . . . . . . . . . . . . . . . . 18 (𝑥 = 1 → (𝐹𝑥) = (𝐹‘1))
8584oveq2d 7397 . . . . . . . . . . . . . . . . 17 (𝑥 = 1 → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹‘1)))
8685oveq1d 7396 . . . . . . . . . . . . . . . 16 (𝑥 = 1 → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
87 eulerth.5 . . . . . . . . . . . . . . . 16 𝐺 = (𝑥𝑇 ↦ ((𝐴 · (𝐹𝑥)) mod 𝑁))
88 ovex 7414 . . . . . . . . . . . . . . . 16 ((𝐴 · (𝐹‘1)) mod 𝑁) ∈ V
8986, 87, 88fvmpt 6960 . . . . . . . . . . . . . . 15 (1 ∈ 𝑇 → (𝐺‘1) = ((𝐴 · (𝐹‘1)) mod 𝑁))
9068, 89syl 17 . . . . . . . . . . . . . 14 (𝜑 → (𝐺‘1) = ((𝐴 · (𝐹‘1)) mod 𝑁))
9183, 90seq1i 14014 . . . . . . . . . . . . 13 (𝜑 → (seq1( · , 𝐺)‘1) = ((𝐴 · (𝐹‘1)) mod 𝑁))
9291oveq1d 7396 . . . . . . . . . . . 12 (𝜑 → ((seq1( · , 𝐺)‘1) mod 𝑁) = (((𝐴 · (𝐹‘1)) mod 𝑁) mod 𝑁))
9359zcnd 12664 . . . . . . . . . . . . . . 15 (𝜑𝐴 ∈ ℂ)
9493exp1d 14140 . . . . . . . . . . . . . 14 (𝜑 → (𝐴↑1) = 𝐴)
95 seq1 14013 . . . . . . . . . . . . . . . 16 (1 ∈ ℤ → (seq1( · , 𝐹)‘1) = (𝐹‘1))
9683, 95ax-mp 5 . . . . . . . . . . . . . . 15 (seq1( · , 𝐹)‘1) = (𝐹‘1)
9796a1i 11 . . . . . . . . . . . . . 14 (𝜑 → (seq1( · , 𝐹)‘1) = (𝐹‘1))
9894, 97oveq12d 7399 . . . . . . . . . . . . 13 (𝜑 → ((𝐴↑1) · (seq1( · , 𝐹)‘1)) = (𝐴 · (𝐹‘1)))
9998oveq1d 7396 . . . . . . . . . . . 12 (𝜑 → (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
10082, 92, 993eqtr4rd 2798 . . . . . . . . . . 11 (𝜑 → (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁))
10196oveq2i 7392 . . . . . . . . . . . 12 (𝑁 gcd (seq1( · , 𝐹)‘1)) = (𝑁 gcd (𝐹‘1))
1022nnzd 12580 . . . . . . . . . . . . . 14 (𝜑𝑁 ∈ ℤ)
103102, 77gcdcomd 16520 . . . . . . . . . . . . 13 (𝜑 → (𝑁 gcd (𝐹‘1)) = ((𝐹‘1) gcd 𝑁))
10474simprd 498 . . . . . . . . . . . . 13 (𝜑 → ((𝐹‘1) gcd 𝑁) = 1)
105103, 104eqtrd 2787 . . . . . . . . . . . 12 (𝜑 → (𝑁 gcd (𝐹‘1)) = 1)
106101, 105eqtrid 2799 . . . . . . . . . . 11 (𝜑 → (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1)
107100, 106jca 518 . . . . . . . . . 10 (𝜑 → ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))
108107adantr 483 . . . . . . . . 9 ((𝜑 ∧ 1 ≤ (ϕ‘𝑁)) → ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))
109 nnre 12203 . . . . . . . . . . . . . . 15 (𝑧 ∈ ℕ → 𝑧 ∈ ℝ)
110109adantr 483 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℕ ∧ 𝜑) → 𝑧 ∈ ℝ)
111110lep1d 12109 . . . . . . . . . . . . 13 ((𝑧 ∈ ℕ ∧ 𝜑) → 𝑧 ≤ (𝑧 + 1))
112 peano2re 11342 . . . . . . . . . . . . . . 15 (𝑧 ∈ ℝ → (𝑧 + 1) ∈ ℝ)
113110, 112syl 17 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℕ ∧ 𝜑) → (𝑧 + 1) ∈ ℝ)
1144adantl 484 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℕ ∧ 𝜑) → (ϕ‘𝑁) ∈ ℝ)
115 letr 11263 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℝ ∧ (𝑧 + 1) ∈ ℝ ∧ (ϕ‘𝑁) ∈ ℝ) → ((𝑧 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → 𝑧 ≤ (ϕ‘𝑁)))
116110, 113, 114, 115syl3anc 1382 . . . . . . . . . . . . 13 ((𝑧 ∈ ℕ ∧ 𝜑) → ((𝑧 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → 𝑧 ≤ (ϕ‘𝑁)))
117111, 116mpand 703 . . . . . . . . . . . 12 ((𝑧 ∈ ℕ ∧ 𝜑) → ((𝑧 + 1) ≤ (ϕ‘𝑁) → 𝑧 ≤ (ϕ‘𝑁)))
118117imdistanda 578 . . . . . . . . . . 11 (𝑧 ∈ ℕ → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → (𝜑𝑧 ≤ (ϕ‘𝑁))))
119118imim1d 82 . . . . . . . . . 10 (𝑧 ∈ ℕ → (((𝜑𝑧 ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1)) → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1))))
12059adantr 483 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝐴 ∈ ℤ)
121 nnnn0 12474 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ ℕ → 𝑧 ∈ ℕ0)
122121ad2antrl 736 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℕ0)
123 zexpcl 14075 . . . . . . . . . . . . . . . . . . 19 ((𝐴 ∈ ℤ ∧ 𝑧 ∈ ℕ0) → (𝐴𝑧) ∈ ℤ)
124120, 122, 123syl2anc 592 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴𝑧) ∈ ℤ)
125 simprl 778 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℕ)
126125, 63eleqtrdi 2862 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ (ℤ‘1))
127109ad2antrl 736 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℝ)
128127, 112syl 17 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ ℝ)
1294adantr 483 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (ϕ‘𝑁) ∈ ℝ)
130127lep1d 12109 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ≤ (𝑧 + 1))
131 simprr 780 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ≤ (ϕ‘𝑁))
132127, 128, 129, 130, 131letrd 11326 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ≤ (ϕ‘𝑁))
133 nnz 12575 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑧 ∈ ℕ → 𝑧 ∈ ℤ)
134133ad2antrl 736 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℤ)
1353nnzd 12580 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝜑 → (ϕ‘𝑁) ∈ ℤ)
136135adantr 483 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (ϕ‘𝑁) ∈ ℤ)
137 eluz 12839 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝑧 ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℤ) → ((ϕ‘𝑁) ∈ (ℤ𝑧) ↔ 𝑧 ≤ (ϕ‘𝑁)))
138134, 136, 137syl2anc 592 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((ϕ‘𝑁) ∈ (ℤ𝑧) ↔ 𝑧 ≤ (ϕ‘𝑁)))
139132, 138mpbird 259 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (ϕ‘𝑁) ∈ (ℤ𝑧))
140 fzss2 13555 . . . . . . . . . . . . . . . . . . . . . . 23 ((ϕ‘𝑁) ∈ (ℤ𝑧) → (1...𝑧) ⊆ (1...(ϕ‘𝑁)))
141139, 140syl 17 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (1...𝑧) ⊆ (1...(ϕ‘𝑁)))
142141, 67sseqtrrdi 3968 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (1...𝑧) ⊆ 𝑇)
143142sselda 3927 . . . . . . . . . . . . . . . . . . . 20 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥 ∈ (1...𝑧)) → 𝑥𝑇)
14462ffvelcdmda 7050 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑𝑥𝑇) → (𝐹𝑥) ∈ 𝑆)
145 oveq1 7388 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑦 = (𝐹𝑥) → (𝑦 gcd 𝑁) = ((𝐹𝑥) gcd 𝑁))
146145eqeq1d 2754 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑦 = (𝐹𝑥) → ((𝑦 gcd 𝑁) = 1 ↔ ((𝐹𝑥) gcd 𝑁) = 1))
147146, 72elrab2 3644 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝐹𝑥) ∈ 𝑆 ↔ ((𝐹𝑥) ∈ (0..^𝑁) ∧ ((𝐹𝑥) gcd 𝑁) = 1))
148144, 147sylib 220 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑𝑥𝑇) → ((𝐹𝑥) ∈ (0..^𝑁) ∧ ((𝐹𝑥) gcd 𝑁) = 1))
149148simpld 497 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑥𝑇) → (𝐹𝑥) ∈ (0..^𝑁))
150 elfzoelz 13650 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐹𝑥) ∈ (0..^𝑁) → (𝐹𝑥) ∈ ℤ)
151149, 150syl 17 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑥𝑇) → (𝐹𝑥) ∈ ℤ)
152151adantlr 723 . . . . . . . . . . . . . . . . . . . 20 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥𝑇) → (𝐹𝑥) ∈ ℤ)
153143, 152syldan 599 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥 ∈ (1...𝑧)) → (𝐹𝑥) ∈ ℤ)
154 zmulcl 12606 . . . . . . . . . . . . . . . . . . . 20 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ) → (𝑥 · 𝑦) ∈ ℤ)
155154adantl 484 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ)) → (𝑥 · 𝑦) ∈ ℤ)
156126, 153, 155seqcl 14021 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐹)‘𝑧) ∈ ℤ)
157124, 156zmulcld 12669 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℤ)
158157zred 12663 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℝ)
15972ssrab3 4026 . . . . . . . . . . . . . . . . . . . . . 22 𝑆 ⊆ (0..^𝑁)
1601, 72, 67, 60, 87eulerthlem1 16788 . . . . . . . . . . . . . . . . . . . . . . 23 (𝜑𝐺:𝑇𝑆)
161160ffvelcdmda 7050 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑥𝑇) → (𝐺𝑥) ∈ 𝑆)
162159, 161sselid 3925 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑥𝑇) → (𝐺𝑥) ∈ (0..^𝑁))
163 elfzoelz 13650 . . . . . . . . . . . . . . . . . . . . 21 ((𝐺𝑥) ∈ (0..^𝑁) → (𝐺𝑥) ∈ ℤ)
164162, 163syl 17 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑥𝑇) → (𝐺𝑥) ∈ ℤ)
165164adantlr 723 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥𝑇) → (𝐺𝑥) ∈ ℤ)
166143, 165syldan 599 . . . . . . . . . . . . . . . . . 18 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥 ∈ (1...𝑧)) → (𝐺𝑥) ∈ ℤ)
167126, 166, 155seqcl 14021 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘𝑧) ∈ ℤ)
168167zred 12663 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘𝑧) ∈ ℝ)
16962adantr 483 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝐹:𝑇𝑆)
170 peano2nn 12208 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑧 ∈ ℕ → (𝑧 + 1) ∈ ℕ)
171170ad2antrl 736 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ ℕ)
172171nnge1d 12247 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 1 ≤ (𝑧 + 1))
173171nnzd 12580 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ ℤ)
174 elfz 13504 . . . . . . . . . . . . . . . . . . . . . . . . 25 (((𝑧 + 1) ∈ ℤ ∧ 1 ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℤ) → ((𝑧 + 1) ∈ (1...(ϕ‘𝑁)) ↔ (1 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
17583, 174mp3an2 1460 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝑧 + 1) ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℤ) → ((𝑧 + 1) ∈ (1...(ϕ‘𝑁)) ↔ (1 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
176173, 136, 175syl2anc 592 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑧 + 1) ∈ (1...(ϕ‘𝑁)) ↔ (1 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
177172, 131, 176mpbir2and 721 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ (1...(ϕ‘𝑁)))
178177, 67eleqtrrdi 2863 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ 𝑇)
179169, 178ffvelcdmd 7051 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ 𝑆)
180 oveq1 7388 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 = (𝐹‘(𝑧 + 1)) → (𝑦 gcd 𝑁) = ((𝐹‘(𝑧 + 1)) gcd 𝑁))
181180eqeq1d 2754 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = (𝐹‘(𝑧 + 1)) → ((𝑦 gcd 𝑁) = 1 ↔ ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1))
182181, 72elrab2 3644 . . . . . . . . . . . . . . . . . . . 20 ((𝐹‘(𝑧 + 1)) ∈ 𝑆 ↔ ((𝐹‘(𝑧 + 1)) ∈ (0..^𝑁) ∧ ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1))
183179, 182sylib 220 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐹‘(𝑧 + 1)) ∈ (0..^𝑁) ∧ ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1))
184183simpld 497 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ (0..^𝑁))
185 elfzoelz 13650 . . . . . . . . . . . . . . . . . 18 ((𝐹‘(𝑧 + 1)) ∈ (0..^𝑁) → (𝐹‘(𝑧 + 1)) ∈ ℤ)
186184, 185syl 17 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ ℤ)
187120, 186zmulcld 12669 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℤ)
18880adantr 483 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑁 ∈ ℝ+)
189 modmul1 13923 . . . . . . . . . . . . . . . . 17 (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℝ ∧ (seq1( · , 𝐺)‘𝑧) ∈ ℝ) ∧ ((𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℤ ∧ 𝑁 ∈ ℝ+) ∧ (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁))
1901893expia 1130 . . . . . . . . . . . . . . . 16 (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℝ ∧ (seq1( · , 𝐺)‘𝑧) ∈ ℝ) ∧ ((𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℤ ∧ 𝑁 ∈ ℝ+)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁)))
191158, 168, 187, 188, 190syl22anc 847 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁)))
192124zcnd 12664 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴𝑧) ∈ ℂ)
193156zcnd 12664 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐹)‘𝑧) ∈ ℂ)
19493adantr 483 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝐴 ∈ ℂ)
195186zcnd 12664 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ ℂ)
196192, 193, 194, 195mul4d 11381 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) = (((𝐴𝑧) · 𝐴) · ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))))
197194, 122expp1d 14146 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴↑(𝑧 + 1)) = ((𝐴𝑧) · 𝐴))
198 seqp1 14015 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ (ℤ‘1) → (seq1( · , 𝐹)‘(𝑧 + 1)) = ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1))))
199126, 198syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐹)‘(𝑧 + 1)) = ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1))))
200197, 199oveq12d 7399 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) = (((𝐴𝑧) · 𝐴) · ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))))
201196, 200eqtr4d 2790 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) = ((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))))
202201oveq1d 7396 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁))
203187zred 12663 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℝ)
204203, 188modcld 13871 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ ℝ)
205 modabs2 13901 . . . . . . . . . . . . . . . . . . 19 (((𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℝ ∧ 𝑁 ∈ ℝ+) → (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
206203, 188, 205syl2anc 592 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
207 modmul1 13923 . . . . . . . . . . . . . . . . . 18 (((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ ℝ ∧ (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℝ) ∧ ((seq1( · , 𝐺)‘𝑧) ∈ ℤ ∧ 𝑁 ∈ ℝ+) ∧ (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁)) → ((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁) = (((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
208204, 203, 167, 188, 206, 207syl221anc 1392 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁) = (((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
209 fveq2 6852 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑥 = (𝑧 + 1) → (𝐹𝑥) = (𝐹‘(𝑧 + 1)))
210209oveq2d 7397 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑥 = (𝑧 + 1) → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹‘(𝑧 + 1))))
211210oveq1d 7396 . . . . . . . . . . . . . . . . . . . . . 22 (𝑥 = (𝑧 + 1) → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
212 ovex 7414 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ V
213211, 87, 212fvmpt 6960 . . . . . . . . . . . . . . . . . . . . 21 ((𝑧 + 1) ∈ 𝑇 → (𝐺‘(𝑧 + 1)) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
214178, 213syl 17 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐺‘(𝑧 + 1)) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
215214oveq2d 7397 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((seq1( · , 𝐺)‘𝑧) · (𝐺‘(𝑧 + 1))) = ((seq1( · , 𝐺)‘𝑧) · ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁)))
216 seqp1 14015 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ (ℤ‘1) → (seq1( · , 𝐺)‘(𝑧 + 1)) = ((seq1( · , 𝐺)‘𝑧) · (𝐺‘(𝑧 + 1))))
217126, 216syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘(𝑧 + 1)) = ((seq1( · , 𝐺)‘𝑧) · (𝐺‘(𝑧 + 1))))
218204recnd 11196 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ ℂ)
219167zcnd 12664 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘𝑧) ∈ ℂ)
220218, 219mulcomd 11189 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) = ((seq1( · , 𝐺)‘𝑧) · ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁)))
221215, 217, 2203eqtr4d 2797 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘(𝑧 + 1)) = (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)))
222221oveq1d 7396 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) = ((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
223187zcnd 12664 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℂ)
224219, 223mulcomd 11189 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) = ((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)))
225224oveq1d 7396 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
226208, 222, 2253eqtr4rd 2798 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁))
227202, 226eqeq12d 2768 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) ↔ (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁)))
228191, 227sylibd 241 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) → (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁)))
229102adantr 483 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑁 ∈ ℤ)
230229, 186gcdcomd 16520 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑁 gcd (𝐹‘(𝑧 + 1))) = ((𝐹‘(𝑧 + 1)) gcd 𝑁))
231183simprd 498 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1)
232230, 231eqtrd 2787 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑁 gcd (𝐹‘(𝑧 + 1))) = 1)
233 rpmul 16665 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℤ ∧ (seq1( · , 𝐹)‘𝑧) ∈ ℤ ∧ (𝐹‘(𝑧 + 1)) ∈ ℤ) → (((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 ∧ (𝑁 gcd (𝐹‘(𝑧 + 1))) = 1) → (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
234229, 156, 186, 233syl3anc 1382 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 ∧ (𝑁 gcd (𝐹‘(𝑧 + 1))) = 1) → (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
235232, 234mpan2d 702 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 → (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
236199oveq2d 7397 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))))
237236eqeq1d 2754 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1 ↔ (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
238235, 237sylibrd 261 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 → (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))
239228, 238anim12d 617 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1)))
240239an12s 657 . . . . . . . . . . . 12 ((𝑧 ∈ ℕ ∧ (𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1)))
241240ex 415 . . . . . . . . . . 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 12214 . . . . . . . 8 ((ϕ‘𝑁) ∈ ℕ → ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1)))
2456, 244mpcom 38 . . . . . . 7 ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))
2465, 245mpdan 695 . . . . . 6 (𝜑 → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))
247246simpld 497 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁))
2483nnnn0d 12528 . . . . . . . 8 (𝜑 → (ϕ‘𝑁) ∈ ℕ0)
249 zexpcl 14075 . . . . . . . 8 ((𝐴 ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℕ0) → (𝐴↑(ϕ‘𝑁)) ∈ ℤ)
25059, 248, 249syl2anc 592 . . . . . . 7 (𝜑 → (𝐴↑(ϕ‘𝑁)) ∈ ℤ)
25167eleq2i 2844 . . . . . . . . 9 (𝑥𝑇𝑥 ∈ (1...(ϕ‘𝑁)))
252251, 151sylan2br 603 . . . . . . . 8 ((𝜑𝑥 ∈ (1...(ϕ‘𝑁))) → (𝐹𝑥) ∈ ℤ)
253154adantl 484 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ)) → (𝑥 · 𝑦) ∈ ℤ)
25464, 252, 253seqcl 14021 . . . . . . 7 (𝜑 → (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℤ)
255250, 254zmulcld 12669 . . . . . 6 (𝜑 → ((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) ∈ ℤ)
256 mulcl 11143 . . . . . . . . 9 ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ) → (𝑥 · 𝑦) ∈ ℂ)
257256adantl 484 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ)) → (𝑥 · 𝑦) ∈ ℂ)
258 mulcom 11145 . . . . . . . . 9 ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ) → (𝑥 · 𝑦) = (𝑦 · 𝑥))
259258adantl 484 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ)) → (𝑥 · 𝑦) = (𝑦 · 𝑥))
260 mulass 11147 . . . . . . . . 9 ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ 𝑧 ∈ ℂ) → ((𝑥 · 𝑦) · 𝑧) = (𝑥 · (𝑦 · 𝑧)))
261260adantl 484 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ 𝑧 ∈ ℂ)) → ((𝑥 · 𝑦) · 𝑧) = (𝑥 · (𝑦 · 𝑧)))
262 ssidd 3950 . . . . . . . 8 (𝜑 → ℂ ⊆ ℂ)
263 f1ocnv 6804 . . . . . . . . . . 11 (𝐹:𝑇1-1-onto𝑆𝐹:𝑆1-1-onto𝑇)
26460, 263syl 17 . . . . . . . . . 10 (𝜑𝐹:𝑆1-1-onto𝑇)
2652adantr 483 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝑁 ∈ ℕ)
26659adantr 483 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝐴 ∈ ℤ)
26762ffvelcdmda 7050 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑦𝑇) → (𝐹𝑦) ∈ 𝑆)
268267adantrr 725 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ 𝑆)
269159, 268sselid 3925 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ (0..^𝑁))
270 elfzoelz 13650 . . . . . . . . . . . . . . . . . 18 ((𝐹𝑦) ∈ (0..^𝑁) → (𝐹𝑦) ∈ ℤ)
271269, 270syl 17 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ ℤ)
272266, 271zmulcld 12669 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐴 · (𝐹𝑦)) ∈ ℤ)
27362ffvelcdmda 7050 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑧𝑇) → (𝐹𝑧) ∈ 𝑆)
274273adantrl 724 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ 𝑆)
275159, 274sselid 3925 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ (0..^𝑁))
276 elfzoelz 13650 . . . . . . . . . . . . . . . . . 18 ((𝐹𝑧) ∈ (0..^𝑁) → (𝐹𝑧) ∈ ℤ)
277275, 276syl 17 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ ℤ)
278266, 277zmulcld 12669 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐴 · (𝐹𝑧)) ∈ ℤ)
279 moddvds 16269 . . . . . . . . . . . . . . . 16 ((𝑁 ∈ ℕ ∧ (𝐴 · (𝐹𝑦)) ∈ ℤ ∧ (𝐴 · (𝐹𝑧)) ∈ ℤ) → (((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁) ↔ 𝑁 ∥ ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧)))))
280265, 272, 278, 279syl3anc 1382 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁) ↔ 𝑁 ∥ ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧)))))
281 fveq2 6852 . . . . . . . . . . . . . . . . . . . 20 (𝑥 = 𝑦 → (𝐹𝑥) = (𝐹𝑦))
282281oveq2d 7397 . . . . . . . . . . . . . . . . . . 19 (𝑥 = 𝑦 → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹𝑦)))
283282oveq1d 7396 . . . . . . . . . . . . . . . . . 18 (𝑥 = 𝑦 → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹𝑦)) mod 𝑁))
284 ovex 7414 . . . . . . . . . . . . . . . . . 18 ((𝐴 · (𝐹𝑦)) mod 𝑁) ∈ V
285283, 87, 284fvmpt 6960 . . . . . . . . . . . . . . . . 17 (𝑦𝑇 → (𝐺𝑦) = ((𝐴 · (𝐹𝑦)) mod 𝑁))
286 fveq2 6852 . . . . . . . . . . . . . . . . . . . 20 (𝑥 = 𝑧 → (𝐹𝑥) = (𝐹𝑧))
287286oveq2d 7397 . . . . . . . . . . . . . . . . . . 19 (𝑥 = 𝑧 → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹𝑧)))
288287oveq1d 7396 . . . . . . . . . . . . . . . . . 18 (𝑥 = 𝑧 → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁))
289 ovex 7414 . . . . . . . . . . . . . . . . . 18 ((𝐴 · (𝐹𝑧)) mod 𝑁) ∈ V
290288, 87, 289fvmpt 6960 . . . . . . . . . . . . . . . . 17 (𝑧𝑇 → (𝐺𝑧) = ((𝐴 · (𝐹𝑧)) mod 𝑁))
291285, 290eqeqan12d 2766 . . . . . . . . . . . . . . . 16 ((𝑦𝑇𝑧𝑇) → ((𝐺𝑦) = (𝐺𝑧) ↔ ((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁)))
292291adantl 484 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐺𝑦) = (𝐺𝑧) ↔ ((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁)))
29393adantr 483 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝐴 ∈ ℂ)
294271zcnd 12664 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ ℂ)
295277zcnd 12664 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ ℂ)
296293, 294, 295subdid 11629 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) = ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧))))
297296breq2d 5102 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ↔ 𝑁 ∥ ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧)))))
298280, 292, 2973bitr4d 313 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐺𝑦) = (𝐺𝑧) ↔ 𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧)))))
299102, 59gcdcomd 16520 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝑁 gcd 𝐴) = (𝐴 gcd 𝑁))
3001simp3d 1153 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝐴 gcd 𝑁) = 1)
301299, 300eqtrd 2787 . . . . . . . . . . . . . . . 16 (𝜑 → (𝑁 gcd 𝐴) = 1)
302301adantr 483 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 gcd 𝐴) = 1)
303102adantr 483 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝑁 ∈ ℤ)
304271, 277zsubcld 12668 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) − (𝐹𝑧)) ∈ ℤ)
305 coprmdvds 16659 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ ∧ ((𝐹𝑦) − (𝐹𝑧)) ∈ ℤ) → ((𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
306303, 266, 304, 305syl3anc 1382 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
307271zred 12663 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ ℝ)
30880adantr 483 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝑁 ∈ ℝ+)
309 elfzole1 13659 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑦) ∈ (0..^𝑁) → 0 ≤ (𝐹𝑦))
310269, 309syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 0 ≤ (𝐹𝑦))
311 elfzolt2 13660 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑦) ∈ (0..^𝑁) → (𝐹𝑦) < 𝑁)
312269, 311syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) < 𝑁)
313 modid 13892 . . . . . . . . . . . . . . . . . . 19 ((((𝐹𝑦) ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ (𝐹𝑦) ∧ (𝐹𝑦) < 𝑁)) → ((𝐹𝑦) mod 𝑁) = (𝐹𝑦))
314307, 308, 310, 312, 313syl22anc 847 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) mod 𝑁) = (𝐹𝑦))
315277zred 12663 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ ℝ)
316 elfzole1 13659 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑧) ∈ (0..^𝑁) → 0 ≤ (𝐹𝑧))
317275, 316syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 0 ≤ (𝐹𝑧))
318 elfzolt2 13660 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑧) ∈ (0..^𝑁) → (𝐹𝑧) < 𝑁)
319275, 318syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) < 𝑁)
320 modid 13892 . . . . . . . . . . . . . . . . . . 19 ((((𝐹𝑧) ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ (𝐹𝑧) ∧ (𝐹𝑧) < 𝑁)) → ((𝐹𝑧) mod 𝑁) = (𝐹𝑧))
321315, 308, 317, 319, 320syl22anc 847 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑧) mod 𝑁) = (𝐹𝑧))
322314, 321eqeq12d 2768 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (((𝐹𝑦) mod 𝑁) = ((𝐹𝑧) mod 𝑁) ↔ (𝐹𝑦) = (𝐹𝑧)))
323 moddvds 16269 . . . . . . . . . . . . . . . . . 18 ((𝑁 ∈ ℕ ∧ (𝐹𝑦) ∈ ℤ ∧ (𝐹𝑧) ∈ ℤ) → (((𝐹𝑦) mod 𝑁) = ((𝐹𝑧) mod 𝑁) ↔ 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
324265, 271, 277, 323syl3anc 1382 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (((𝐹𝑦) mod 𝑁) = ((𝐹𝑧) mod 𝑁) ↔ 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
325 f1of1 6790 . . . . . . . . . . . . . . . . . . 19 (𝐹:𝑇1-1-onto𝑆𝐹:𝑇1-1𝑆)
32660, 325syl 17 . . . . . . . . . . . . . . . . . 18 (𝜑𝐹:𝑇1-1𝑆)
327 f1fveq 7231 . . . . . . . . . . . . . . . . . 18 ((𝐹:𝑇1-1𝑆 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) = (𝐹𝑧) ↔ 𝑦 = 𝑧))
328326, 327sylan 588 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) = (𝐹𝑧) ↔ 𝑦 = 𝑧))
329322, 324, 3283bitr3d 311 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧)) ↔ 𝑦 = 𝑧))
330306, 329sylibd 241 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑦 = 𝑧))
331302, 330mpan2d 702 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) → 𝑦 = 𝑧))
332298, 331sylbid 242 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐺𝑦) = (𝐺𝑧) → 𝑦 = 𝑧))
333332ralrimivva 3195 . . . . . . . . . . . 12 (𝜑 → ∀𝑦𝑇𝑧𝑇 ((𝐺𝑦) = (𝐺𝑧) → 𝑦 = 𝑧))
334 dff13 7223 . . . . . . . . . . . 12 (𝐺:𝑇1-1𝑆 ↔ (𝐺:𝑇𝑆 ∧ ∀𝑦𝑇𝑧𝑇 ((𝐺𝑦) = (𝐺𝑧) → 𝑦 = 𝑧)))
335160, 333, 334sylanbrc 591 . . . . . . . . . . 11 (𝜑𝐺:𝑇1-1𝑆)
33667ovexi 7415 . . . . . . . . . . . . . 14 𝑇 ∈ V
337336f1oen 8938 . . . . . . . . . . . . 13 (𝐹:𝑇1-1-onto𝑆𝑇𝑆)
33860, 337syl 17 . . . . . . . . . . . 12 (𝜑𝑇𝑆)
339 fzofi 13973 . . . . . . . . . . . . 13 (0..^𝑁) ∈ Fin
340 ssfi 9126 . . . . . . . . . . . . 13 (((0..^𝑁) ∈ Fin ∧ 𝑆 ⊆ (0..^𝑁)) → 𝑆 ∈ Fin)
341339, 159, 340mp2an 700 . . . . . . . . . . . 12 𝑆 ∈ Fin
342 f1finf1o 9202 . . . . . . . . . . . 12 ((𝑇𝑆𝑆 ∈ Fin) → (𝐺:𝑇1-1𝑆𝐺:𝑇1-1-onto𝑆))
343338, 341, 342sylancl 594 . . . . . . . . . . 11 (𝜑 → (𝐺:𝑇1-1𝑆𝐺:𝑇1-1-onto𝑆))
344335, 343mpbid 234 . . . . . . . . . 10 (𝜑𝐺:𝑇1-1-onto𝑆)
345 f1oco 6815 . . . . . . . . . 10 ((𝐹:𝑆1-1-onto𝑇𝐺:𝑇1-1-onto𝑆) → (𝐹𝐺):𝑇1-1-onto𝑇)
346264, 344, 345syl2anc 592 . . . . . . . . 9 (𝜑 → (𝐹𝐺):𝑇1-1-onto𝑇)
347 f1oeq23 6782 . . . . . . . . . 10 ((𝑇 = (1...(ϕ‘𝑁)) ∧ 𝑇 = (1...(ϕ‘𝑁))) → ((𝐹𝐺):𝑇1-1-onto𝑇 ↔ (𝐹𝐺):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁))))
34867, 67, 347mp2an 700 . . . . . . . . 9 ((𝐹𝐺):𝑇1-1-onto𝑇 ↔ (𝐹𝐺):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁)))
349346, 348sylib 220 . . . . . . . 8 (𝜑 → (𝐹𝐺):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁)))
350252zcnd 12664 . . . . . . . 8 ((𝜑𝑥 ∈ (1...(ϕ‘𝑁))) → (𝐹𝑥) ∈ ℂ)
35167eleq2i 2844 . . . . . . . . 9 (𝑤𝑇𝑤 ∈ (1...(ϕ‘𝑁)))
352 fvco3 6952 . . . . . . . . . . . 12 ((𝐺:𝑇𝑆𝑤𝑇) → ((𝐹𝐺)‘𝑤) = (𝐹‘(𝐺𝑤)))
353160, 352sylan 588 . . . . . . . . . . 11 ((𝜑𝑤𝑇) → ((𝐹𝐺)‘𝑤) = (𝐹‘(𝐺𝑤)))
354353fveq2d 6856 . . . . . . . . . 10 ((𝜑𝑤𝑇) → (𝐹‘((𝐹𝐺)‘𝑤)) = (𝐹‘(𝐹‘(𝐺𝑤))))
35560adantr 483 . . . . . . . . . . 11 ((𝜑𝑤𝑇) → 𝐹:𝑇1-1-onto𝑆)
356160ffvelcdmda 7050 . . . . . . . . . . 11 ((𝜑𝑤𝑇) → (𝐺𝑤) ∈ 𝑆)
357 f1ocnvfv2 7246 . . . . . . . . . . 11 ((𝐹:𝑇1-1-onto𝑆 ∧ (𝐺𝑤) ∈ 𝑆) → (𝐹‘(𝐹‘(𝐺𝑤))) = (𝐺𝑤))
358355, 356, 357syl2anc 592 . . . . . . . . . 10 ((𝜑𝑤𝑇) → (𝐹‘(𝐹‘(𝐺𝑤))) = (𝐺𝑤))
359354, 358eqtr2d 2788 . . . . . . . . 9 ((𝜑𝑤𝑇) → (𝐺𝑤) = (𝐹‘((𝐹𝐺)‘𝑤)))
360351, 359sylan2br 603 . . . . . . . 8 ((𝜑𝑤 ∈ (1...(ϕ‘𝑁))) → (𝐺𝑤) = (𝐹‘((𝐹𝐺)‘𝑤)))
361257, 259, 261, 64, 262, 349, 350, 360seqf1o 14042 . . . . . . 7 (𝜑 → (seq1( · , 𝐺)‘(ϕ‘𝑁)) = (seq1( · , 𝐹)‘(ϕ‘𝑁)))
362361, 254eqeltrd 2852 . . . . . 6 (𝜑 → (seq1( · , 𝐺)‘(ϕ‘𝑁)) ∈ ℤ)
363 moddvds 16269 . . . . . 6 ((𝑁 ∈ ℕ ∧ ((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) ∈ ℤ ∧ (seq1( · , 𝐺)‘(ϕ‘𝑁)) ∈ ℤ) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ↔ 𝑁 ∥ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁)))))
3642, 255, 362, 363syl3anc 1382 . . . . 5 (𝜑 → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ↔ 𝑁 ∥ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁)))))
365247, 364mpbid 234 . . . 4 (𝜑𝑁 ∥ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁))))
366254zcnd 12664 . . . . . . . 8 (𝜑 → (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℂ)
367366mullidd 11186 . . . . . . 7 (𝜑 → (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (seq1( · , 𝐹)‘(ϕ‘𝑁)))
368361, 367eqtr4d 2790 . . . . . 6 (𝜑 → (seq1( · , 𝐺)‘(ϕ‘𝑁)) = (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁))))
369368oveq2d 7397 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
370250zcnd 12664 . . . . . 6 (𝜑 → (𝐴↑(ϕ‘𝑁)) ∈ ℂ)
371 ax-1cn 11117 . . . . . . 7 1 ∈ ℂ
372 subdir 11607 . . . . . . 7 (((𝐴↑(ϕ‘𝑁)) ∈ ℂ ∧ 1 ∈ ℂ ∧ (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℂ) → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
373371, 372mp3an2 1460 . . . . . 6 (((𝐴↑(ϕ‘𝑁)) ∈ ℂ ∧ (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℂ) → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
374370, 366, 373syl2anc 592 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
375 zsubcl 12599 . . . . . . . 8 (((𝐴↑(ϕ‘𝑁)) ∈ ℤ ∧ 1 ∈ ℤ) → ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℤ)
376250, 83, 375sylancl 594 . . . . . . 7 (𝜑 → ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℤ)
377376zcnd 12664 . . . . . 6 (𝜑 → ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℂ)
378377, 366mulcomd 11189 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)))
379369, 374, 3783eqtr2d 2793 . . . 4 (𝜑 → (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁))) = ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)))
380365, 379breqtrd 5116 . . 3 (𝜑𝑁 ∥ ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)))
381246simprd 498 . . 3 (𝜑 → (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1)
382 coprmdvds 16659 . . . 4 ((𝑁 ∈ ℤ ∧ (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℤ ∧ ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℤ) → ((𝑁 ∥ ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1) → 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
383102, 254, 376, 382syl3anc 1382 . . 3 (𝜑 → ((𝑁 ∥ ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1) → 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
384380, 381, 383mp2and 707 . 2 (𝜑𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1))
385 moddvds 16269 . . . 4 ((𝑁 ∈ ℕ ∧ (𝐴↑(ϕ‘𝑁)) ∈ ℤ ∧ 1 ∈ ℤ) → (((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁) ↔ 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
38683, 385mp3an3 1461 . . 3 ((𝑁 ∈ ℕ ∧ (𝐴↑(ϕ‘𝑁)) ∈ ℤ) → (((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁) ↔ 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
3872, 250, 386syl2anc 592 . 2 (𝜑 → (((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁) ↔ 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
388384, 387mpbird 259 1 (𝜑 → ((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 398  w3a 1095   = wceq 1550  wcel 2132  wral 3066  {crab 3404  wss 3895   class class class wbr 5090  cmpt 5171  ccnv 5635  ccom 5640  wf 6502  1-1wf1 6503  1-1-ontowf1o 6505  cfv 6506  (class class class)co 7381  cen 8909  Fincfn 8912  cc 11057  cr 11058  0cc0 11059  1c1 11060   + caddc 11062   · cmul 11064   < clt 11202  cle 11203  cmin 11400  cn 12196  0cn0 12467  cz 12554  cuz 12825  +crp 12979  ...cfz 13498  ..^cfzo 13645   mod cmo 13865  seqcseq 14000  cexp 14060  cdvds 16258   gcd cgcd 16500  ϕcphi 16771
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1805  ax-4 1819  ax-5 1920  ax-6 1977  ax-7 2018  ax-8 2134  ax-9 2142  ax-10 2165  ax-11 2181  ax-12 2202  ax-ext 2724  ax-rep 5217  ax-sep 5236  ax-nul 5246  ax-pow 5312  ax-pr 5380  ax-un 7703  ax-cnex 11115  ax-resscn 11116  ax-1cn 11117  ax-icn 11118  ax-addcl 11119  ax-addrcl 11120  ax-mulcl 11121  ax-mulrcl 11122  ax-mulcom 11123  ax-addass 11124  ax-mulass 11125  ax-distr 11126  ax-i2m1 11127  ax-1ne0 11128  ax-1rid 11129  ax-rnegex 11130  ax-rrecex 11131  ax-cnre 11132  ax-pre-lttri 11133  ax-pre-lttrn 11134  ax-pre-ltadd 11135  ax-pre-mulgt0 11136  ax-pre-sup 11137
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 857  df-3or 1096  df-3an 1097  df-tru 1553  df-fal 1563  df-ex 1790  df-nf 1794  df-sb 2081  df-mo 2556  df-eu 2586  df-clab 2731  df-cleq 2744  df-clel 2827  df-nfc 2901  df-ne 2948  df-nel 3052  df-ral 3067  df-rex 3077  df-rmo 3357  df-reu 3358  df-rab 3405  df-v 3446  df-sbc 3736  df-csb 3844  df-dif 3898  df-un 3900  df-in 3902  df-ss 3912  df-pss 3915  df-nul 4277  df-if 4471  df-pw 4547  df-sn 4573  df-pr 4575  df-op 4579  df-uni 4856  df-int 4896  df-iun 4941  df-br 5091  df-opab 5153  df-mpt 5172  df-tr 5198  df-id 5531  df-eprel 5536  df-po 5544  df-so 5545  df-fr 5589  df-we 5591  df-xp 5642  df-rel 5643  df-cnv 5644  df-co 5645  df-dm 5646  df-rn 5647  df-res 5648  df-ima 5649  df-pred 6273  df-ord 6334  df-on 6335  df-lim 6336  df-suc 6337  df-iota 6462  df-fun 6508  df-fn 6509  df-f 6510  df-f1 6511  df-fo 6512  df-f1o 6513  df-fv 6514  df-riota 7338  df-ov 7384  df-oprab 7385  df-mpo 7386  df-om 7832  df-1st 7955  df-2nd 7956  df-frecs 8246  df-wrecs 8277  df-recs 8326  df-rdg 8365  df-1o 8421  df-oadd 8425  df-er 8662  df-en 8913  df-dom 8914  df-sdom 8915  df-fin 8916  df-sup 9374  df-inf 9375  df-card 9883  df-pnf 11204  df-mnf 11205  df-xr 11206  df-ltxr 11207  df-le 11208  df-sub 11402  df-neg 11403  df-div 11831  df-nn 12197  df-2 12266  df-3 12267  df-n0 12468  df-xnn0 12541  df-z 12555  df-uz 12826  df-rp 12980  df-fz 13499  df-fzo 13646  df-fl 13788  df-mod 13866  df-seq 14001  df-exp 14061  df-hash 14330  df-cj 15098  df-re 15099  df-im 15100  df-sqrt 15234  df-abs 15235  df-dvds 16259  df-gcd 16501  df-phi 16773
This theorem is referenced by:  eulerth  16790
  Copyright terms: Public domain W3C validator