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

Theorem eulerthlem2 15780
Description: Lemma for eulerth 15781. (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 1172 . . . . . . . . . 10 (𝜑𝑁 ∈ ℕ)
32phicld 15770 . . . . . . . . 9 (𝜑 → (ϕ‘𝑁) ∈ ℕ)
43nnred 11295 . . . . . . . 8 (𝜑 → (ϕ‘𝑁) ∈ ℝ)
54leidd 10852 . . . . . . 7 (𝜑 → (ϕ‘𝑁) ≤ (ϕ‘𝑁))
63adantr 472 . . . . . . . 8 ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → (ϕ‘𝑁) ∈ ℕ)
7 breq1 4814 . . . . . . . . . . 11 (𝑥 = 1 → (𝑥 ≤ (ϕ‘𝑁) ↔ 1 ≤ (ϕ‘𝑁)))
87anbi2d 622 . . . . . . . . . 10 (𝑥 = 1 → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑 ∧ 1 ≤ (ϕ‘𝑁))))
9 oveq2 6854 . . . . . . . . . . . . . 14 (𝑥 = 1 → (𝐴𝑥) = (𝐴↑1))
10 fveq2 6379 . . . . . . . . . . . . . 14 (𝑥 = 1 → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘1))
119, 10oveq12d 6864 . . . . . . . . . . . . 13 (𝑥 = 1 → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴↑1) · (seq1( · , 𝐹)‘1)))
1211oveq1d 6861 . . . . . . . . . . . 12 (𝑥 = 1 → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁))
13 fveq2 6379 . . . . . . . . . . . . 13 (𝑥 = 1 → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘1))
1413oveq1d 6861 . . . . . . . . . . . 12 (𝑥 = 1 → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁))
1512, 14eqeq12d 2780 . . . . . . . . . . 11 (𝑥 = 1 → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁)))
1610oveq2d 6862 . . . . . . . . . . . 12 (𝑥 = 1 → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘1)))
1716eqeq1d 2767 . . . . . . . . . . 11 (𝑥 = 1 → ((𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1 ↔ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))
1815, 17anbi12d 624 . . . . . . . . . 10 (𝑥 = 1 → (((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1) ↔ ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1)))
198, 18imbi12d 335 . . . . . . . . 9 (𝑥 = 1 → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑 ∧ 1 ≤ (ϕ‘𝑁)) → ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))))
20 breq1 4814 . . . . . . . . . . 11 (𝑥 = 𝑧 → (𝑥 ≤ (ϕ‘𝑁) ↔ 𝑧 ≤ (ϕ‘𝑁)))
2120anbi2d 622 . . . . . . . . . 10 (𝑥 = 𝑧 → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑𝑧 ≤ (ϕ‘𝑁))))
22 oveq2 6854 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → (𝐴𝑥) = (𝐴𝑧))
23 fveq2 6379 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘𝑧))
2422, 23oveq12d 6864 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)))
2524oveq1d 6861 . . . . . . . . . . . 12 (𝑥 = 𝑧 → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁))
26 fveq2 6379 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘𝑧))
2726oveq1d 6861 . . . . . . . . . . . 12 (𝑥 = 𝑧 → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁))
2825, 27eqeq12d 2780 . . . . . . . . . . 11 (𝑥 = 𝑧 → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁)))
2923oveq2d 6862 . . . . . . . . . . . 12 (𝑥 = 𝑧 → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘𝑧)))
3029eqeq1d 2767 . . . . . . . . . . 11 (𝑥 = 𝑧 → ((𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1 ↔ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1))
3128, 30anbi12d 624 . . . . . . . . . 10 (𝑥 = 𝑧 → (((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1) ↔ ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1)))
3221, 31imbi12d 335 . . . . . . . . 9 (𝑥 = 𝑧 → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑𝑧 ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1))))
33 breq1 4814 . . . . . . . . . . 11 (𝑥 = (𝑧 + 1) → (𝑥 ≤ (ϕ‘𝑁) ↔ (𝑧 + 1) ≤ (ϕ‘𝑁)))
3433anbi2d 622 . . . . . . . . . 10 (𝑥 = (𝑧 + 1) → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
35 oveq2 6854 . . . . . . . . . . . . . 14 (𝑥 = (𝑧 + 1) → (𝐴𝑥) = (𝐴↑(𝑧 + 1)))
36 fveq2 6379 . . . . . . . . . . . . . 14 (𝑥 = (𝑧 + 1) → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘(𝑧 + 1)))
3735, 36oveq12d 6864 . . . . . . . . . . . . 13 (𝑥 = (𝑧 + 1) → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))))
3837oveq1d 6861 . . . . . . . . . . . 12 (𝑥 = (𝑧 + 1) → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁))
39 fveq2 6379 . . . . . . . . . . . . 13 (𝑥 = (𝑧 + 1) → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘(𝑧 + 1)))
4039oveq1d 6861 . . . . . . . . . . . 12 (𝑥 = (𝑧 + 1) → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁))
4138, 40eqeq12d 2780 . . . . . . . . . . 11 (𝑥 = (𝑧 + 1) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁)))
4236oveq2d 6862 . . . . . . . . . . . 12 (𝑥 = (𝑧 + 1) → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))))
4342eqeq1d 2767 . . . . . . . . . . 11 (𝑥 = (𝑧 + 1) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1 ↔ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))
4441, 43anbi12d 624 . . . . . . . . . 10 (𝑥 = (𝑧 + 1) → (((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1) ↔ ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1)))
4534, 44imbi12d 335 . . . . . . . . 9 (𝑥 = (𝑧 + 1) → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))))
46 breq1 4814 . . . . . . . . . . 11 (𝑥 = (ϕ‘𝑁) → (𝑥 ≤ (ϕ‘𝑁) ↔ (ϕ‘𝑁) ≤ (ϕ‘𝑁)))
4746anbi2d 622 . . . . . . . . . 10 (𝑥 = (ϕ‘𝑁) → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁))))
48 oveq2 6854 . . . . . . . . . . . . . 14 (𝑥 = (ϕ‘𝑁) → (𝐴𝑥) = (𝐴↑(ϕ‘𝑁)))
49 fveq2 6379 . . . . . . . . . . . . . 14 (𝑥 = (ϕ‘𝑁) → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘(ϕ‘𝑁)))
5048, 49oveq12d 6864 . . . . . . . . . . . . 13 (𝑥 = (ϕ‘𝑁) → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))))
5150oveq1d 6861 . . . . . . . . . . . 12 (𝑥 = (ϕ‘𝑁) → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁))
52 fveq2 6379 . . . . . . . . . . . . 13 (𝑥 = (ϕ‘𝑁) → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘(ϕ‘𝑁)))
5352oveq1d 6861 . . . . . . . . . . . 12 (𝑥 = (ϕ‘𝑁) → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁))
5451, 53eqeq12d 2780 . . . . . . . . . . 11 (𝑥 = (ϕ‘𝑁) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁)))
5549oveq2d 6862 . . . . . . . . . . . 12 (𝑥 = (ϕ‘𝑁) → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))))
5655eqeq1d 2767 . . . . . . . . . . 11 (𝑥 = (ϕ‘𝑁) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1 ↔ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))
5754, 56anbi12d 624 . . . . . . . . . 10 (𝑥 = (ϕ‘𝑁) → (((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1) ↔ ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1)))
5847, 57imbi12d 335 . . . . . . . . 9 (𝑥 = (ϕ‘𝑁) → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))))
591simp2d 1173 . . . . . . . . . . . . . . 15 (𝜑𝐴 ∈ ℤ)
60 eulerth.4 . . . . . . . . . . . . . . . . . . . 20 (𝜑𝐹:𝑇1-1-onto𝑆)
61 f1of 6324 . . . . . . . . . . . . . . . . . . . 20 (𝐹:𝑇1-1-onto𝑆𝐹:𝑇𝑆)
6260, 61syl 17 . . . . . . . . . . . . . . . . . . 19 (𝜑𝐹:𝑇𝑆)
63 nnuz 11928 . . . . . . . . . . . . . . . . . . . . . 22 ℕ = (ℤ‘1)
643, 63syl6eleq 2854 . . . . . . . . . . . . . . . . . . . . 21 (𝜑 → (ϕ‘𝑁) ∈ (ℤ‘1))
65 eluzfz1 12560 . . . . . . . . . . . . . . . . . . . . 21 ((ϕ‘𝑁) ∈ (ℤ‘1) → 1 ∈ (1...(ϕ‘𝑁)))
6664, 65syl 17 . . . . . . . . . . . . . . . . . . . 20 (𝜑 → 1 ∈ (1...(ϕ‘𝑁)))
67 eulerth.3 . . . . . . . . . . . . . . . . . . . 20 𝑇 = (1...(ϕ‘𝑁))
6866, 67syl6eleqr 2855 . . . . . . . . . . . . . . . . . . 19 (𝜑 → 1 ∈ 𝑇)
6962, 68ffvelrnd 6554 . . . . . . . . . . . . . . . . . 18 (𝜑 → (𝐹‘1) ∈ 𝑆)
70 oveq1 6853 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = (𝐹‘1) → (𝑦 gcd 𝑁) = ((𝐹‘1) gcd 𝑁))
7170eqeq1d 2767 . . . . . . . . . . . . . . . . . . 19 (𝑦 = (𝐹‘1) → ((𝑦 gcd 𝑁) = 1 ↔ ((𝐹‘1) gcd 𝑁) = 1))
72 eulerth.2 . . . . . . . . . . . . . . . . . . 19 𝑆 = {𝑦 ∈ (0..^𝑁) ∣ (𝑦 gcd 𝑁) = 1}
7371, 72elrab2 3525 . . . . . . . . . . . . . . . . . 18 ((𝐹‘1) ∈ 𝑆 ↔ ((𝐹‘1) ∈ (0..^𝑁) ∧ ((𝐹‘1) gcd 𝑁) = 1))
7469, 73sylib 209 . . . . . . . . . . . . . . . . 17 (𝜑 → ((𝐹‘1) ∈ (0..^𝑁) ∧ ((𝐹‘1) gcd 𝑁) = 1))
7574simpld 488 . . . . . . . . . . . . . . . 16 (𝜑 → (𝐹‘1) ∈ (0..^𝑁))
76 elfzoelz 12683 . . . . . . . . . . . . . . . 16 ((𝐹‘1) ∈ (0..^𝑁) → (𝐹‘1) ∈ ℤ)
7775, 76syl 17 . . . . . . . . . . . . . . 15 (𝜑 → (𝐹‘1) ∈ ℤ)
7859, 77zmulcld 11740 . . . . . . . . . . . . . 14 (𝜑 → (𝐴 · (𝐹‘1)) ∈ ℤ)
7978zred 11734 . . . . . . . . . . . . 13 (𝜑 → (𝐴 · (𝐹‘1)) ∈ ℝ)
802nnrpd 12073 . . . . . . . . . . . . 13 (𝜑𝑁 ∈ ℝ+)
81 modabs2 12917 . . . . . . . . . . . . 13 (((𝐴 · (𝐹‘1)) ∈ ℝ ∧ 𝑁 ∈ ℝ+) → (((𝐴 · (𝐹‘1)) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
8279, 80, 81syl2anc 579 . . . . . . . . . . . 12 (𝜑 → (((𝐴 · (𝐹‘1)) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
83 1z 11659 . . . . . . . . . . . . . 14 1 ∈ ℤ
84 fveq2 6379 . . . . . . . . . . . . . . . . . 18 (𝑥 = 1 → (𝐹𝑥) = (𝐹‘1))
8584oveq2d 6862 . . . . . . . . . . . . . . . . 17 (𝑥 = 1 → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹‘1)))
8685oveq1d 6861 . . . . . . . . . . . . . . . 16 (𝑥 = 1 → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
87 eulerth.5 . . . . . . . . . . . . . . . 16 𝐺 = (𝑥𝑇 ↦ ((𝐴 · (𝐹𝑥)) mod 𝑁))
88 ovex 6878 . . . . . . . . . . . . . . . 16 ((𝐴 · (𝐹‘1)) mod 𝑁) ∈ V
8986, 87, 88fvmpt 6475 . . . . . . . . . . . . . . 15 (1 ∈ 𝑇 → (𝐺‘1) = ((𝐴 · (𝐹‘1)) mod 𝑁))
9068, 89syl 17 . . . . . . . . . . . . . 14 (𝜑 → (𝐺‘1) = ((𝐴 · (𝐹‘1)) mod 𝑁))
9183, 90seq1i 13027 . . . . . . . . . . . . 13 (𝜑 → (seq1( · , 𝐺)‘1) = ((𝐴 · (𝐹‘1)) mod 𝑁))
9291oveq1d 6861 . . . . . . . . . . . 12 (𝜑 → ((seq1( · , 𝐺)‘1) mod 𝑁) = (((𝐴 · (𝐹‘1)) mod 𝑁) mod 𝑁))
9359zcnd 11735 . . . . . . . . . . . . . . 15 (𝜑𝐴 ∈ ℂ)
9493exp1d 13215 . . . . . . . . . . . . . 14 (𝜑 → (𝐴↑1) = 𝐴)
95 seq1 13026 . . . . . . . . . . . . . . . 16 (1 ∈ ℤ → (seq1( · , 𝐹)‘1) = (𝐹‘1))
9683, 95ax-mp 5 . . . . . . . . . . . . . . 15 (seq1( · , 𝐹)‘1) = (𝐹‘1)
9796a1i 11 . . . . . . . . . . . . . 14 (𝜑 → (seq1( · , 𝐹)‘1) = (𝐹‘1))
9894, 97oveq12d 6864 . . . . . . . . . . . . 13 (𝜑 → ((𝐴↑1) · (seq1( · , 𝐹)‘1)) = (𝐴 · (𝐹‘1)))
9998oveq1d 6861 . . . . . . . . . . . 12 (𝜑 → (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
10082, 92, 993eqtr4rd 2810 . . . . . . . . . . 11 (𝜑 → (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁))
10196oveq2i 6857 . . . . . . . . . . . 12 (𝑁 gcd (seq1( · , 𝐹)‘1)) = (𝑁 gcd (𝐹‘1))
1022nnzd 11733 . . . . . . . . . . . . . 14 (𝜑𝑁 ∈ ℤ)
103 gcdcom 15530 . . . . . . . . . . . . . 14 ((𝑁 ∈ ℤ ∧ (𝐹‘1) ∈ ℤ) → (𝑁 gcd (𝐹‘1)) = ((𝐹‘1) gcd 𝑁))
104102, 77, 103syl2anc 579 . . . . . . . . . . . . 13 (𝜑 → (𝑁 gcd (𝐹‘1)) = ((𝐹‘1) gcd 𝑁))
10574simprd 489 . . . . . . . . . . . . 13 (𝜑 → ((𝐹‘1) gcd 𝑁) = 1)
106104, 105eqtrd 2799 . . . . . . . . . . . 12 (𝜑 → (𝑁 gcd (𝐹‘1)) = 1)
107101, 106syl5eq 2811 . . . . . . . . . . 11 (𝜑 → (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1)
108100, 107jca 507 . . . . . . . . . 10 (𝜑 → ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))
109108adantr 472 . . . . . . . . 9 ((𝜑 ∧ 1 ≤ (ϕ‘𝑁)) → ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))
110 nnre 11286 . . . . . . . . . . . . . . 15 (𝑧 ∈ ℕ → 𝑧 ∈ ℝ)
111110adantr 472 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℕ ∧ 𝜑) → 𝑧 ∈ ℝ)
112111lep1d 11213 . . . . . . . . . . . . 13 ((𝑧 ∈ ℕ ∧ 𝜑) → 𝑧 ≤ (𝑧 + 1))
113 peano2re 10467 . . . . . . . . . . . . . . 15 (𝑧 ∈ ℝ → (𝑧 + 1) ∈ ℝ)
114111, 113syl 17 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℕ ∧ 𝜑) → (𝑧 + 1) ∈ ℝ)
1154adantl 473 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℕ ∧ 𝜑) → (ϕ‘𝑁) ∈ ℝ)
116 letr 10389 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℝ ∧ (𝑧 + 1) ∈ ℝ ∧ (ϕ‘𝑁) ∈ ℝ) → ((𝑧 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → 𝑧 ≤ (ϕ‘𝑁)))
117111, 114, 115, 116syl3anc 1490 . . . . . . . . . . . . 13 ((𝑧 ∈ ℕ ∧ 𝜑) → ((𝑧 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → 𝑧 ≤ (ϕ‘𝑁)))
118112, 117mpand 686 . . . . . . . . . . . 12 ((𝑧 ∈ ℕ ∧ 𝜑) → ((𝑧 + 1) ≤ (ϕ‘𝑁) → 𝑧 ≤ (ϕ‘𝑁)))
119118imdistanda 567 . . . . . . . . . . 11 (𝑧 ∈ ℕ → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → (𝜑𝑧 ≤ (ϕ‘𝑁))))
120119imim1d 82 . . . . . . . . . 10 (𝑧 ∈ ℕ → (((𝜑𝑧 ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1)) → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1))))
12159adantr 472 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝐴 ∈ ℤ)
122 nnnn0 11550 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ ℕ → 𝑧 ∈ ℕ0)
123122ad2antrl 719 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℕ0)
124 zexpcl 13087 . . . . . . . . . . . . . . . . . . 19 ((𝐴 ∈ ℤ ∧ 𝑧 ∈ ℕ0) → (𝐴𝑧) ∈ ℤ)
125121, 123, 124syl2anc 579 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴𝑧) ∈ ℤ)
126 simprl 787 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℕ)
127126, 63syl6eleq 2854 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ (ℤ‘1))
128110ad2antrl 719 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℝ)
129128, 113syl 17 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ ℝ)
1304adantr 472 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (ϕ‘𝑁) ∈ ℝ)
131128lep1d 11213 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ≤ (𝑧 + 1))
132 simprr 789 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ≤ (ϕ‘𝑁))
133128, 129, 130, 131, 132letrd 10452 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ≤ (ϕ‘𝑁))
134 nnz 11651 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑧 ∈ ℕ → 𝑧 ∈ ℤ)
135134ad2antrl 719 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℤ)
1363nnzd 11733 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝜑 → (ϕ‘𝑁) ∈ ℤ)
137136adantr 472 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (ϕ‘𝑁) ∈ ℤ)
138 eluz 11905 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝑧 ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℤ) → ((ϕ‘𝑁) ∈ (ℤ𝑧) ↔ 𝑧 ≤ (ϕ‘𝑁)))
139135, 137, 138syl2anc 579 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((ϕ‘𝑁) ∈ (ℤ𝑧) ↔ 𝑧 ≤ (ϕ‘𝑁)))
140133, 139mpbird 248 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (ϕ‘𝑁) ∈ (ℤ𝑧))
141 fzss2 12593 . . . . . . . . . . . . . . . . . . . . . . 23 ((ϕ‘𝑁) ∈ (ℤ𝑧) → (1...𝑧) ⊆ (1...(ϕ‘𝑁)))
142140, 141syl 17 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (1...𝑧) ⊆ (1...(ϕ‘𝑁)))
143142, 67syl6sseqr 3814 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (1...𝑧) ⊆ 𝑇)
144143sselda 3763 . . . . . . . . . . . . . . . . . . . 20 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥 ∈ (1...𝑧)) → 𝑥𝑇)
14562ffvelrnda 6553 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑𝑥𝑇) → (𝐹𝑥) ∈ 𝑆)
146 oveq1 6853 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑦 = (𝐹𝑥) → (𝑦 gcd 𝑁) = ((𝐹𝑥) gcd 𝑁))
147146eqeq1d 2767 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑦 = (𝐹𝑥) → ((𝑦 gcd 𝑁) = 1 ↔ ((𝐹𝑥) gcd 𝑁) = 1))
148147, 72elrab2 3525 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝐹𝑥) ∈ 𝑆 ↔ ((𝐹𝑥) ∈ (0..^𝑁) ∧ ((𝐹𝑥) gcd 𝑁) = 1))
149145, 148sylib 209 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑𝑥𝑇) → ((𝐹𝑥) ∈ (0..^𝑁) ∧ ((𝐹𝑥) gcd 𝑁) = 1))
150149simpld 488 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑥𝑇) → (𝐹𝑥) ∈ (0..^𝑁))
151 elfzoelz 12683 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐹𝑥) ∈ (0..^𝑁) → (𝐹𝑥) ∈ ℤ)
152150, 151syl 17 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑥𝑇) → (𝐹𝑥) ∈ ℤ)
153152adantlr 706 . . . . . . . . . . . . . . . . . . . 20 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥𝑇) → (𝐹𝑥) ∈ ℤ)
154144, 153syldan 585 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥 ∈ (1...𝑧)) → (𝐹𝑥) ∈ ℤ)
155 zmulcl 11678 . . . . . . . . . . . . . . . . . . . 20 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ) → (𝑥 · 𝑦) ∈ ℤ)
156155adantl 473 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ)) → (𝑥 · 𝑦) ∈ ℤ)
157127, 154, 156seqcl 13033 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐹)‘𝑧) ∈ ℤ)
158125, 157zmulcld 11740 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℤ)
159158zred 11734 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℝ)
160 ssrab2 3849 . . . . . . . . . . . . . . . . . . . . . . 23 {𝑦 ∈ (0..^𝑁) ∣ (𝑦 gcd 𝑁) = 1} ⊆ (0..^𝑁)
16172, 160eqsstri 3797 . . . . . . . . . . . . . . . . . . . . . 22 𝑆 ⊆ (0..^𝑁)
1621, 72, 67, 60, 87eulerthlem1 15779 . . . . . . . . . . . . . . . . . . . . . . 23 (𝜑𝐺:𝑇𝑆)
163162ffvelrnda 6553 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑥𝑇) → (𝐺𝑥) ∈ 𝑆)
164161, 163sseldi 3761 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑥𝑇) → (𝐺𝑥) ∈ (0..^𝑁))
165 elfzoelz 12683 . . . . . . . . . . . . . . . . . . . . 21 ((𝐺𝑥) ∈ (0..^𝑁) → (𝐺𝑥) ∈ ℤ)
166164, 165syl 17 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑥𝑇) → (𝐺𝑥) ∈ ℤ)
167166adantlr 706 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥𝑇) → (𝐺𝑥) ∈ ℤ)
168144, 167syldan 585 . . . . . . . . . . . . . . . . . 18 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥 ∈ (1...𝑧)) → (𝐺𝑥) ∈ ℤ)
169127, 168, 156seqcl 13033 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘𝑧) ∈ ℤ)
170169zred 11734 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘𝑧) ∈ ℝ)
17162adantr 472 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝐹:𝑇𝑆)
172 peano2nn 11292 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑧 ∈ ℕ → (𝑧 + 1) ∈ ℕ)
173172ad2antrl 719 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ ℕ)
174173nnge1d 11324 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 1 ≤ (𝑧 + 1))
175173nnzd 11733 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ ℤ)
176 elfz 12544 . . . . . . . . . . . . . . . . . . . . . . . . 25 (((𝑧 + 1) ∈ ℤ ∧ 1 ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℤ) → ((𝑧 + 1) ∈ (1...(ϕ‘𝑁)) ↔ (1 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
17783, 176mp3an2 1573 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝑧 + 1) ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℤ) → ((𝑧 + 1) ∈ (1...(ϕ‘𝑁)) ↔ (1 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
178175, 137, 177syl2anc 579 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑧 + 1) ∈ (1...(ϕ‘𝑁)) ↔ (1 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
179174, 132, 178mpbir2and 704 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ (1...(ϕ‘𝑁)))
180179, 67syl6eleqr 2855 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ 𝑇)
181171, 180ffvelrnd 6554 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ 𝑆)
182 oveq1 6853 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 = (𝐹‘(𝑧 + 1)) → (𝑦 gcd 𝑁) = ((𝐹‘(𝑧 + 1)) gcd 𝑁))
183182eqeq1d 2767 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = (𝐹‘(𝑧 + 1)) → ((𝑦 gcd 𝑁) = 1 ↔ ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1))
184183, 72elrab2 3525 . . . . . . . . . . . . . . . . . . . 20 ((𝐹‘(𝑧 + 1)) ∈ 𝑆 ↔ ((𝐹‘(𝑧 + 1)) ∈ (0..^𝑁) ∧ ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1))
185181, 184sylib 209 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐹‘(𝑧 + 1)) ∈ (0..^𝑁) ∧ ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1))
186185simpld 488 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ (0..^𝑁))
187 elfzoelz 12683 . . . . . . . . . . . . . . . . . 18 ((𝐹‘(𝑧 + 1)) ∈ (0..^𝑁) → (𝐹‘(𝑧 + 1)) ∈ ℤ)
188186, 187syl 17 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ ℤ)
189121, 188zmulcld 11740 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℤ)
19080adantr 472 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑁 ∈ ℝ+)
191 modmul1 12936 . . . . . . . . . . . . . . . . 17 (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℝ ∧ (seq1( · , 𝐺)‘𝑧) ∈ ℝ) ∧ ((𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℤ ∧ 𝑁 ∈ ℝ+) ∧ (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁))
1921913expia 1150 . . . . . . . . . . . . . . . 16 (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℝ ∧ (seq1( · , 𝐺)‘𝑧) ∈ ℝ) ∧ ((𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℤ ∧ 𝑁 ∈ ℝ+)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁)))
193159, 170, 189, 190, 192syl22anc 867 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁)))
194125zcnd 11735 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴𝑧) ∈ ℂ)
195157zcnd 11735 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐹)‘𝑧) ∈ ℂ)
19693adantr 472 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝐴 ∈ ℂ)
197188zcnd 11735 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ ℂ)
198194, 195, 196, 197mul4d 10506 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) = (((𝐴𝑧) · 𝐴) · ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))))
199196, 123expp1d 13221 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴↑(𝑧 + 1)) = ((𝐴𝑧) · 𝐴))
200 seqp1 13028 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ (ℤ‘1) → (seq1( · , 𝐹)‘(𝑧 + 1)) = ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1))))
201127, 200syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐹)‘(𝑧 + 1)) = ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1))))
202199, 201oveq12d 6864 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) = (((𝐴𝑧) · 𝐴) · ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))))
203198, 202eqtr4d 2802 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) = ((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))))
204203oveq1d 6861 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁))
205189zred 11734 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℝ)
206205, 190modcld 12887 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ ℝ)
207 modabs2 12917 . . . . . . . . . . . . . . . . . . 19 (((𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℝ ∧ 𝑁 ∈ ℝ+) → (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
208205, 190, 207syl2anc 579 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
209 modmul1 12936 . . . . . . . . . . . . . . . . . 18 (((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ ℝ ∧ (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℝ) ∧ ((seq1( · , 𝐺)‘𝑧) ∈ ℤ ∧ 𝑁 ∈ ℝ+) ∧ (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁)) → ((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁) = (((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
210206, 205, 169, 190, 208, 209syl221anc 1500 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁) = (((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
211 fveq2 6379 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑥 = (𝑧 + 1) → (𝐹𝑥) = (𝐹‘(𝑧 + 1)))
212211oveq2d 6862 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑥 = (𝑧 + 1) → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹‘(𝑧 + 1))))
213212oveq1d 6861 . . . . . . . . . . . . . . . . . . . . . 22 (𝑥 = (𝑧 + 1) → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
214 ovex 6878 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ V
215213, 87, 214fvmpt 6475 . . . . . . . . . . . . . . . . . . . . 21 ((𝑧 + 1) ∈ 𝑇 → (𝐺‘(𝑧 + 1)) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
216180, 215syl 17 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐺‘(𝑧 + 1)) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
217216oveq2d 6862 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((seq1( · , 𝐺)‘𝑧) · (𝐺‘(𝑧 + 1))) = ((seq1( · , 𝐺)‘𝑧) · ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁)))
218 seqp1 13028 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ (ℤ‘1) → (seq1( · , 𝐺)‘(𝑧 + 1)) = ((seq1( · , 𝐺)‘𝑧) · (𝐺‘(𝑧 + 1))))
219127, 218syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘(𝑧 + 1)) = ((seq1( · , 𝐺)‘𝑧) · (𝐺‘(𝑧 + 1))))
220206recnd 10326 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ ℂ)
221169zcnd 11735 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘𝑧) ∈ ℂ)
222220, 221mulcomd 10319 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) = ((seq1( · , 𝐺)‘𝑧) · ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁)))
223217, 219, 2223eqtr4d 2809 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘(𝑧 + 1)) = (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)))
224223oveq1d 6861 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) = ((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
225189zcnd 11735 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℂ)
226221, 225mulcomd 10319 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) = ((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)))
227226oveq1d 6861 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
228210, 224, 2273eqtr4rd 2810 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁))
229204, 228eqeq12d 2780 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) ↔ (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁)))
230193, 229sylibd 230 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) → (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁)))
231102adantr 472 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑁 ∈ ℤ)
232 gcdcom 15530 . . . . . . . . . . . . . . . . . 18 ((𝑁 ∈ ℤ ∧ (𝐹‘(𝑧 + 1)) ∈ ℤ) → (𝑁 gcd (𝐹‘(𝑧 + 1))) = ((𝐹‘(𝑧 + 1)) gcd 𝑁))
233231, 188, 232syl2anc 579 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑁 gcd (𝐹‘(𝑧 + 1))) = ((𝐹‘(𝑧 + 1)) gcd 𝑁))
234185simprd 489 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1)
235233, 234eqtrd 2799 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑁 gcd (𝐹‘(𝑧 + 1))) = 1)
236 rpmul 15667 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℤ ∧ (seq1( · , 𝐹)‘𝑧) ∈ ℤ ∧ (𝐹‘(𝑧 + 1)) ∈ ℤ) → (((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 ∧ (𝑁 gcd (𝐹‘(𝑧 + 1))) = 1) → (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
237231, 157, 188, 236syl3anc 1490 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 ∧ (𝑁 gcd (𝐹‘(𝑧 + 1))) = 1) → (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
238235, 237mpan2d 685 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 → (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
239201oveq2d 6862 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))))
240239eqeq1d 2767 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1 ↔ (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
241238, 240sylibrd 250 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 → (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))
242230, 241anim12d 602 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1)))
243242an12s 639 . . . . . . . . . . . 12 ((𝑧 ∈ ℕ ∧ (𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1)))
244243ex 401 . . . . . . . . . . 11 (𝑧 ∈ ℕ → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))))
245244a2d 29 . . . . . . . . . 10 (𝑧 ∈ ℕ → (((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1)) → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))))
246120, 245syld 47 . . . . . . . . 9 (𝑧 ∈ ℕ → (((𝜑𝑧 ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1)) → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))))
24719, 32, 45, 58, 109, 246nnind 11298 . . . . . . . 8 ((ϕ‘𝑁) ∈ ℕ → ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1)))
2486, 247mpcom 38 . . . . . . 7 ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))
2495, 248mpdan 678 . . . . . 6 (𝜑 → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))
250249simpld 488 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁))
2513nnnn0d 11602 . . . . . . . 8 (𝜑 → (ϕ‘𝑁) ∈ ℕ0)
252 zexpcl 13087 . . . . . . . 8 ((𝐴 ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℕ0) → (𝐴↑(ϕ‘𝑁)) ∈ ℤ)
25359, 251, 252syl2anc 579 . . . . . . 7 (𝜑 → (𝐴↑(ϕ‘𝑁)) ∈ ℤ)
25467eleq2i 2836 . . . . . . . . 9 (𝑥𝑇𝑥 ∈ (1...(ϕ‘𝑁)))
255254, 152sylan2br 588 . . . . . . . 8 ((𝜑𝑥 ∈ (1...(ϕ‘𝑁))) → (𝐹𝑥) ∈ ℤ)
256155adantl 473 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ)) → (𝑥 · 𝑦) ∈ ℤ)
25764, 255, 256seqcl 13033 . . . . . . 7 (𝜑 → (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℤ)
258253, 257zmulcld 11740 . . . . . 6 (𝜑 → ((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) ∈ ℤ)
259 mulcl 10277 . . . . . . . . 9 ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ) → (𝑥 · 𝑦) ∈ ℂ)
260259adantl 473 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ)) → (𝑥 · 𝑦) ∈ ℂ)
261 mulcom 10279 . . . . . . . . 9 ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ) → (𝑥 · 𝑦) = (𝑦 · 𝑥))
262261adantl 473 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ)) → (𝑥 · 𝑦) = (𝑦 · 𝑥))
263 mulass 10281 . . . . . . . . 9 ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ 𝑧 ∈ ℂ) → ((𝑥 · 𝑦) · 𝑧) = (𝑥 · (𝑦 · 𝑧)))
264263adantl 473 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ 𝑧 ∈ ℂ)) → ((𝑥 · 𝑦) · 𝑧) = (𝑥 · (𝑦 · 𝑧)))
265 ssidd 3786 . . . . . . . 8 (𝜑 → ℂ ⊆ ℂ)
266 f1ocnv 6336 . . . . . . . . . . 11 (𝐹:𝑇1-1-onto𝑆𝐹:𝑆1-1-onto𝑇)
26760, 266syl 17 . . . . . . . . . 10 (𝜑𝐹:𝑆1-1-onto𝑇)
2682adantr 472 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝑁 ∈ ℕ)
26959adantr 472 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝐴 ∈ ℤ)
27062ffvelrnda 6553 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑦𝑇) → (𝐹𝑦) ∈ 𝑆)
271270adantrr 708 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ 𝑆)
272161, 271sseldi 3761 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ (0..^𝑁))
273 elfzoelz 12683 . . . . . . . . . . . . . . . . . 18 ((𝐹𝑦) ∈ (0..^𝑁) → (𝐹𝑦) ∈ ℤ)
274272, 273syl 17 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ ℤ)
275269, 274zmulcld 11740 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐴 · (𝐹𝑦)) ∈ ℤ)
27662ffvelrnda 6553 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑧𝑇) → (𝐹𝑧) ∈ 𝑆)
277276adantrl 707 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ 𝑆)
278161, 277sseldi 3761 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ (0..^𝑁))
279 elfzoelz 12683 . . . . . . . . . . . . . . . . . 18 ((𝐹𝑧) ∈ (0..^𝑁) → (𝐹𝑧) ∈ ℤ)
280278, 279syl 17 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ ℤ)
281269, 280zmulcld 11740 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐴 · (𝐹𝑧)) ∈ ℤ)
282 moddvds 15290 . . . . . . . . . . . . . . . 16 ((𝑁 ∈ ℕ ∧ (𝐴 · (𝐹𝑦)) ∈ ℤ ∧ (𝐴 · (𝐹𝑧)) ∈ ℤ) → (((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁) ↔ 𝑁 ∥ ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧)))))
283268, 275, 281, 282syl3anc 1490 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁) ↔ 𝑁 ∥ ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧)))))
284 fveq2 6379 . . . . . . . . . . . . . . . . . . . 20 (𝑥 = 𝑦 → (𝐹𝑥) = (𝐹𝑦))
285284oveq2d 6862 . . . . . . . . . . . . . . . . . . 19 (𝑥 = 𝑦 → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹𝑦)))
286285oveq1d 6861 . . . . . . . . . . . . . . . . . 18 (𝑥 = 𝑦 → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹𝑦)) mod 𝑁))
287 ovex 6878 . . . . . . . . . . . . . . . . . 18 ((𝐴 · (𝐹𝑦)) mod 𝑁) ∈ V
288286, 87, 287fvmpt 6475 . . . . . . . . . . . . . . . . 17 (𝑦𝑇 → (𝐺𝑦) = ((𝐴 · (𝐹𝑦)) mod 𝑁))
289 fveq2 6379 . . . . . . . . . . . . . . . . . . . 20 (𝑥 = 𝑧 → (𝐹𝑥) = (𝐹𝑧))
290289oveq2d 6862 . . . . . . . . . . . . . . . . . . 19 (𝑥 = 𝑧 → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹𝑧)))
291290oveq1d 6861 . . . . . . . . . . . . . . . . . 18 (𝑥 = 𝑧 → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁))
292 ovex 6878 . . . . . . . . . . . . . . . . . 18 ((𝐴 · (𝐹𝑧)) mod 𝑁) ∈ V
293291, 87, 292fvmpt 6475 . . . . . . . . . . . . . . . . 17 (𝑧𝑇 → (𝐺𝑧) = ((𝐴 · (𝐹𝑧)) mod 𝑁))
294288, 293eqeqan12d 2781 . . . . . . . . . . . . . . . 16 ((𝑦𝑇𝑧𝑇) → ((𝐺𝑦) = (𝐺𝑧) ↔ ((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁)))
295294adantl 473 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐺𝑦) = (𝐺𝑧) ↔ ((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁)))
29693adantr 472 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝐴 ∈ ℂ)
297274zcnd 11735 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ ℂ)
298280zcnd 11735 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ ℂ)
299296, 297, 298subdid 10744 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) = ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧))))
300299breq2d 4823 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ↔ 𝑁 ∥ ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧)))))
301283, 295, 3003bitr4d 302 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐺𝑦) = (𝐺𝑧) ↔ 𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧)))))
302 gcdcom 15530 . . . . . . . . . . . . . . . . . 18 ((𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ) → (𝑁 gcd 𝐴) = (𝐴 gcd 𝑁))
303102, 59, 302syl2anc 579 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝑁 gcd 𝐴) = (𝐴 gcd 𝑁))
3041simp3d 1174 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝐴 gcd 𝑁) = 1)
305303, 304eqtrd 2799 . . . . . . . . . . . . . . . 16 (𝜑 → (𝑁 gcd 𝐴) = 1)
306305adantr 472 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 gcd 𝐴) = 1)
307102adantr 472 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝑁 ∈ ℤ)
308274, 280zsubcld 11739 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) − (𝐹𝑧)) ∈ ℤ)
309 coprmdvds 15661 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ ∧ ((𝐹𝑦) − (𝐹𝑧)) ∈ ℤ) → ((𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
310307, 269, 308, 309syl3anc 1490 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
311274zred 11734 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ ℝ)
31280adantr 472 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝑁 ∈ ℝ+)
313 elfzole1 12691 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑦) ∈ (0..^𝑁) → 0 ≤ (𝐹𝑦))
314272, 313syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 0 ≤ (𝐹𝑦))
315 elfzolt2 12692 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑦) ∈ (0..^𝑁) → (𝐹𝑦) < 𝑁)
316272, 315syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) < 𝑁)
317 modid 12908 . . . . . . . . . . . . . . . . . . 19 ((((𝐹𝑦) ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ (𝐹𝑦) ∧ (𝐹𝑦) < 𝑁)) → ((𝐹𝑦) mod 𝑁) = (𝐹𝑦))
318311, 312, 314, 316, 317syl22anc 867 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) mod 𝑁) = (𝐹𝑦))
319280zred 11734 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ ℝ)
320 elfzole1 12691 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑧) ∈ (0..^𝑁) → 0 ≤ (𝐹𝑧))
321278, 320syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 0 ≤ (𝐹𝑧))
322 elfzolt2 12692 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑧) ∈ (0..^𝑁) → (𝐹𝑧) < 𝑁)
323278, 322syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) < 𝑁)
324 modid 12908 . . . . . . . . . . . . . . . . . . 19 ((((𝐹𝑧) ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ (𝐹𝑧) ∧ (𝐹𝑧) < 𝑁)) → ((𝐹𝑧) mod 𝑁) = (𝐹𝑧))
325319, 312, 321, 323, 324syl22anc 867 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑧) mod 𝑁) = (𝐹𝑧))
326318, 325eqeq12d 2780 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (((𝐹𝑦) mod 𝑁) = ((𝐹𝑧) mod 𝑁) ↔ (𝐹𝑦) = (𝐹𝑧)))
327 moddvds 15290 . . . . . . . . . . . . . . . . . 18 ((𝑁 ∈ ℕ ∧ (𝐹𝑦) ∈ ℤ ∧ (𝐹𝑧) ∈ ℤ) → (((𝐹𝑦) mod 𝑁) = ((𝐹𝑧) mod 𝑁) ↔ 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
328268, 274, 280, 327syl3anc 1490 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (((𝐹𝑦) mod 𝑁) = ((𝐹𝑧) mod 𝑁) ↔ 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
329 f1of1 6323 . . . . . . . . . . . . . . . . . . 19 (𝐹:𝑇1-1-onto𝑆𝐹:𝑇1-1𝑆)
33060, 329syl 17 . . . . . . . . . . . . . . . . . 18 (𝜑𝐹:𝑇1-1𝑆)
331 f1fveq 6715 . . . . . . . . . . . . . . . . . 18 ((𝐹:𝑇1-1𝑆 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) = (𝐹𝑧) ↔ 𝑦 = 𝑧))
332330, 331sylan 575 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) = (𝐹𝑧) ↔ 𝑦 = 𝑧))
333326, 328, 3323bitr3d 300 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧)) ↔ 𝑦 = 𝑧))
334310, 333sylibd 230 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑦 = 𝑧))
335306, 334mpan2d 685 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) → 𝑦 = 𝑧))
336301, 335sylbid 231 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐺𝑦) = (𝐺𝑧) → 𝑦 = 𝑧))
337336ralrimivva 3118 . . . . . . . . . . . 12 (𝜑 → ∀𝑦𝑇𝑧𝑇 ((𝐺𝑦) = (𝐺𝑧) → 𝑦 = 𝑧))
338 dff13 6708 . . . . . . . . . . . 12 (𝐺:𝑇1-1𝑆 ↔ (𝐺:𝑇𝑆 ∧ ∀𝑦𝑇𝑧𝑇 ((𝐺𝑦) = (𝐺𝑧) → 𝑦 = 𝑧)))
339162, 337, 338sylanbrc 578 . . . . . . . . . . 11 (𝜑𝐺:𝑇1-1𝑆)
340 ovex 6878 . . . . . . . . . . . . . . 15 (1...(ϕ‘𝑁)) ∈ V
34167, 340eqeltri 2840 . . . . . . . . . . . . . 14 𝑇 ∈ V
342341f1oen 8185 . . . . . . . . . . . . 13 (𝐹:𝑇1-1-onto𝑆𝑇𝑆)
34360, 342syl 17 . . . . . . . . . . . 12 (𝜑𝑇𝑆)
344 fzofi 12986 . . . . . . . . . . . . 13 (0..^𝑁) ∈ Fin
345 ssfi 8391 . . . . . . . . . . . . 13 (((0..^𝑁) ∈ Fin ∧ 𝑆 ⊆ (0..^𝑁)) → 𝑆 ∈ Fin)
346344, 161, 345mp2an 683 . . . . . . . . . . . 12 𝑆 ∈ Fin
347 f1finf1o 8398 . . . . . . . . . . . 12 ((𝑇𝑆𝑆 ∈ Fin) → (𝐺:𝑇1-1𝑆𝐺:𝑇1-1-onto𝑆))
348343, 346, 347sylancl 580 . . . . . . . . . . 11 (𝜑 → (𝐺:𝑇1-1𝑆𝐺:𝑇1-1-onto𝑆))
349339, 348mpbid 223 . . . . . . . . . 10 (𝜑𝐺:𝑇1-1-onto𝑆)
350 f1oco 6346 . . . . . . . . . 10 ((𝐹:𝑆1-1-onto𝑇𝐺:𝑇1-1-onto𝑆) → (𝐹𝐺):𝑇1-1-onto𝑇)
351267, 349, 350syl2anc 579 . . . . . . . . 9 (𝜑 → (𝐹𝐺):𝑇1-1-onto𝑇)
352 f1oeq23 6317 . . . . . . . . . 10 ((𝑇 = (1...(ϕ‘𝑁)) ∧ 𝑇 = (1...(ϕ‘𝑁))) → ((𝐹𝐺):𝑇1-1-onto𝑇 ↔ (𝐹𝐺):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁))))
35367, 67, 352mp2an 683 . . . . . . . . 9 ((𝐹𝐺):𝑇1-1-onto𝑇 ↔ (𝐹𝐺):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁)))
354351, 353sylib 209 . . . . . . . 8 (𝜑 → (𝐹𝐺):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁)))
355255zcnd 11735 . . . . . . . 8 ((𝜑𝑥 ∈ (1...(ϕ‘𝑁))) → (𝐹𝑥) ∈ ℂ)
35667eleq2i 2836 . . . . . . . . 9 (𝑤𝑇𝑤 ∈ (1...(ϕ‘𝑁)))
357 fvco3 6468 . . . . . . . . . . . 12 ((𝐺:𝑇𝑆𝑤𝑇) → ((𝐹𝐺)‘𝑤) = (𝐹‘(𝐺𝑤)))
358162, 357sylan 575 . . . . . . . . . . 11 ((𝜑𝑤𝑇) → ((𝐹𝐺)‘𝑤) = (𝐹‘(𝐺𝑤)))
359358fveq2d 6383 . . . . . . . . . 10 ((𝜑𝑤𝑇) → (𝐹‘((𝐹𝐺)‘𝑤)) = (𝐹‘(𝐹‘(𝐺𝑤))))
36060adantr 472 . . . . . . . . . . 11 ((𝜑𝑤𝑇) → 𝐹:𝑇1-1-onto𝑆)
361162ffvelrnda 6553 . . . . . . . . . . 11 ((𝜑𝑤𝑇) → (𝐺𝑤) ∈ 𝑆)
362 f1ocnvfv2 6729 . . . . . . . . . . 11 ((𝐹:𝑇1-1-onto𝑆 ∧ (𝐺𝑤) ∈ 𝑆) → (𝐹‘(𝐹‘(𝐺𝑤))) = (𝐺𝑤))
363360, 361, 362syl2anc 579 . . . . . . . . . 10 ((𝜑𝑤𝑇) → (𝐹‘(𝐹‘(𝐺𝑤))) = (𝐺𝑤))
364359, 363eqtr2d 2800 . . . . . . . . 9 ((𝜑𝑤𝑇) → (𝐺𝑤) = (𝐹‘((𝐹𝐺)‘𝑤)))
365356, 364sylan2br 588 . . . . . . . 8 ((𝜑𝑤 ∈ (1...(ϕ‘𝑁))) → (𝐺𝑤) = (𝐹‘((𝐹𝐺)‘𝑤)))
366260, 262, 264, 64, 265, 354, 355, 365seqf1o 13054 . . . . . . 7 (𝜑 → (seq1( · , 𝐺)‘(ϕ‘𝑁)) = (seq1( · , 𝐹)‘(ϕ‘𝑁)))
367366, 257eqeltrd 2844 . . . . . 6 (𝜑 → (seq1( · , 𝐺)‘(ϕ‘𝑁)) ∈ ℤ)
368 moddvds 15290 . . . . . 6 ((𝑁 ∈ ℕ ∧ ((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) ∈ ℤ ∧ (seq1( · , 𝐺)‘(ϕ‘𝑁)) ∈ ℤ) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ↔ 𝑁 ∥ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁)))))
3692, 258, 367, 368syl3anc 1490 . . . . 5 (𝜑 → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ↔ 𝑁 ∥ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁)))))
370250, 369mpbid 223 . . . 4 (𝜑𝑁 ∥ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁))))
371257zcnd 11735 . . . . . . . 8 (𝜑 → (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℂ)
372371mulid2d 10316 . . . . . . 7 (𝜑 → (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (seq1( · , 𝐹)‘(ϕ‘𝑁)))
373366, 372eqtr4d 2802 . . . . . 6 (𝜑 → (seq1( · , 𝐺)‘(ϕ‘𝑁)) = (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁))))
374373oveq2d 6862 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
375253zcnd 11735 . . . . . 6 (𝜑 → (𝐴↑(ϕ‘𝑁)) ∈ ℂ)
376 ax-1cn 10251 . . . . . . 7 1 ∈ ℂ
377 subdir 10722 . . . . . . 7 (((𝐴↑(ϕ‘𝑁)) ∈ ℂ ∧ 1 ∈ ℂ ∧ (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℂ) → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
378376, 377mp3an2 1573 . . . . . 6 (((𝐴↑(ϕ‘𝑁)) ∈ ℂ ∧ (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℂ) → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
379375, 371, 378syl2anc 579 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
380 zsubcl 11671 . . . . . . . 8 (((𝐴↑(ϕ‘𝑁)) ∈ ℤ ∧ 1 ∈ ℤ) → ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℤ)
381253, 83, 380sylancl 580 . . . . . . 7 (𝜑 → ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℤ)
382381zcnd 11735 . . . . . 6 (𝜑 → ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℂ)
383382, 371mulcomd 10319 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)))
384374, 379, 3833eqtr2d 2805 . . . 4 (𝜑 → (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁))) = ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)))
385370, 384breqtrd 4837 . . 3 (𝜑𝑁 ∥ ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)))
386249simprd 489 . . 3 (𝜑 → (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1)
387 coprmdvds 15661 . . . 4 ((𝑁 ∈ ℤ ∧ (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℤ ∧ ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℤ) → ((𝑁 ∥ ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1) → 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
388102, 257, 381, 387syl3anc 1490 . . 3 (𝜑 → ((𝑁 ∥ ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1) → 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
389385, 386, 388mp2and 690 . 2 (𝜑𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1))
390 moddvds 15290 . . . 4 ((𝑁 ∈ ℕ ∧ (𝐴↑(ϕ‘𝑁)) ∈ ℤ ∧ 1 ∈ ℤ) → (((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁) ↔ 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
39183, 390mp3an3 1574 . . 3 ((𝑁 ∈ ℕ ∧ (𝐴↑(ϕ‘𝑁)) ∈ ℤ) → (((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁) ↔ 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
3922, 253, 391syl2anc 579 . 2 (𝜑 → (((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁) ↔ 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
393389, 392mpbird 248 1 (𝜑 → ((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 197  wa 384  w3a 1107   = wceq 1652  wcel 2155  wral 3055  {crab 3059  Vcvv 3350  wss 3734   class class class wbr 4811  cmpt 4890  ccnv 5278  ccom 5283  wf 6066  1-1wf1 6067  1-1-ontowf1o 6069  cfv 6070  (class class class)co 6846  cen 8161  Fincfn 8164  cc 10191  cr 10192  0cc0 10193  1c1 10194   + caddc 10196   · cmul 10198   < clt 10332  cle 10333  cmin 10524  cn 11278  0cn0 11542  cz 11628  cuz 11891  +crp 12033  ...cfz 12538  ..^cfzo 12678   mod cmo 12881  seqcseq 13013  cexp 13072  cdvds 15279   gcd cgcd 15511  ϕcphi 15762
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1890  ax-4 1904  ax-5 2005  ax-6 2070  ax-7 2105  ax-8 2157  ax-9 2164  ax-10 2183  ax-11 2198  ax-12 2211  ax-13 2352  ax-ext 2743  ax-rep 4932  ax-sep 4943  ax-nul 4951  ax-pow 5003  ax-pr 5064  ax-un 7151  ax-cnex 10249  ax-resscn 10250  ax-1cn 10251  ax-icn 10252  ax-addcl 10253  ax-addrcl 10254  ax-mulcl 10255  ax-mulrcl 10256  ax-mulcom 10257  ax-addass 10258  ax-mulass 10259  ax-distr 10260  ax-i2m1 10261  ax-1ne0 10262  ax-1rid 10263  ax-rnegex 10264  ax-rrecex 10265  ax-cnre 10266  ax-pre-lttri 10267  ax-pre-lttrn 10268  ax-pre-ltadd 10269  ax-pre-mulgt0 10270  ax-pre-sup 10271
This theorem depends on definitions:  df-bi 198  df-an 385  df-or 874  df-3or 1108  df-3an 1109  df-tru 1656  df-ex 1875  df-nf 1879  df-sb 2063  df-mo 2565  df-eu 2582  df-clab 2752  df-cleq 2758  df-clel 2761  df-nfc 2896  df-ne 2938  df-nel 3041  df-ral 3060  df-rex 3061  df-reu 3062  df-rmo 3063  df-rab 3064  df-v 3352  df-sbc 3599  df-csb 3694  df-dif 3737  df-un 3739  df-in 3741  df-ss 3748  df-pss 3750  df-nul 4082  df-if 4246  df-pw 4319  df-sn 4337  df-pr 4339  df-tp 4341  df-op 4343  df-uni 4597  df-int 4636  df-iun 4680  df-br 4812  df-opab 4874  df-mpt 4891  df-tr 4914  df-id 5187  df-eprel 5192  df-po 5200  df-so 5201  df-fr 5238  df-we 5240  df-xp 5285  df-rel 5286  df-cnv 5287  df-co 5288  df-dm 5289  df-rn 5290  df-res 5291  df-ima 5292  df-pred 5867  df-ord 5913  df-on 5914  df-lim 5915  df-suc 5916  df-iota 6033  df-fun 6072  df-fn 6073  df-f 6074  df-f1 6075  df-fo 6076  df-f1o 6077  df-fv 6078  df-riota 6807  df-ov 6849  df-oprab 6850  df-mpt2 6851  df-om 7268  df-1st 7370  df-2nd 7371  df-wrecs 7614  df-recs 7676  df-rdg 7714  df-1o 7768  df-oadd 7772  df-er 7951  df-map 8066  df-en 8165  df-dom 8166  df-sdom 8167  df-fin 8168  df-sup 8559  df-inf 8560  df-card 9020  df-pnf 10334  df-mnf 10335  df-xr 10336  df-ltxr 10337  df-le 10338  df-sub 10526  df-neg 10527  df-div 10943  df-nn 11279  df-2 11339  df-3 11340  df-n0 11543  df-xnn0 11615  df-z 11629  df-uz 11892  df-rp 12034  df-fz 12539  df-fzo 12679  df-fl 12806  df-mod 12882  df-seq 13014  df-exp 13073  df-hash 13327  df-cj 14138  df-re 14139  df-im 14140  df-sqrt 14274  df-abs 14275  df-dvds 15280  df-gcd 15512  df-phi 15764
This theorem is referenced by:  eulerth  15781
  Copyright terms: Public domain W3C validator