Metamath Proof Explorer


Theorem dchrinv

Description: The inverse of a Dirichlet character is the conjugate (which is also the multiplicative inverse, because the values of X are unimodular). (Contributed by Mario Carneiro, 28-Apr-2016)

Ref Expression
Hypotheses dchrabs.g 𝐺 = ( DChr ‘ 𝑁 )
dchrabs.d 𝐷 = ( Base ‘ 𝐺 )
dchrabs.x ( 𝜑𝑋𝐷 )
dchrinv.i 𝐼 = ( invg𝐺 )
Assertion dchrinv ( 𝜑 → ( 𝐼𝑋 ) = ( ∗ ∘ 𝑋 ) )

Proof

Step Hyp Ref Expression
1 dchrabs.g 𝐺 = ( DChr ‘ 𝑁 )
2 dchrabs.d 𝐷 = ( Base ‘ 𝐺 )
3 dchrabs.x ( 𝜑𝑋𝐷 )
4 dchrinv.i 𝐼 = ( invg𝐺 )
5 eqid ( ℤ/nℤ ‘ 𝑁 ) = ( ℤ/nℤ ‘ 𝑁 )
6 eqid ( +g𝐺 ) = ( +g𝐺 )
7 cjf ∗ : ℂ ⟶ ℂ
8 eqid ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) = ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) )
9 1 5 2 8 3 dchrf ( 𝜑𝑋 : ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ⟶ ℂ )
10 fco ( ( ∗ : ℂ ⟶ ℂ ∧ 𝑋 : ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ⟶ ℂ ) → ( ∗ ∘ 𝑋 ) : ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ⟶ ℂ )
11 7 9 10 sylancr ( 𝜑 → ( ∗ ∘ 𝑋 ) : ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ⟶ ℂ )
12 eqid ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) = ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) )
13 1 2 dchrrcl ( 𝑋𝐷𝑁 ∈ ℕ )
14 3 13 syl ( 𝜑𝑁 ∈ ℕ )
15 1 5 8 12 14 2 dchrelbas3 ( 𝜑 → ( 𝑋𝐷 ↔ ( 𝑋 : ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ⟶ ℂ ∧ ( ∀ 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∀ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( 𝑋 ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) = ( ( 𝑋𝑥 ) · ( 𝑋𝑦 ) ) ∧ ( 𝑋 ‘ ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) = 1 ∧ ∀ 𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( ( 𝑋𝑥 ) ≠ 0 → 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) ) ) )
16 3 15 mpbid ( 𝜑 → ( 𝑋 : ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ⟶ ℂ ∧ ( ∀ 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∀ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( 𝑋 ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) = ( ( 𝑋𝑥 ) · ( 𝑋𝑦 ) ) ∧ ( 𝑋 ‘ ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) = 1 ∧ ∀ 𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( ( 𝑋𝑥 ) ≠ 0 → 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) ) )
17 16 simprd ( 𝜑 → ( ∀ 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∀ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( 𝑋 ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) = ( ( 𝑋𝑥 ) · ( 𝑋𝑦 ) ) ∧ ( 𝑋 ‘ ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) = 1 ∧ ∀ 𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( ( 𝑋𝑥 ) ≠ 0 → 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) )
18 17 simp1d ( 𝜑 → ∀ 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∀ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( 𝑋 ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) = ( ( 𝑋𝑥 ) · ( 𝑋𝑦 ) ) )
19 18 r19.21bi ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ∀ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( 𝑋 ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) = ( ( 𝑋𝑥 ) · ( 𝑋𝑦 ) ) )
20 19 r19.21bi ( ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( 𝑋 ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) = ( ( 𝑋𝑥 ) · ( 𝑋𝑦 ) ) )
21 20 anasss ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → ( 𝑋 ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) = ( ( 𝑋𝑥 ) · ( 𝑋𝑦 ) ) )
22 21 fveq2d ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → ( ∗ ‘ ( 𝑋 ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) ) = ( ∗ ‘ ( ( 𝑋𝑥 ) · ( 𝑋𝑦 ) ) ) )
23 9 adantr ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → 𝑋 : ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ⟶ ℂ )
24 8 12 unitss ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ⊆ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) )
25 simprl ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) )
26 24 25 sseldi ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → 𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) )
27 23 26 ffvelrnd ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → ( 𝑋𝑥 ) ∈ ℂ )
28 simprr ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) )
29 24 28 sseldi ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → 𝑦 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) )
30 23 29 ffvelrnd ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → ( 𝑋𝑦 ) ∈ ℂ )
31 27 30 cjmuld ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → ( ∗ ‘ ( ( 𝑋𝑥 ) · ( 𝑋𝑦 ) ) ) = ( ( ∗ ‘ ( 𝑋𝑥 ) ) · ( ∗ ‘ ( 𝑋𝑦 ) ) ) )
32 22 31 eqtrd ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → ( ∗ ‘ ( 𝑋 ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) ) = ( ( ∗ ‘ ( 𝑋𝑥 ) ) · ( ∗ ‘ ( 𝑋𝑦 ) ) ) )
33 14 nnnn0d ( 𝜑𝑁 ∈ ℕ0 )
34 5 zncrng ( 𝑁 ∈ ℕ0 → ( ℤ/nℤ ‘ 𝑁 ) ∈ CRing )
35 crngring ( ( ℤ/nℤ ‘ 𝑁 ) ∈ CRing → ( ℤ/nℤ ‘ 𝑁 ) ∈ Ring )
36 33 34 35 3syl ( 𝜑 → ( ℤ/nℤ ‘ 𝑁 ) ∈ Ring )
37 36 adantr ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → ( ℤ/nℤ ‘ 𝑁 ) ∈ Ring )
38 eqid ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) = ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) )
39 8 38 ringcl ( ( ( ℤ/nℤ ‘ 𝑁 ) ∈ Ring ∧ 𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) )
40 37 26 29 39 syl3anc ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) )
41 fvco3 ( ( 𝑋 : ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ⟶ ℂ ∧ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( ∗ ∘ 𝑋 ) ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) = ( ∗ ‘ ( 𝑋 ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) ) )
42 23 40 41 syl2anc ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → ( ( ∗ ∘ 𝑋 ) ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) = ( ∗ ‘ ( 𝑋 ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) ) )
43 fvco3 ( ( 𝑋 : ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ⟶ ℂ ∧ 𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) = ( ∗ ‘ ( 𝑋𝑥 ) ) )
44 23 26 43 syl2anc ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) = ( ∗ ‘ ( 𝑋𝑥 ) ) )
45 fvco3 ( ( 𝑋 : ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ⟶ ℂ ∧ 𝑦 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( ∗ ∘ 𝑋 ) ‘ 𝑦 ) = ( ∗ ‘ ( 𝑋𝑦 ) ) )
46 23 29 45 syl2anc ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → ( ( ∗ ∘ 𝑋 ) ‘ 𝑦 ) = ( ∗ ‘ ( 𝑋𝑦 ) ) )
47 44 46 oveq12d ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → ( ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) · ( ( ∗ ∘ 𝑋 ) ‘ 𝑦 ) ) = ( ( ∗ ‘ ( 𝑋𝑥 ) ) · ( ∗ ‘ ( 𝑋𝑦 ) ) ) )
48 32 42 47 3eqtr4d ( ( 𝜑 ∧ ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → ( ( ∗ ∘ 𝑋 ) ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) = ( ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) · ( ( ∗ ∘ 𝑋 ) ‘ 𝑦 ) ) )
49 48 ralrimivva ( 𝜑 → ∀ 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∀ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( ( ∗ ∘ 𝑋 ) ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) = ( ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) · ( ( ∗ ∘ 𝑋 ) ‘ 𝑦 ) ) )
50 eqid ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) = ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) )
51 8 50 ringidcl ( ( ℤ/nℤ ‘ 𝑁 ) ∈ Ring → ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) )
52 36 51 syl ( 𝜑 → ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) )
53 fvco3 ( ( 𝑋 : ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ⟶ ℂ ∧ ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( ∗ ∘ 𝑋 ) ‘ ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) = ( ∗ ‘ ( 𝑋 ‘ ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) )
54 9 52 53 syl2anc ( 𝜑 → ( ( ∗ ∘ 𝑋 ) ‘ ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) = ( ∗ ‘ ( 𝑋 ‘ ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) )
55 17 simp2d ( 𝜑 → ( 𝑋 ‘ ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) = 1 )
56 55 fveq2d ( 𝜑 → ( ∗ ‘ ( 𝑋 ‘ ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) = ( ∗ ‘ 1 ) )
57 1re 1 ∈ ℝ
58 cjre ( 1 ∈ ℝ → ( ∗ ‘ 1 ) = 1 )
59 57 58 ax-mp ( ∗ ‘ 1 ) = 1
60 56 59 eqtrdi ( 𝜑 → ( ∗ ‘ ( 𝑋 ‘ ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) = 1 )
61 54 60 eqtrd ( 𝜑 → ( ( ∗ ∘ 𝑋 ) ‘ ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) = 1 )
62 17 simp3d ( 𝜑 → ∀ 𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( ( 𝑋𝑥 ) ≠ 0 → 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) )
63 9 43 sylan ( ( 𝜑𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) = ( ∗ ‘ ( 𝑋𝑥 ) ) )
64 cj0 ( ∗ ‘ 0 ) = 0
65 64 eqcomi 0 = ( ∗ ‘ 0 )
66 65 a1i ( ( 𝜑𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → 0 = ( ∗ ‘ 0 ) )
67 63 66 eqeq12d ( ( 𝜑𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) = 0 ↔ ( ∗ ‘ ( 𝑋𝑥 ) ) = ( ∗ ‘ 0 ) ) )
68 9 ffvelrnda ( ( 𝜑𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( 𝑋𝑥 ) ∈ ℂ )
69 0cn 0 ∈ ℂ
70 cj11 ( ( ( 𝑋𝑥 ) ∈ ℂ ∧ 0 ∈ ℂ ) → ( ( ∗ ‘ ( 𝑋𝑥 ) ) = ( ∗ ‘ 0 ) ↔ ( 𝑋𝑥 ) = 0 ) )
71 68 69 70 sylancl ( ( 𝜑𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( ∗ ‘ ( 𝑋𝑥 ) ) = ( ∗ ‘ 0 ) ↔ ( 𝑋𝑥 ) = 0 ) )
72 67 71 bitrd ( ( 𝜑𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) = 0 ↔ ( 𝑋𝑥 ) = 0 ) )
73 72 necon3bid ( ( 𝜑𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) ≠ 0 ↔ ( 𝑋𝑥 ) ≠ 0 ) )
74 73 imbi1d ( ( 𝜑𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) ≠ 0 → 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ↔ ( ( 𝑋𝑥 ) ≠ 0 → 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) )
75 74 ralbidva ( 𝜑 → ( ∀ 𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) ≠ 0 → 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ↔ ∀ 𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( ( 𝑋𝑥 ) ≠ 0 → 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) )
76 62 75 mpbird ( 𝜑 → ∀ 𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) ≠ 0 → 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) )
77 49 61 76 3jca ( 𝜑 → ( ∀ 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∀ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( ( ∗ ∘ 𝑋 ) ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) = ( ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) · ( ( ∗ ∘ 𝑋 ) ‘ 𝑦 ) ) ∧ ( ( ∗ ∘ 𝑋 ) ‘ ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) = 1 ∧ ∀ 𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) ≠ 0 → 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) )
78 1 5 8 12 14 2 dchrelbas3 ( 𝜑 → ( ( ∗ ∘ 𝑋 ) ∈ 𝐷 ↔ ( ( ∗ ∘ 𝑋 ) : ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ⟶ ℂ ∧ ( ∀ 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∀ 𝑦 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( ( ∗ ∘ 𝑋 ) ‘ ( 𝑥 ( .r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) 𝑦 ) ) = ( ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) · ( ( ∗ ∘ 𝑋 ) ‘ 𝑦 ) ) ∧ ( ( ∗ ∘ 𝑋 ) ‘ ( 1r ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) = 1 ∧ ∀ 𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) ≠ 0 → 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) ) ) )
79 11 77 78 mpbir2and ( 𝜑 → ( ∗ ∘ 𝑋 ) ∈ 𝐷 )
80 1 5 2 6 3 79 dchrmul ( 𝜑 → ( 𝑋 ( +g𝐺 ) ( ∗ ∘ 𝑋 ) ) = ( 𝑋f · ( ∗ ∘ 𝑋 ) ) )
81 80 adantr ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( 𝑋 ( +g𝐺 ) ( ∗ ∘ 𝑋 ) ) = ( 𝑋f · ( ∗ ∘ 𝑋 ) ) )
82 81 fveq1d ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( 𝑋 ( +g𝐺 ) ( ∗ ∘ 𝑋 ) ) ‘ 𝑥 ) = ( ( 𝑋f · ( ∗ ∘ 𝑋 ) ) ‘ 𝑥 ) )
83 24 sseli ( 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) → 𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) )
84 83 63 sylan2 ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) = ( ∗ ‘ ( 𝑋𝑥 ) ) )
85 84 oveq2d ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( 𝑋𝑥 ) · ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) ) = ( ( 𝑋𝑥 ) · ( ∗ ‘ ( 𝑋𝑥 ) ) ) )
86 83 68 sylan2 ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( 𝑋𝑥 ) ∈ ℂ )
87 86 absvalsqd ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( abs ‘ ( 𝑋𝑥 ) ) ↑ 2 ) = ( ( 𝑋𝑥 ) · ( ∗ ‘ ( 𝑋𝑥 ) ) ) )
88 3 adantr ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → 𝑋𝐷 )
89 simpr ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) )
90 1 2 88 5 12 89 dchrabs ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( abs ‘ ( 𝑋𝑥 ) ) = 1 )
91 90 oveq1d ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( abs ‘ ( 𝑋𝑥 ) ) ↑ 2 ) = ( 1 ↑ 2 ) )
92 sq1 ( 1 ↑ 2 ) = 1
93 91 92 eqtrdi ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( abs ‘ ( 𝑋𝑥 ) ) ↑ 2 ) = 1 )
94 85 87 93 3eqtr2d ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( 𝑋𝑥 ) · ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) ) = 1 )
95 9 adantr ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → 𝑋 : ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ⟶ ℂ )
96 95 ffnd ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → 𝑋 Fn ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) )
97 11 ffnd ( 𝜑 → ( ∗ ∘ 𝑋 ) Fn ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) )
98 97 adantr ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ∗ ∘ 𝑋 ) Fn ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) )
99 fvexd ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∈ V )
100 83 adantl ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → 𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) )
101 fnfvof ( ( ( 𝑋 Fn ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∧ ( ∗ ∘ 𝑋 ) Fn ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ∧ ( ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ∈ V ∧ 𝑥 ∈ ( Base ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) ) → ( ( 𝑋f · ( ∗ ∘ 𝑋 ) ) ‘ 𝑥 ) = ( ( 𝑋𝑥 ) · ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) ) )
102 96 98 99 100 101 syl22anc ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( 𝑋f · ( ∗ ∘ 𝑋 ) ) ‘ 𝑥 ) = ( ( 𝑋𝑥 ) · ( ( ∗ ∘ 𝑋 ) ‘ 𝑥 ) ) )
103 eqid ( 0g𝐺 ) = ( 0g𝐺 )
104 14 adantr ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → 𝑁 ∈ ℕ )
105 1 5 103 12 104 89 dchr1 ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( 0g𝐺 ) ‘ 𝑥 ) = 1 )
106 94 102 105 3eqtr4d ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( 𝑋f · ( ∗ ∘ 𝑋 ) ) ‘ 𝑥 ) = ( ( 0g𝐺 ) ‘ 𝑥 ) )
107 82 106 eqtrd ( ( 𝜑𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ) → ( ( 𝑋 ( +g𝐺 ) ( ∗ ∘ 𝑋 ) ) ‘ 𝑥 ) = ( ( 0g𝐺 ) ‘ 𝑥 ) )
108 107 ralrimiva ( 𝜑 → ∀ 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( ( 𝑋 ( +g𝐺 ) ( ∗ ∘ 𝑋 ) ) ‘ 𝑥 ) = ( ( 0g𝐺 ) ‘ 𝑥 ) )
109 1 5 2 6 3 79 dchrmulcl ( 𝜑 → ( 𝑋 ( +g𝐺 ) ( ∗ ∘ 𝑋 ) ) ∈ 𝐷 )
110 1 dchrabl ( 𝑁 ∈ ℕ → 𝐺 ∈ Abel )
111 ablgrp ( 𝐺 ∈ Abel → 𝐺 ∈ Grp )
112 14 110 111 3syl ( 𝜑𝐺 ∈ Grp )
113 2 103 grpidcl ( 𝐺 ∈ Grp → ( 0g𝐺 ) ∈ 𝐷 )
114 112 113 syl ( 𝜑 → ( 0g𝐺 ) ∈ 𝐷 )
115 1 5 2 12 109 114 dchreq ( 𝜑 → ( ( 𝑋 ( +g𝐺 ) ( ∗ ∘ 𝑋 ) ) = ( 0g𝐺 ) ↔ ∀ 𝑥 ∈ ( Unit ‘ ( ℤ/nℤ ‘ 𝑁 ) ) ( ( 𝑋 ( +g𝐺 ) ( ∗ ∘ 𝑋 ) ) ‘ 𝑥 ) = ( ( 0g𝐺 ) ‘ 𝑥 ) ) )
116 108 115 mpbird ( 𝜑 → ( 𝑋 ( +g𝐺 ) ( ∗ ∘ 𝑋 ) ) = ( 0g𝐺 ) )
117 2 6 103 4 grpinvid1 ( ( 𝐺 ∈ Grp ∧ 𝑋𝐷 ∧ ( ∗ ∘ 𝑋 ) ∈ 𝐷 ) → ( ( 𝐼𝑋 ) = ( ∗ ∘ 𝑋 ) ↔ ( 𝑋 ( +g𝐺 ) ( ∗ ∘ 𝑋 ) ) = ( 0g𝐺 ) ) )
118 112 3 79 117 syl3anc ( 𝜑 → ( ( 𝐼𝑋 ) = ( ∗ ∘ 𝑋 ) ↔ ( 𝑋 ( +g𝐺 ) ( ∗ ∘ 𝑋 ) ) = ( 0g𝐺 ) ) )
119 116 118 mpbird ( 𝜑 → ( 𝐼𝑋 ) = ( ∗ ∘ 𝑋 ) )