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

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

Proof of Theorem eulerthlem2
Dummy variables 𝑧 𝑤 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eulerth.1 . . . . . . . . . . 11 (𝜑 → (𝑁 ∈ ℕ ∧ 𝐴 ∈ ℤ ∧ (𝐴 gcd 𝑁) = 1))
21simp1d 1141 . . . . . . . . . 10 (𝜑𝑁 ∈ ℕ)
32phicld 16471 . . . . . . . . 9 (𝜑 → (ϕ‘𝑁) ∈ ℕ)
43nnred 11988 . . . . . . . 8 (𝜑 → (ϕ‘𝑁) ∈ ℝ)
54leidd 11541 . . . . . . 7 (𝜑 → (ϕ‘𝑁) ≤ (ϕ‘𝑁))
63adantr 481 . . . . . . . 8 ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → (ϕ‘𝑁) ∈ ℕ)
7 breq1 5082 . . . . . . . . . . 11 (𝑥 = 1 → (𝑥 ≤ (ϕ‘𝑁) ↔ 1 ≤ (ϕ‘𝑁)))
87anbi2d 629 . . . . . . . . . 10 (𝑥 = 1 → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑 ∧ 1 ≤ (ϕ‘𝑁))))
9 oveq2 7279 . . . . . . . . . . . . . 14 (𝑥 = 1 → (𝐴𝑥) = (𝐴↑1))
10 fveq2 6771 . . . . . . . . . . . . . 14 (𝑥 = 1 → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘1))
119, 10oveq12d 7289 . . . . . . . . . . . . 13 (𝑥 = 1 → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴↑1) · (seq1( · , 𝐹)‘1)))
1211oveq1d 7286 . . . . . . . . . . . 12 (𝑥 = 1 → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁))
13 fveq2 6771 . . . . . . . . . . . . 13 (𝑥 = 1 → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘1))
1413oveq1d 7286 . . . . . . . . . . . 12 (𝑥 = 1 → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁))
1512, 14eqeq12d 2756 . . . . . . . . . . 11 (𝑥 = 1 → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁)))
1610oveq2d 7287 . . . . . . . . . . . 12 (𝑥 = 1 → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘1)))
1716eqeq1d 2742 . . . . . . . . . . 11 (𝑥 = 1 → ((𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1 ↔ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))
1815, 17anbi12d 631 . . . . . . . . . 10 (𝑥 = 1 → (((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1) ↔ ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1)))
198, 18imbi12d 345 . . . . . . . . 9 (𝑥 = 1 → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑 ∧ 1 ≤ (ϕ‘𝑁)) → ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))))
20 breq1 5082 . . . . . . . . . . 11 (𝑥 = 𝑧 → (𝑥 ≤ (ϕ‘𝑁) ↔ 𝑧 ≤ (ϕ‘𝑁)))
2120anbi2d 629 . . . . . . . . . 10 (𝑥 = 𝑧 → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑𝑧 ≤ (ϕ‘𝑁))))
22 oveq2 7279 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → (𝐴𝑥) = (𝐴𝑧))
23 fveq2 6771 . . . . . . . . . . . . . 14 (𝑥 = 𝑧 → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘𝑧))
2422, 23oveq12d 7289 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)))
2524oveq1d 7286 . . . . . . . . . . . 12 (𝑥 = 𝑧 → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁))
26 fveq2 6771 . . . . . . . . . . . . 13 (𝑥 = 𝑧 → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘𝑧))
2726oveq1d 7286 . . . . . . . . . . . 12 (𝑥 = 𝑧 → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁))
2825, 27eqeq12d 2756 . . . . . . . . . . 11 (𝑥 = 𝑧 → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁)))
2923oveq2d 7287 . . . . . . . . . . . 12 (𝑥 = 𝑧 → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘𝑧)))
3029eqeq1d 2742 . . . . . . . . . . 11 (𝑥 = 𝑧 → ((𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1 ↔ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1))
3128, 30anbi12d 631 . . . . . . . . . 10 (𝑥 = 𝑧 → (((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1) ↔ ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1)))
3221, 31imbi12d 345 . . . . . . . . 9 (𝑥 = 𝑧 → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑𝑧 ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1))))
33 breq1 5082 . . . . . . . . . . 11 (𝑥 = (𝑧 + 1) → (𝑥 ≤ (ϕ‘𝑁) ↔ (𝑧 + 1) ≤ (ϕ‘𝑁)))
3433anbi2d 629 . . . . . . . . . 10 (𝑥 = (𝑧 + 1) → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
35 oveq2 7279 . . . . . . . . . . . . . 14 (𝑥 = (𝑧 + 1) → (𝐴𝑥) = (𝐴↑(𝑧 + 1)))
36 fveq2 6771 . . . . . . . . . . . . . 14 (𝑥 = (𝑧 + 1) → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘(𝑧 + 1)))
3735, 36oveq12d 7289 . . . . . . . . . . . . 13 (𝑥 = (𝑧 + 1) → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))))
3837oveq1d 7286 . . . . . . . . . . . 12 (𝑥 = (𝑧 + 1) → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁))
39 fveq2 6771 . . . . . . . . . . . . 13 (𝑥 = (𝑧 + 1) → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘(𝑧 + 1)))
4039oveq1d 7286 . . . . . . . . . . . 12 (𝑥 = (𝑧 + 1) → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁))
4138, 40eqeq12d 2756 . . . . . . . . . . 11 (𝑥 = (𝑧 + 1) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁)))
4236oveq2d 7287 . . . . . . . . . . . 12 (𝑥 = (𝑧 + 1) → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))))
4342eqeq1d 2742 . . . . . . . . . . 11 (𝑥 = (𝑧 + 1) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1 ↔ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))
4441, 43anbi12d 631 . . . . . . . . . 10 (𝑥 = (𝑧 + 1) → (((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1) ↔ ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1)))
4534, 44imbi12d 345 . . . . . . . . 9 (𝑥 = (𝑧 + 1) → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))))
46 breq1 5082 . . . . . . . . . . 11 (𝑥 = (ϕ‘𝑁) → (𝑥 ≤ (ϕ‘𝑁) ↔ (ϕ‘𝑁) ≤ (ϕ‘𝑁)))
4746anbi2d 629 . . . . . . . . . 10 (𝑥 = (ϕ‘𝑁) → ((𝜑𝑥 ≤ (ϕ‘𝑁)) ↔ (𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁))))
48 oveq2 7279 . . . . . . . . . . . . . 14 (𝑥 = (ϕ‘𝑁) → (𝐴𝑥) = (𝐴↑(ϕ‘𝑁)))
49 fveq2 6771 . . . . . . . . . . . . . 14 (𝑥 = (ϕ‘𝑁) → (seq1( · , 𝐹)‘𝑥) = (seq1( · , 𝐹)‘(ϕ‘𝑁)))
5048, 49oveq12d 7289 . . . . . . . . . . . . 13 (𝑥 = (ϕ‘𝑁) → ((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) = ((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))))
5150oveq1d 7286 . . . . . . . . . . . 12 (𝑥 = (ϕ‘𝑁) → (((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁))
52 fveq2 6771 . . . . . . . . . . . . 13 (𝑥 = (ϕ‘𝑁) → (seq1( · , 𝐺)‘𝑥) = (seq1( · , 𝐺)‘(ϕ‘𝑁)))
5352oveq1d 7286 . . . . . . . . . . . 12 (𝑥 = (ϕ‘𝑁) → ((seq1( · , 𝐺)‘𝑥) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁))
5451, 53eqeq12d 2756 . . . . . . . . . . 11 (𝑥 = (ϕ‘𝑁) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ↔ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁)))
5549oveq2d 7287 . . . . . . . . . . . 12 (𝑥 = (ϕ‘𝑁) → (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))))
5655eqeq1d 2742 . . . . . . . . . . 11 (𝑥 = (ϕ‘𝑁) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1 ↔ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))
5754, 56anbi12d 631 . . . . . . . . . 10 (𝑥 = (ϕ‘𝑁) → (((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1) ↔ ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1)))
5847, 57imbi12d 345 . . . . . . . . 9 (𝑥 = (ϕ‘𝑁) → (((𝜑𝑥 ≤ (ϕ‘𝑁)) → ((((𝐴𝑥) · (seq1( · , 𝐹)‘𝑥)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑥) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑥)) = 1)) ↔ ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))))
591simp2d 1142 . . . . . . . . . . . . . . 15 (𝜑𝐴 ∈ ℤ)
60 eulerth.4 . . . . . . . . . . . . . . . . . . . 20 (𝜑𝐹:𝑇1-1-onto𝑆)
61 f1of 6714 . . . . . . . . . . . . . . . . . . . 20 (𝐹:𝑇1-1-onto𝑆𝐹:𝑇𝑆)
6260, 61syl 17 . . . . . . . . . . . . . . . . . . 19 (𝜑𝐹:𝑇𝑆)
63 nnuz 12620 . . . . . . . . . . . . . . . . . . . . . 22 ℕ = (ℤ‘1)
643, 63eleqtrdi 2851 . . . . . . . . . . . . . . . . . . . . 21 (𝜑 → (ϕ‘𝑁) ∈ (ℤ‘1))
65 eluzfz1 13262 . . . . . . . . . . . . . . . . . . . . 21 ((ϕ‘𝑁) ∈ (ℤ‘1) → 1 ∈ (1...(ϕ‘𝑁)))
6664, 65syl 17 . . . . . . . . . . . . . . . . . . . 20 (𝜑 → 1 ∈ (1...(ϕ‘𝑁)))
67 eulerth.3 . . . . . . . . . . . . . . . . . . . 20 𝑇 = (1...(ϕ‘𝑁))
6866, 67eleqtrrdi 2852 . . . . . . . . . . . . . . . . . . 19 (𝜑 → 1 ∈ 𝑇)
6962, 68ffvelrnd 6959 . . . . . . . . . . . . . . . . . 18 (𝜑 → (𝐹‘1) ∈ 𝑆)
70 oveq1 7278 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = (𝐹‘1) → (𝑦 gcd 𝑁) = ((𝐹‘1) gcd 𝑁))
7170eqeq1d 2742 . . . . . . . . . . . . . . . . . . 19 (𝑦 = (𝐹‘1) → ((𝑦 gcd 𝑁) = 1 ↔ ((𝐹‘1) gcd 𝑁) = 1))
72 eulerth.2 . . . . . . . . . . . . . . . . . . 19 𝑆 = {𝑦 ∈ (0..^𝑁) ∣ (𝑦 gcd 𝑁) = 1}
7371, 72elrab2 3629 . . . . . . . . . . . . . . . . . 18 ((𝐹‘1) ∈ 𝑆 ↔ ((𝐹‘1) ∈ (0..^𝑁) ∧ ((𝐹‘1) gcd 𝑁) = 1))
7469, 73sylib 217 . . . . . . . . . . . . . . . . 17 (𝜑 → ((𝐹‘1) ∈ (0..^𝑁) ∧ ((𝐹‘1) gcd 𝑁) = 1))
7574simpld 495 . . . . . . . . . . . . . . . 16 (𝜑 → (𝐹‘1) ∈ (0..^𝑁))
76 elfzoelz 13386 . . . . . . . . . . . . . . . 16 ((𝐹‘1) ∈ (0..^𝑁) → (𝐹‘1) ∈ ℤ)
7775, 76syl 17 . . . . . . . . . . . . . . 15 (𝜑 → (𝐹‘1) ∈ ℤ)
7859, 77zmulcld 12431 . . . . . . . . . . . . . 14 (𝜑 → (𝐴 · (𝐹‘1)) ∈ ℤ)
7978zred 12425 . . . . . . . . . . . . 13 (𝜑 → (𝐴 · (𝐹‘1)) ∈ ℝ)
802nnrpd 12769 . . . . . . . . . . . . 13 (𝜑𝑁 ∈ ℝ+)
81 modabs2 13623 . . . . . . . . . . . . 13 (((𝐴 · (𝐹‘1)) ∈ ℝ ∧ 𝑁 ∈ ℝ+) → (((𝐴 · (𝐹‘1)) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
8279, 80, 81syl2anc 584 . . . . . . . . . . . 12 (𝜑 → (((𝐴 · (𝐹‘1)) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
83 1z 12350 . . . . . . . . . . . . . 14 1 ∈ ℤ
84 fveq2 6771 . . . . . . . . . . . . . . . . . 18 (𝑥 = 1 → (𝐹𝑥) = (𝐹‘1))
8584oveq2d 7287 . . . . . . . . . . . . . . . . 17 (𝑥 = 1 → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹‘1)))
8685oveq1d 7286 . . . . . . . . . . . . . . . 16 (𝑥 = 1 → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
87 eulerth.5 . . . . . . . . . . . . . . . 16 𝐺 = (𝑥𝑇 ↦ ((𝐴 · (𝐹𝑥)) mod 𝑁))
88 ovex 7304 . . . . . . . . . . . . . . . 16 ((𝐴 · (𝐹‘1)) mod 𝑁) ∈ V
8986, 87, 88fvmpt 6872 . . . . . . . . . . . . . . 15 (1 ∈ 𝑇 → (𝐺‘1) = ((𝐴 · (𝐹‘1)) mod 𝑁))
9068, 89syl 17 . . . . . . . . . . . . . 14 (𝜑 → (𝐺‘1) = ((𝐴 · (𝐹‘1)) mod 𝑁))
9183, 90seq1i 13733 . . . . . . . . . . . . 13 (𝜑 → (seq1( · , 𝐺)‘1) = ((𝐴 · (𝐹‘1)) mod 𝑁))
9291oveq1d 7286 . . . . . . . . . . . 12 (𝜑 → ((seq1( · , 𝐺)‘1) mod 𝑁) = (((𝐴 · (𝐹‘1)) mod 𝑁) mod 𝑁))
9359zcnd 12426 . . . . . . . . . . . . . . 15 (𝜑𝐴 ∈ ℂ)
9493exp1d 13857 . . . . . . . . . . . . . 14 (𝜑 → (𝐴↑1) = 𝐴)
95 seq1 13732 . . . . . . . . . . . . . . . 16 (1 ∈ ℤ → (seq1( · , 𝐹)‘1) = (𝐹‘1))
9683, 95ax-mp 5 . . . . . . . . . . . . . . 15 (seq1( · , 𝐹)‘1) = (𝐹‘1)
9796a1i 11 . . . . . . . . . . . . . 14 (𝜑 → (seq1( · , 𝐹)‘1) = (𝐹‘1))
9894, 97oveq12d 7289 . . . . . . . . . . . . 13 (𝜑 → ((𝐴↑1) · (seq1( · , 𝐹)‘1)) = (𝐴 · (𝐹‘1)))
9998oveq1d 7286 . . . . . . . . . . . 12 (𝜑 → (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((𝐴 · (𝐹‘1)) mod 𝑁))
10082, 92, 993eqtr4rd 2791 . . . . . . . . . . 11 (𝜑 → (((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁))
10196oveq2i 7282 . . . . . . . . . . . 12 (𝑁 gcd (seq1( · , 𝐹)‘1)) = (𝑁 gcd (𝐹‘1))
1022nnzd 12424 . . . . . . . . . . . . . 14 (𝜑𝑁 ∈ ℤ)
103102, 77gcdcomd 16219 . . . . . . . . . . . . 13 (𝜑 → (𝑁 gcd (𝐹‘1)) = ((𝐹‘1) gcd 𝑁))
10474simprd 496 . . . . . . . . . . . . 13 (𝜑 → ((𝐹‘1) gcd 𝑁) = 1)
105103, 104eqtrd 2780 . . . . . . . . . . . 12 (𝜑 → (𝑁 gcd (𝐹‘1)) = 1)
106101, 105eqtrid 2792 . . . . . . . . . . 11 (𝜑 → (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1)
107100, 106jca 512 . . . . . . . . . 10 (𝜑 → ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))
108107adantr 481 . . . . . . . . 9 ((𝜑 ∧ 1 ≤ (ϕ‘𝑁)) → ((((𝐴↑1) · (seq1( · , 𝐹)‘1)) mod 𝑁) = ((seq1( · , 𝐺)‘1) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘1)) = 1))
109 nnre 11980 . . . . . . . . . . . . . . 15 (𝑧 ∈ ℕ → 𝑧 ∈ ℝ)
110109adantr 481 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℕ ∧ 𝜑) → 𝑧 ∈ ℝ)
111110lep1d 11906 . . . . . . . . . . . . 13 ((𝑧 ∈ ℕ ∧ 𝜑) → 𝑧 ≤ (𝑧 + 1))
112 peano2re 11148 . . . . . . . . . . . . . . 15 (𝑧 ∈ ℝ → (𝑧 + 1) ∈ ℝ)
113110, 112syl 17 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℕ ∧ 𝜑) → (𝑧 + 1) ∈ ℝ)
1144adantl 482 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℕ ∧ 𝜑) → (ϕ‘𝑁) ∈ ℝ)
115 letr 11069 . . . . . . . . . . . . . 14 ((𝑧 ∈ ℝ ∧ (𝑧 + 1) ∈ ℝ ∧ (ϕ‘𝑁) ∈ ℝ) → ((𝑧 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → 𝑧 ≤ (ϕ‘𝑁)))
116110, 113, 114, 115syl3anc 1370 . . . . . . . . . . . . 13 ((𝑧 ∈ ℕ ∧ 𝜑) → ((𝑧 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → 𝑧 ≤ (ϕ‘𝑁)))
117111, 116mpand 692 . . . . . . . . . . . 12 ((𝑧 ∈ ℕ ∧ 𝜑) → ((𝑧 + 1) ≤ (ϕ‘𝑁) → 𝑧 ≤ (ϕ‘𝑁)))
118117imdistanda 572 . . . . . . . . . . 11 (𝑧 ∈ ℕ → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → (𝜑𝑧 ≤ (ϕ‘𝑁))))
119118imim1d 82 . . . . . . . . . 10 (𝑧 ∈ ℕ → (((𝜑𝑧 ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1)) → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1))))
12059adantr 481 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝐴 ∈ ℤ)
121 nnnn0 12240 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ ℕ → 𝑧 ∈ ℕ0)
122121ad2antrl 725 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℕ0)
123 zexpcl 13795 . . . . . . . . . . . . . . . . . . 19 ((𝐴 ∈ ℤ ∧ 𝑧 ∈ ℕ0) → (𝐴𝑧) ∈ ℤ)
124120, 122, 123syl2anc 584 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴𝑧) ∈ ℤ)
125 simprl 768 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℕ)
126125, 63eleqtrdi 2851 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ (ℤ‘1))
127109ad2antrl 725 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℝ)
128127, 112syl 17 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ ℝ)
1294adantr 481 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (ϕ‘𝑁) ∈ ℝ)
130127lep1d 11906 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ≤ (𝑧 + 1))
131 simprr 770 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ≤ (ϕ‘𝑁))
132127, 128, 129, 130, 131letrd 11132 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ≤ (ϕ‘𝑁))
133 nnz 12342 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑧 ∈ ℕ → 𝑧 ∈ ℤ)
134133ad2antrl 725 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑧 ∈ ℤ)
1353nnzd 12424 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝜑 → (ϕ‘𝑁) ∈ ℤ)
136135adantr 481 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (ϕ‘𝑁) ∈ ℤ)
137 eluz 12595 . . . . . . . . . . . . . . . . . . . . . . . . 25 ((𝑧 ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℤ) → ((ϕ‘𝑁) ∈ (ℤ𝑧) ↔ 𝑧 ≤ (ϕ‘𝑁)))
138134, 136, 137syl2anc 584 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((ϕ‘𝑁) ∈ (ℤ𝑧) ↔ 𝑧 ≤ (ϕ‘𝑁)))
139132, 138mpbird 256 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (ϕ‘𝑁) ∈ (ℤ𝑧))
140 fzss2 13295 . . . . . . . . . . . . . . . . . . . . . . 23 ((ϕ‘𝑁) ∈ (ℤ𝑧) → (1...𝑧) ⊆ (1...(ϕ‘𝑁)))
141139, 140syl 17 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (1...𝑧) ⊆ (1...(ϕ‘𝑁)))
142141, 67sseqtrrdi 3977 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (1...𝑧) ⊆ 𝑇)
143142sselda 3926 . . . . . . . . . . . . . . . . . . . 20 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥 ∈ (1...𝑧)) → 𝑥𝑇)
14462ffvelrnda 6958 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑𝑥𝑇) → (𝐹𝑥) ∈ 𝑆)
145 oveq1 7278 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑦 = (𝐹𝑥) → (𝑦 gcd 𝑁) = ((𝐹𝑥) gcd 𝑁))
146145eqeq1d 2742 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑦 = (𝐹𝑥) → ((𝑦 gcd 𝑁) = 1 ↔ ((𝐹𝑥) gcd 𝑁) = 1))
147146, 72elrab2 3629 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝐹𝑥) ∈ 𝑆 ↔ ((𝐹𝑥) ∈ (0..^𝑁) ∧ ((𝐹𝑥) gcd 𝑁) = 1))
148144, 147sylib 217 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑𝑥𝑇) → ((𝐹𝑥) ∈ (0..^𝑁) ∧ ((𝐹𝑥) gcd 𝑁) = 1))
149148simpld 495 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑥𝑇) → (𝐹𝑥) ∈ (0..^𝑁))
150 elfzoelz 13386 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐹𝑥) ∈ (0..^𝑁) → (𝐹𝑥) ∈ ℤ)
151149, 150syl 17 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑥𝑇) → (𝐹𝑥) ∈ ℤ)
152151adantlr 712 . . . . . . . . . . . . . . . . . . . 20 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥𝑇) → (𝐹𝑥) ∈ ℤ)
153143, 152syldan 591 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥 ∈ (1...𝑧)) → (𝐹𝑥) ∈ ℤ)
154 zmulcl 12369 . . . . . . . . . . . . . . . . . . . 20 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ) → (𝑥 · 𝑦) ∈ ℤ)
155154adantl 482 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ)) → (𝑥 · 𝑦) ∈ ℤ)
156126, 153, 155seqcl 13741 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐹)‘𝑧) ∈ ℤ)
157124, 156zmulcld 12431 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℤ)
158157zred 12425 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℝ)
15972ssrab3 4020 . . . . . . . . . . . . . . . . . . . . . 22 𝑆 ⊆ (0..^𝑁)
1601, 72, 67, 60, 87eulerthlem1 16480 . . . . . . . . . . . . . . . . . . . . . . 23 (𝜑𝐺:𝑇𝑆)
161160ffvelrnda 6958 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑥𝑇) → (𝐺𝑥) ∈ 𝑆)
162159, 161sselid 3924 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑥𝑇) → (𝐺𝑥) ∈ (0..^𝑁))
163 elfzoelz 13386 . . . . . . . . . . . . . . . . . . . . 21 ((𝐺𝑥) ∈ (0..^𝑁) → (𝐺𝑥) ∈ ℤ)
164162, 163syl 17 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑥𝑇) → (𝐺𝑥) ∈ ℤ)
165164adantlr 712 . . . . . . . . . . . . . . . . . . 19 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥𝑇) → (𝐺𝑥) ∈ ℤ)
166143, 165syldan 591 . . . . . . . . . . . . . . . . . 18 (((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) ∧ 𝑥 ∈ (1...𝑧)) → (𝐺𝑥) ∈ ℤ)
167126, 166, 155seqcl 13741 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘𝑧) ∈ ℤ)
168167zred 12425 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘𝑧) ∈ ℝ)
16962adantr 481 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝐹:𝑇𝑆)
170 peano2nn 11985 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑧 ∈ ℕ → (𝑧 + 1) ∈ ℕ)
171170ad2antrl 725 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ ℕ)
172171nnge1d 12021 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 1 ≤ (𝑧 + 1))
173171nnzd 12424 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ ℤ)
174 elfz 13244 . . . . . . . . . . . . . . . . . . . . . . . . 25 (((𝑧 + 1) ∈ ℤ ∧ 1 ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℤ) → ((𝑧 + 1) ∈ (1...(ϕ‘𝑁)) ↔ (1 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
17583, 174mp3an2 1448 . . . . . . . . . . . . . . . . . . . . . . . 24 (((𝑧 + 1) ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℤ) → ((𝑧 + 1) ∈ (1...(ϕ‘𝑁)) ↔ (1 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
176173, 136, 175syl2anc 584 . . . . . . . . . . . . . . . . . . . . . . 23 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑧 + 1) ∈ (1...(ϕ‘𝑁)) ↔ (1 ≤ (𝑧 + 1) ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))))
177172, 131, 176mpbir2and 710 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ (1...(ϕ‘𝑁)))
178177, 67eleqtrrdi 2852 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑧 + 1) ∈ 𝑇)
179169, 178ffvelrnd 6959 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ 𝑆)
180 oveq1 7278 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 = (𝐹‘(𝑧 + 1)) → (𝑦 gcd 𝑁) = ((𝐹‘(𝑧 + 1)) gcd 𝑁))
181180eqeq1d 2742 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = (𝐹‘(𝑧 + 1)) → ((𝑦 gcd 𝑁) = 1 ↔ ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1))
182181, 72elrab2 3629 . . . . . . . . . . . . . . . . . . . 20 ((𝐹‘(𝑧 + 1)) ∈ 𝑆 ↔ ((𝐹‘(𝑧 + 1)) ∈ (0..^𝑁) ∧ ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1))
183179, 182sylib 217 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐹‘(𝑧 + 1)) ∈ (0..^𝑁) ∧ ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1))
184183simpld 495 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ (0..^𝑁))
185 elfzoelz 13386 . . . . . . . . . . . . . . . . . 18 ((𝐹‘(𝑧 + 1)) ∈ (0..^𝑁) → (𝐹‘(𝑧 + 1)) ∈ ℤ)
186184, 185syl 17 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ ℤ)
187120, 186zmulcld 12431 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℤ)
18880adantr 481 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑁 ∈ ℝ+)
189 modmul1 13642 . . . . . . . . . . . . . . . . 17 (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℝ ∧ (seq1( · , 𝐺)‘𝑧) ∈ ℝ) ∧ ((𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℤ ∧ 𝑁 ∈ ℝ+) ∧ (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁))
1901893expia 1120 . . . . . . . . . . . . . . . 16 (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) ∈ ℝ ∧ (seq1( · , 𝐺)‘𝑧) ∈ ℝ) ∧ ((𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℤ ∧ 𝑁 ∈ ℝ+)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁)))
191158, 168, 187, 188, 190syl22anc 836 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁)))
192124zcnd 12426 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴𝑧) ∈ ℂ)
193156zcnd 12426 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐹)‘𝑧) ∈ ℂ)
19493adantr 481 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝐴 ∈ ℂ)
195186zcnd 12426 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐹‘(𝑧 + 1)) ∈ ℂ)
196192, 193, 194, 195mul4d 11187 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) = (((𝐴𝑧) · 𝐴) · ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))))
197194, 122expp1d 13863 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴↑(𝑧 + 1)) = ((𝐴𝑧) · 𝐴))
198 seqp1 13734 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ (ℤ‘1) → (seq1( · , 𝐹)‘(𝑧 + 1)) = ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1))))
199126, 198syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐹)‘(𝑧 + 1)) = ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1))))
200197, 199oveq12d 7289 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) = (((𝐴𝑧) · 𝐴) · ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))))
201196, 200eqtr4d 2783 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) = ((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))))
202201oveq1d 7286 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁))
203187zred 12425 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℝ)
204203, 188modcld 13593 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ ℝ)
205 modabs2 13623 . . . . . . . . . . . . . . . . . . 19 (((𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℝ ∧ 𝑁 ∈ ℝ+) → (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
206203, 188, 205syl2anc 584 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
207 modmul1 13642 . . . . . . . . . . . . . . . . . 18 (((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ ℝ ∧ (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℝ) ∧ ((seq1( · , 𝐺)‘𝑧) ∈ ℤ ∧ 𝑁 ∈ ℝ+) ∧ (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁)) → ((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁) = (((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
208204, 203, 167, 188, 206, 207syl221anc 1380 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁) = (((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
209 fveq2 6771 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑥 = (𝑧 + 1) → (𝐹𝑥) = (𝐹‘(𝑧 + 1)))
210209oveq2d 7287 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑥 = (𝑧 + 1) → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹‘(𝑧 + 1))))
211210oveq1d 7286 . . . . . . . . . . . . . . . . . . . . . 22 (𝑥 = (𝑧 + 1) → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
212 ovex 7304 . . . . . . . . . . . . . . . . . . . . . 22 ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ V
213211, 87, 212fvmpt 6872 . . . . . . . . . . . . . . . . . . . . 21 ((𝑧 + 1) ∈ 𝑇 → (𝐺‘(𝑧 + 1)) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
214178, 213syl 17 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐺‘(𝑧 + 1)) = ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁))
215214oveq2d 7287 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((seq1( · , 𝐺)‘𝑧) · (𝐺‘(𝑧 + 1))) = ((seq1( · , 𝐺)‘𝑧) · ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁)))
216 seqp1 13734 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ (ℤ‘1) → (seq1( · , 𝐺)‘(𝑧 + 1)) = ((seq1( · , 𝐺)‘𝑧) · (𝐺‘(𝑧 + 1))))
217126, 216syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘(𝑧 + 1)) = ((seq1( · , 𝐺)‘𝑧) · (𝐺‘(𝑧 + 1))))
218204recnd 11004 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) ∈ ℂ)
219167zcnd 12426 . . . . . . . . . . . . . . . . . . . 20 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘𝑧) ∈ ℂ)
220218, 219mulcomd 10997 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) = ((seq1( · , 𝐺)‘𝑧) · ((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁)))
221215, 217, 2203eqtr4d 2790 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (seq1( · , 𝐺)‘(𝑧 + 1)) = (((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)))
222221oveq1d 7286 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) = ((((𝐴 · (𝐹‘(𝑧 + 1))) mod 𝑁) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
223187zcnd 12426 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝐴 · (𝐹‘(𝑧 + 1))) ∈ ℂ)
224219, 223mulcomd 10997 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) = ((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)))
225224oveq1d 7286 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((𝐴 · (𝐹‘(𝑧 + 1))) · (seq1( · , 𝐺)‘𝑧)) mod 𝑁))
226208, 222, 2253eqtr4rd 2791 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁))
227202, 226eqeq12d 2756 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) = (((seq1( · , 𝐺)‘𝑧) · (𝐴 · (𝐹‘(𝑧 + 1)))) mod 𝑁) ↔ (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁)))
228191, 227sylibd 238 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) → (((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁)))
229102adantr 481 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → 𝑁 ∈ ℤ)
230229, 186gcdcomd 16219 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑁 gcd (𝐹‘(𝑧 + 1))) = ((𝐹‘(𝑧 + 1)) gcd 𝑁))
231183simprd 496 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝐹‘(𝑧 + 1)) gcd 𝑁) = 1)
232230, 231eqtrd 2780 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑁 gcd (𝐹‘(𝑧 + 1))) = 1)
233 rpmul 16362 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℤ ∧ (seq1( · , 𝐹)‘𝑧) ∈ ℤ ∧ (𝐹‘(𝑧 + 1)) ∈ ℤ) → (((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 ∧ (𝑁 gcd (𝐹‘(𝑧 + 1))) = 1) → (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
234229, 156, 186, 233syl3anc 1370 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 ∧ (𝑁 gcd (𝐹‘(𝑧 + 1))) = 1) → (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
235232, 234mpan2d 691 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 → (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
236199oveq2d 7287 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))))
237236eqeq1d 2742 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1 ↔ (𝑁 gcd ((seq1( · , 𝐹)‘𝑧) · (𝐹‘(𝑧 + 1)))) = 1))
238235, 237sylibrd 258 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → ((𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1 → (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))
239228, 238anim12d 609 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑧 ∈ ℕ ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1)))
240239an12s 646 . . . . . . . . . . . 12 ((𝑧 ∈ ℕ ∧ (𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁))) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1)))
241240ex 413 . . . . . . . . . . 11 (𝑧 ∈ ℕ → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → (((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))))
242241a2d 29 . . . . . . . . . 10 (𝑧 ∈ ℕ → (((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1)) → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))))
243119, 242syld 47 . . . . . . . . 9 (𝑧 ∈ ℕ → (((𝜑𝑧 ≤ (ϕ‘𝑁)) → ((((𝐴𝑧) · (seq1( · , 𝐹)‘𝑧)) mod 𝑁) = ((seq1( · , 𝐺)‘𝑧) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘𝑧)) = 1)) → ((𝜑 ∧ (𝑧 + 1) ≤ (ϕ‘𝑁)) → ((((𝐴↑(𝑧 + 1)) · (seq1( · , 𝐹)‘(𝑧 + 1))) mod 𝑁) = ((seq1( · , 𝐺)‘(𝑧 + 1)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(𝑧 + 1))) = 1))))
24419, 32, 45, 58, 108, 243nnind 11991 . . . . . . . 8 ((ϕ‘𝑁) ∈ ℕ → ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1)))
2456, 244mpcom 38 . . . . . . 7 ((𝜑 ∧ (ϕ‘𝑁) ≤ (ϕ‘𝑁)) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))
2465, 245mpdan 684 . . . . . 6 (𝜑 → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1))
247246simpld 495 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁))
2483nnnn0d 12293 . . . . . . . 8 (𝜑 → (ϕ‘𝑁) ∈ ℕ0)
249 zexpcl 13795 . . . . . . . 8 ((𝐴 ∈ ℤ ∧ (ϕ‘𝑁) ∈ ℕ0) → (𝐴↑(ϕ‘𝑁)) ∈ ℤ)
25059, 248, 249syl2anc 584 . . . . . . 7 (𝜑 → (𝐴↑(ϕ‘𝑁)) ∈ ℤ)
25167eleq2i 2832 . . . . . . . . 9 (𝑥𝑇𝑥 ∈ (1...(ϕ‘𝑁)))
252251, 151sylan2br 595 . . . . . . . 8 ((𝜑𝑥 ∈ (1...(ϕ‘𝑁))) → (𝐹𝑥) ∈ ℤ)
253154adantl 482 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ)) → (𝑥 · 𝑦) ∈ ℤ)
25464, 252, 253seqcl 13741 . . . . . . 7 (𝜑 → (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℤ)
255250, 254zmulcld 12431 . . . . . 6 (𝜑 → ((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) ∈ ℤ)
256 mulcl 10956 . . . . . . . . 9 ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ) → (𝑥 · 𝑦) ∈ ℂ)
257256adantl 482 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ)) → (𝑥 · 𝑦) ∈ ℂ)
258 mulcom 10958 . . . . . . . . 9 ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ) → (𝑥 · 𝑦) = (𝑦 · 𝑥))
259258adantl 482 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ)) → (𝑥 · 𝑦) = (𝑦 · 𝑥))
260 mulass 10960 . . . . . . . . 9 ((𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ 𝑧 ∈ ℂ) → ((𝑥 · 𝑦) · 𝑧) = (𝑥 · (𝑦 · 𝑧)))
261260adantl 482 . . . . . . . 8 ((𝜑 ∧ (𝑥 ∈ ℂ ∧ 𝑦 ∈ ℂ ∧ 𝑧 ∈ ℂ)) → ((𝑥 · 𝑦) · 𝑧) = (𝑥 · (𝑦 · 𝑧)))
262 ssidd 3949 . . . . . . . 8 (𝜑 → ℂ ⊆ ℂ)
263 f1ocnv 6726 . . . . . . . . . . 11 (𝐹:𝑇1-1-onto𝑆𝐹:𝑆1-1-onto𝑇)
26460, 263syl 17 . . . . . . . . . 10 (𝜑𝐹:𝑆1-1-onto𝑇)
2652adantr 481 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝑁 ∈ ℕ)
26659adantr 481 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝐴 ∈ ℤ)
26762ffvelrnda 6958 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑦𝑇) → (𝐹𝑦) ∈ 𝑆)
268267adantrr 714 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ 𝑆)
269159, 268sselid 3924 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ (0..^𝑁))
270 elfzoelz 13386 . . . . . . . . . . . . . . . . . 18 ((𝐹𝑦) ∈ (0..^𝑁) → (𝐹𝑦) ∈ ℤ)
271269, 270syl 17 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ ℤ)
272266, 271zmulcld 12431 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐴 · (𝐹𝑦)) ∈ ℤ)
27362ffvelrnda 6958 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑧𝑇) → (𝐹𝑧) ∈ 𝑆)
274273adantrl 713 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ 𝑆)
275159, 274sselid 3924 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ (0..^𝑁))
276 elfzoelz 13386 . . . . . . . . . . . . . . . . . 18 ((𝐹𝑧) ∈ (0..^𝑁) → (𝐹𝑧) ∈ ℤ)
277275, 276syl 17 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ ℤ)
278266, 277zmulcld 12431 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐴 · (𝐹𝑧)) ∈ ℤ)
279 moddvds 15972 . . . . . . . . . . . . . . . 16 ((𝑁 ∈ ℕ ∧ (𝐴 · (𝐹𝑦)) ∈ ℤ ∧ (𝐴 · (𝐹𝑧)) ∈ ℤ) → (((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁) ↔ 𝑁 ∥ ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧)))))
280265, 272, 278, 279syl3anc 1370 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁) ↔ 𝑁 ∥ ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧)))))
281 fveq2 6771 . . . . . . . . . . . . . . . . . . . 20 (𝑥 = 𝑦 → (𝐹𝑥) = (𝐹𝑦))
282281oveq2d 7287 . . . . . . . . . . . . . . . . . . 19 (𝑥 = 𝑦 → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹𝑦)))
283282oveq1d 7286 . . . . . . . . . . . . . . . . . 18 (𝑥 = 𝑦 → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹𝑦)) mod 𝑁))
284 ovex 7304 . . . . . . . . . . . . . . . . . 18 ((𝐴 · (𝐹𝑦)) mod 𝑁) ∈ V
285283, 87, 284fvmpt 6872 . . . . . . . . . . . . . . . . 17 (𝑦𝑇 → (𝐺𝑦) = ((𝐴 · (𝐹𝑦)) mod 𝑁))
286 fveq2 6771 . . . . . . . . . . . . . . . . . . . 20 (𝑥 = 𝑧 → (𝐹𝑥) = (𝐹𝑧))
287286oveq2d 7287 . . . . . . . . . . . . . . . . . . 19 (𝑥 = 𝑧 → (𝐴 · (𝐹𝑥)) = (𝐴 · (𝐹𝑧)))
288287oveq1d 7286 . . . . . . . . . . . . . . . . . 18 (𝑥 = 𝑧 → ((𝐴 · (𝐹𝑥)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁))
289 ovex 7304 . . . . . . . . . . . . . . . . . 18 ((𝐴 · (𝐹𝑧)) mod 𝑁) ∈ V
290288, 87, 289fvmpt 6872 . . . . . . . . . . . . . . . . 17 (𝑧𝑇 → (𝐺𝑧) = ((𝐴 · (𝐹𝑧)) mod 𝑁))
291285, 290eqeqan12d 2754 . . . . . . . . . . . . . . . 16 ((𝑦𝑇𝑧𝑇) → ((𝐺𝑦) = (𝐺𝑧) ↔ ((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁)))
292291adantl 482 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐺𝑦) = (𝐺𝑧) ↔ ((𝐴 · (𝐹𝑦)) mod 𝑁) = ((𝐴 · (𝐹𝑧)) mod 𝑁)))
29393adantr 481 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝐴 ∈ ℂ)
294271zcnd 12426 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ ℂ)
295277zcnd 12426 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ ℂ)
296293, 294, 295subdid 11431 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) = ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧))))
297296breq2d 5091 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ↔ 𝑁 ∥ ((𝐴 · (𝐹𝑦)) − (𝐴 · (𝐹𝑧)))))
298280, 292, 2973bitr4d 311 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐺𝑦) = (𝐺𝑧) ↔ 𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧)))))
299102, 59gcdcomd 16219 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝑁 gcd 𝐴) = (𝐴 gcd 𝑁))
3001simp3d 1143 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝐴 gcd 𝑁) = 1)
301299, 300eqtrd 2780 . . . . . . . . . . . . . . . 16 (𝜑 → (𝑁 gcd 𝐴) = 1)
302301adantr 481 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 gcd 𝐴) = 1)
303102adantr 481 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝑁 ∈ ℤ)
304271, 277zsubcld 12430 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) − (𝐹𝑧)) ∈ ℤ)
305 coprmdvds 16356 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ ∧ ((𝐹𝑦) − (𝐹𝑧)) ∈ ℤ) → ((𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
306303, 266, 304, 305syl3anc 1370 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
307271zred 12425 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) ∈ ℝ)
30880adantr 481 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 𝑁 ∈ ℝ+)
309 elfzole1 13394 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑦) ∈ (0..^𝑁) → 0 ≤ (𝐹𝑦))
310269, 309syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 0 ≤ (𝐹𝑦))
311 elfzolt2 13395 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑦) ∈ (0..^𝑁) → (𝐹𝑦) < 𝑁)
312269, 311syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑦) < 𝑁)
313 modid 13614 . . . . . . . . . . . . . . . . . . 19 ((((𝐹𝑦) ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ (𝐹𝑦) ∧ (𝐹𝑦) < 𝑁)) → ((𝐹𝑦) mod 𝑁) = (𝐹𝑦))
314307, 308, 310, 312, 313syl22anc 836 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) mod 𝑁) = (𝐹𝑦))
315277zred 12425 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) ∈ ℝ)
316 elfzole1 13394 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑧) ∈ (0..^𝑁) → 0 ≤ (𝐹𝑧))
317275, 316syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → 0 ≤ (𝐹𝑧))
318 elfzolt2 13395 . . . . . . . . . . . . . . . . . . . 20 ((𝐹𝑧) ∈ (0..^𝑁) → (𝐹𝑧) < 𝑁)
319275, 318syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝐹𝑧) < 𝑁)
320 modid 13614 . . . . . . . . . . . . . . . . . . 19 ((((𝐹𝑧) ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ (𝐹𝑧) ∧ (𝐹𝑧) < 𝑁)) → ((𝐹𝑧) mod 𝑁) = (𝐹𝑧))
321315, 308, 317, 319, 320syl22anc 836 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑧) mod 𝑁) = (𝐹𝑧))
322314, 321eqeq12d 2756 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (((𝐹𝑦) mod 𝑁) = ((𝐹𝑧) mod 𝑁) ↔ (𝐹𝑦) = (𝐹𝑧)))
323 moddvds 15972 . . . . . . . . . . . . . . . . . 18 ((𝑁 ∈ ℕ ∧ (𝐹𝑦) ∈ ℤ ∧ (𝐹𝑧) ∈ ℤ) → (((𝐹𝑦) mod 𝑁) = ((𝐹𝑧) mod 𝑁) ↔ 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
324265, 271, 277, 323syl3anc 1370 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (((𝐹𝑦) mod 𝑁) = ((𝐹𝑧) mod 𝑁) ↔ 𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧))))
325 f1of1 6713 . . . . . . . . . . . . . . . . . . 19 (𝐹:𝑇1-1-onto𝑆𝐹:𝑇1-1𝑆)
32660, 325syl 17 . . . . . . . . . . . . . . . . . 18 (𝜑𝐹:𝑇1-1𝑆)
327 f1fveq 7132 . . . . . . . . . . . . . . . . . 18 ((𝐹:𝑇1-1𝑆 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) = (𝐹𝑧) ↔ 𝑦 = 𝑧))
328326, 327sylan 580 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐹𝑦) = (𝐹𝑧) ↔ 𝑦 = 𝑧))
329322, 324, 3283bitr3d 309 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 ∥ ((𝐹𝑦) − (𝐹𝑧)) ↔ 𝑦 = 𝑧))
330306, 329sylibd 238 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) ∧ (𝑁 gcd 𝐴) = 1) → 𝑦 = 𝑧))
331302, 330mpan2d 691 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → (𝑁 ∥ (𝐴 · ((𝐹𝑦) − (𝐹𝑧))) → 𝑦 = 𝑧))
332298, 331sylbid 239 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑦𝑇𝑧𝑇)) → ((𝐺𝑦) = (𝐺𝑧) → 𝑦 = 𝑧))
333332ralrimivva 3117 . . . . . . . . . . . 12 (𝜑 → ∀𝑦𝑇𝑧𝑇 ((𝐺𝑦) = (𝐺𝑧) → 𝑦 = 𝑧))
334 dff13 7125 . . . . . . . . . . . 12 (𝐺:𝑇1-1𝑆 ↔ (𝐺:𝑇𝑆 ∧ ∀𝑦𝑇𝑧𝑇 ((𝐺𝑦) = (𝐺𝑧) → 𝑦 = 𝑧)))
335160, 333, 334sylanbrc 583 . . . . . . . . . . 11 (𝜑𝐺:𝑇1-1𝑆)
33667ovexi 7305 . . . . . . . . . . . . . 14 𝑇 ∈ V
337336f1oen 8744 . . . . . . . . . . . . 13 (𝐹:𝑇1-1-onto𝑆𝑇𝑆)
33860, 337syl 17 . . . . . . . . . . . 12 (𝜑𝑇𝑆)
339 fzofi 13692 . . . . . . . . . . . . 13 (0..^𝑁) ∈ Fin
340 ssfi 8938 . . . . . . . . . . . . 13 (((0..^𝑁) ∈ Fin ∧ 𝑆 ⊆ (0..^𝑁)) → 𝑆 ∈ Fin)
341339, 159, 340mp2an 689 . . . . . . . . . . . 12 𝑆 ∈ Fin
342 f1finf1o 9024 . . . . . . . . . . . 12 ((𝑇𝑆𝑆 ∈ Fin) → (𝐺:𝑇1-1𝑆𝐺:𝑇1-1-onto𝑆))
343338, 341, 342sylancl 586 . . . . . . . . . . 11 (𝜑 → (𝐺:𝑇1-1𝑆𝐺:𝑇1-1-onto𝑆))
344335, 343mpbid 231 . . . . . . . . . 10 (𝜑𝐺:𝑇1-1-onto𝑆)
345 f1oco 6736 . . . . . . . . . 10 ((𝐹:𝑆1-1-onto𝑇𝐺:𝑇1-1-onto𝑆) → (𝐹𝐺):𝑇1-1-onto𝑇)
346264, 344, 345syl2anc 584 . . . . . . . . 9 (𝜑 → (𝐹𝐺):𝑇1-1-onto𝑇)
347 f1oeq23 6705 . . . . . . . . . 10 ((𝑇 = (1...(ϕ‘𝑁)) ∧ 𝑇 = (1...(ϕ‘𝑁))) → ((𝐹𝐺):𝑇1-1-onto𝑇 ↔ (𝐹𝐺):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁))))
34867, 67, 347mp2an 689 . . . . . . . . 9 ((𝐹𝐺):𝑇1-1-onto𝑇 ↔ (𝐹𝐺):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁)))
349346, 348sylib 217 . . . . . . . 8 (𝜑 → (𝐹𝐺):(1...(ϕ‘𝑁))–1-1-onto→(1...(ϕ‘𝑁)))
350252zcnd 12426 . . . . . . . 8 ((𝜑𝑥 ∈ (1...(ϕ‘𝑁))) → (𝐹𝑥) ∈ ℂ)
35167eleq2i 2832 . . . . . . . . 9 (𝑤𝑇𝑤 ∈ (1...(ϕ‘𝑁)))
352 fvco3 6864 . . . . . . . . . . . 12 ((𝐺:𝑇𝑆𝑤𝑇) → ((𝐹𝐺)‘𝑤) = (𝐹‘(𝐺𝑤)))
353160, 352sylan 580 . . . . . . . . . . 11 ((𝜑𝑤𝑇) → ((𝐹𝐺)‘𝑤) = (𝐹‘(𝐺𝑤)))
354353fveq2d 6775 . . . . . . . . . 10 ((𝜑𝑤𝑇) → (𝐹‘((𝐹𝐺)‘𝑤)) = (𝐹‘(𝐹‘(𝐺𝑤))))
35560adantr 481 . . . . . . . . . . 11 ((𝜑𝑤𝑇) → 𝐹:𝑇1-1-onto𝑆)
356160ffvelrnda 6958 . . . . . . . . . . 11 ((𝜑𝑤𝑇) → (𝐺𝑤) ∈ 𝑆)
357 f1ocnvfv2 7146 . . . . . . . . . . 11 ((𝐹:𝑇1-1-onto𝑆 ∧ (𝐺𝑤) ∈ 𝑆) → (𝐹‘(𝐹‘(𝐺𝑤))) = (𝐺𝑤))
358355, 356, 357syl2anc 584 . . . . . . . . . 10 ((𝜑𝑤𝑇) → (𝐹‘(𝐹‘(𝐺𝑤))) = (𝐺𝑤))
359354, 358eqtr2d 2781 . . . . . . . . 9 ((𝜑𝑤𝑇) → (𝐺𝑤) = (𝐹‘((𝐹𝐺)‘𝑤)))
360351, 359sylan2br 595 . . . . . . . 8 ((𝜑𝑤 ∈ (1...(ϕ‘𝑁))) → (𝐺𝑤) = (𝐹‘((𝐹𝐺)‘𝑤)))
361257, 259, 261, 64, 262, 349, 350, 360seqf1o 13762 . . . . . . 7 (𝜑 → (seq1( · , 𝐺)‘(ϕ‘𝑁)) = (seq1( · , 𝐹)‘(ϕ‘𝑁)))
362361, 254eqeltrd 2841 . . . . . 6 (𝜑 → (seq1( · , 𝐺)‘(ϕ‘𝑁)) ∈ ℤ)
363 moddvds 15972 . . . . . 6 ((𝑁 ∈ ℕ ∧ ((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) ∈ ℤ ∧ (seq1( · , 𝐺)‘(ϕ‘𝑁)) ∈ ℤ) → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ↔ 𝑁 ∥ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁)))))
3642, 255, 362, 363syl3anc 1370 . . . . 5 (𝜑 → ((((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) mod 𝑁) = ((seq1( · , 𝐺)‘(ϕ‘𝑁)) mod 𝑁) ↔ 𝑁 ∥ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁)))))
365247, 364mpbid 231 . . . 4 (𝜑𝑁 ∥ (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁))))
366254zcnd 12426 . . . . . . . 8 (𝜑 → (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℂ)
367366mulid2d 10994 . . . . . . 7 (𝜑 → (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (seq1( · , 𝐹)‘(ϕ‘𝑁)))
368361, 367eqtr4d 2783 . . . . . 6 (𝜑 → (seq1( · , 𝐺)‘(ϕ‘𝑁)) = (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁))))
369368oveq2d 7287 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
370250zcnd 12426 . . . . . 6 (𝜑 → (𝐴↑(ϕ‘𝑁)) ∈ ℂ)
371 ax-1cn 10930 . . . . . . 7 1 ∈ ℂ
372 subdir 11409 . . . . . . 7 (((𝐴↑(ϕ‘𝑁)) ∈ ℂ ∧ 1 ∈ ℂ ∧ (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℂ) → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
373371, 372mp3an2 1448 . . . . . 6 (((𝐴↑(ϕ‘𝑁)) ∈ ℂ ∧ (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℂ) → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
374370, 366, 373syl2anc 584 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (1 · (seq1( · , 𝐹)‘(ϕ‘𝑁)))))
375 zsubcl 12362 . . . . . . . 8 (((𝐴↑(ϕ‘𝑁)) ∈ ℤ ∧ 1 ∈ ℤ) → ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℤ)
376250, 83, 375sylancl 586 . . . . . . 7 (𝜑 → ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℤ)
377376zcnd 12426 . . . . . 6 (𝜑 → ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℂ)
378377, 366mulcomd 10997 . . . . 5 (𝜑 → (((𝐴↑(ϕ‘𝑁)) − 1) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) = ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)))
379369, 374, 3783eqtr2d 2786 . . . 4 (𝜑 → (((𝐴↑(ϕ‘𝑁)) · (seq1( · , 𝐹)‘(ϕ‘𝑁))) − (seq1( · , 𝐺)‘(ϕ‘𝑁))) = ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)))
380365, 379breqtrd 5105 . . 3 (𝜑𝑁 ∥ ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)))
381246simprd 496 . . 3 (𝜑 → (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1)
382 coprmdvds 16356 . . . 4 ((𝑁 ∈ ℤ ∧ (seq1( · , 𝐹)‘(ϕ‘𝑁)) ∈ ℤ ∧ ((𝐴↑(ϕ‘𝑁)) − 1) ∈ ℤ) → ((𝑁 ∥ ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1) → 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
383102, 254, 376, 382syl3anc 1370 . . 3 (𝜑 → ((𝑁 ∥ ((seq1( · , 𝐹)‘(ϕ‘𝑁)) · ((𝐴↑(ϕ‘𝑁)) − 1)) ∧ (𝑁 gcd (seq1( · , 𝐹)‘(ϕ‘𝑁))) = 1) → 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
384380, 381, 383mp2and 696 . 2 (𝜑𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1))
385 moddvds 15972 . . . 4 ((𝑁 ∈ ℕ ∧ (𝐴↑(ϕ‘𝑁)) ∈ ℤ ∧ 1 ∈ ℤ) → (((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁) ↔ 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
38683, 385mp3an3 1449 . . 3 ((𝑁 ∈ ℕ ∧ (𝐴↑(ϕ‘𝑁)) ∈ ℤ) → (((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁) ↔ 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
3872, 250, 386syl2anc 584 . 2 (𝜑 → (((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁) ↔ 𝑁 ∥ ((𝐴↑(ϕ‘𝑁)) − 1)))
388384, 387mpbird 256 1 (𝜑 → ((𝐴↑(ϕ‘𝑁)) mod 𝑁) = (1 mod 𝑁))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 396  w3a 1086   = wceq 1542  wcel 2110  wral 3066  {crab 3070  wss 3892   class class class wbr 5079  cmpt 5162  ccnv 5589  ccom 5594  wf 6428  1-1wf1 6429  1-1-ontowf1o 6431  cfv 6432  (class class class)co 7271  cen 8713  Fincfn 8716  cc 10870  cr 10871  0cc0 10872  1c1 10873   + caddc 10875   · cmul 10877   < clt 11010  cle 11011  cmin 11205  cn 11973  0cn0 12233  cz 12319  cuz 12581  +crp 12729  ...cfz 13238  ..^cfzo 13381   mod cmo 13587  seqcseq 13719  cexp 13780  cdvds 15961   gcd cgcd 16199  ϕcphi 16463
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1975  ax-7 2015  ax-8 2112  ax-9 2120  ax-10 2141  ax-11 2158  ax-12 2175  ax-ext 2711  ax-rep 5214  ax-sep 5227  ax-nul 5234  ax-pow 5292  ax-pr 5356  ax-un 7582  ax-cnex 10928  ax-resscn 10929  ax-1cn 10930  ax-icn 10931  ax-addcl 10932  ax-addrcl 10933  ax-mulcl 10934  ax-mulrcl 10935  ax-mulcom 10936  ax-addass 10937  ax-mulass 10938  ax-distr 10939  ax-i2m1 10940  ax-1ne0 10941  ax-1rid 10942  ax-rnegex 10943  ax-rrecex 10944  ax-cnre 10945  ax-pre-lttri 10946  ax-pre-lttrn 10947  ax-pre-ltadd 10948  ax-pre-mulgt0 10949  ax-pre-sup 10950
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3or 1087  df-3an 1088  df-tru 1545  df-fal 1555  df-ex 1787  df-nf 1791  df-sb 2072  df-mo 2542  df-eu 2571  df-clab 2718  df-cleq 2732  df-clel 2818  df-nfc 2891  df-ne 2946  df-nel 3052  df-ral 3071  df-rex 3072  df-reu 3073  df-rmo 3074  df-rab 3075  df-v 3433  df-sbc 3721  df-csb 3838  df-dif 3895  df-un 3897  df-in 3899  df-ss 3909  df-pss 3911  df-nul 4263  df-if 4466  df-pw 4541  df-sn 4568  df-pr 4570  df-op 4574  df-uni 4846  df-int 4886  df-iun 4932  df-br 5080  df-opab 5142  df-mpt 5163  df-tr 5197  df-id 5490  df-eprel 5496  df-po 5504  df-so 5505  df-fr 5545  df-we 5547  df-xp 5596  df-rel 5597  df-cnv 5598  df-co 5599  df-dm 5600  df-rn 5601  df-res 5602  df-ima 5603  df-pred 6201  df-ord 6268  df-on 6269  df-lim 6270  df-suc 6271  df-iota 6390  df-fun 6434  df-fn 6435  df-f 6436  df-f1 6437  df-fo 6438  df-f1o 6439  df-fv 6440  df-riota 7228  df-ov 7274  df-oprab 7275  df-mpo 7276  df-om 7707  df-1st 7824  df-2nd 7825  df-frecs 8088  df-wrecs 8119  df-recs 8193  df-rdg 8232  df-1o 8288  df-oadd 8292  df-er 8481  df-map 8600  df-en 8717  df-dom 8718  df-sdom 8719  df-fin 8720  df-sup 9179  df-inf 9180  df-card 9698  df-pnf 11012  df-mnf 11013  df-xr 11014  df-ltxr 11015  df-le 11016  df-sub 11207  df-neg 11208  df-div 11633  df-nn 11974  df-2 12036  df-3 12037  df-n0 12234  df-xnn0 12306  df-z 12320  df-uz 12582  df-rp 12730  df-fz 13239  df-fzo 13382  df-fl 13510  df-mod 13588  df-seq 13720  df-exp 13781  df-hash 14043  df-cj 14808  df-re 14809  df-im 14810  df-sqrt 14944  df-abs 14945  df-dvds 15962  df-gcd 16200  df-phi 16465
This theorem is referenced by:  eulerth  16482
  Copyright terms: Public domain W3C validator