Users' Mathboxes Mathbox for metakunt < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  isprimroot Structured version   Visualization version   GIF version

Theorem isprimroot 42585
Description: The value of a primitive root. (Contributed by metakunt, 25-Apr-2025.)
Hypotheses
Ref Expression
isprimroot.1 (𝜑𝑅 ∈ CMnd)
isprimroot.2 (𝜑𝐾 ∈ ℕ0)
isprimroot.3 = (.g𝑅)
Assertion
Ref Expression
isprimroot (𝜑 → (𝑀 ∈ (𝑅 PrimRoots 𝐾) ↔ (𝑀 ∈ (Base‘𝑅) ∧ (𝐾 𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙 𝑀) = (0g𝑅) → 𝐾𝑙))))
Distinct variable groups:   𝐾,𝑙   𝑀,𝑙   𝑅,𝑙   𝜑,𝑙
Allowed substitution hint:   (𝑙)

Proof of Theorem isprimroot
Dummy variables 𝑏 𝑘 𝑟 𝑥 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 df-primroots 42584 . . . . . 6 PrimRoots = (𝑟 ∈ CMnd, 𝑘 ∈ ℕ0(Base‘𝑟) / 𝑏{𝑥𝑏 ∣ ((𝑘(.g𝑟)𝑥) = (0g𝑟) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙))})
21a1i 11 . . . . 5 (𝜑 → PrimRoots = (𝑟 ∈ CMnd, 𝑘 ∈ ℕ0(Base‘𝑟) / 𝑏{𝑥𝑏 ∣ ((𝑘(.g𝑟)𝑥) = (0g𝑟) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙))}))
3 simprl 776 . . . . . . 7 ((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) → 𝑟 = 𝑅)
43fveq2d 6838 . . . . . 6 ((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) → (Base‘𝑟) = (Base‘𝑅))
5 simplrl 782 . . . . . . . . . . 11 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → 𝑟 = 𝑅)
65fveq2d 6838 . . . . . . . . . 10 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (.g𝑟) = (.g𝑅))
7 simplrr 783 . . . . . . . . . 10 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → 𝑘 = 𝐾)
8 eqidd 2741 . . . . . . . . . 10 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → 𝑥 = 𝑥)
96, 7, 8oveq123d 7384 . . . . . . . . 9 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (𝑘(.g𝑟)𝑥) = (𝐾(.g𝑅)𝑥))
105fveq2d 6838 . . . . . . . . 9 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (0g𝑟) = (0g𝑅))
119, 10eqeq12d 2756 . . . . . . . 8 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → ((𝑘(.g𝑟)𝑥) = (0g𝑟) ↔ (𝐾(.g𝑅)𝑥) = (0g𝑅)))
123fveq2d 6838 . . . . . . . . . . . 12 ((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) → (.g𝑟) = (.g𝑅))
1312oveqdr 7391 . . . . . . . . . . 11 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (𝑙(.g𝑟)𝑥) = (𝑙(.g𝑅)𝑥))
1413, 10eqeq12d 2756 . . . . . . . . . 10 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → ((𝑙(.g𝑟)𝑥) = (0g𝑟) ↔ (𝑙(.g𝑅)𝑥) = (0g𝑅)))
157breq1d 5089 . . . . . . . . . 10 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (𝑘𝑙𝐾𝑙))
1614, 15imbi12d 345 . . . . . . . . 9 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙) ↔ ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙)))
1716ralbidv 3163 . . . . . . . 8 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (∀𝑙 ∈ ℕ0 ((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙) ↔ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙)))
1811, 17anbi12d 638 . . . . . . 7 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (((𝑘(.g𝑟)𝑥) = (0g𝑟) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙)) ↔ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))))
1918rabbidva 3398 . . . . . 6 ((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) → {𝑥𝑏 ∣ ((𝑘(.g𝑟)𝑥) = (0g𝑟) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙))} = {𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))})
204, 19csbeq12dv 3847 . . . . 5 ((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) → (Base‘𝑟) / 𝑏{𝑥𝑏 ∣ ((𝑘(.g𝑟)𝑥) = (0g𝑟) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙))} = (Base‘𝑅) / 𝑏{𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))})
21 isprimroot.1 . . . . 5 (𝜑𝑅 ∈ CMnd)
22 isprimroot.2 . . . . 5 (𝜑𝐾 ∈ ℕ0)
23 eqid 2740 . . . . . . 7 {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} = {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))}
24 fvexd 6849 . . . . . . 7 (𝜑 → (Base‘𝑅) ∈ V)
2523, 24rabexd 5275 . . . . . 6 (𝜑 → {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} ∈ V)
26 simpr 485 . . . . . . . . 9 ((𝜑𝑏 = (Base‘𝑅)) → 𝑏 = (Base‘𝑅))
2726rabeqdv 3407 . . . . . . . 8 ((𝜑𝑏 = (Base‘𝑅)) → {𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} = {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))})
2824, 27csbied 3874 . . . . . . 7 (𝜑(Base‘𝑅) / 𝑏{𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} = {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))})
2928eleq1d 2825 . . . . . 6 (𝜑 → ((Base‘𝑅) / 𝑏{𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} ∈ V ↔ {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} ∈ V))
3025, 29mpbird 258 . . . . 5 (𝜑(Base‘𝑅) / 𝑏{𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} ∈ V)
312, 20, 21, 22, 30ovmpod 7515 . . . 4 (𝜑 → (𝑅 PrimRoots 𝐾) = (Base‘𝑅) / 𝑏{𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))})
3231, 28eqtrd 2775 . . 3 (𝜑 → (𝑅 PrimRoots 𝐾) = {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))})
3332eleq2d 2826 . 2 (𝜑 → (𝑀 ∈ (𝑅 PrimRoots 𝐾) ↔ 𝑀 ∈ {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))}))
34 oveq2 7371 . . . . . . 7 (𝑥 = 𝑀 → (𝐾(.g𝑅)𝑥) = (𝐾(.g𝑅)𝑀))
3534eqeq1d 2742 . . . . . 6 (𝑥 = 𝑀 → ((𝐾(.g𝑅)𝑥) = (0g𝑅) ↔ (𝐾(.g𝑅)𝑀) = (0g𝑅)))
36 oveq2 7371 . . . . . . . . 9 (𝑥 = 𝑀 → (𝑙(.g𝑅)𝑥) = (𝑙(.g𝑅)𝑀))
3736eqeq1d 2742 . . . . . . . 8 (𝑥 = 𝑀 → ((𝑙(.g𝑅)𝑥) = (0g𝑅) ↔ (𝑙(.g𝑅)𝑀) = (0g𝑅)))
3837imbi1d 342 . . . . . . 7 (𝑥 = 𝑀 → (((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙) ↔ ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙)))
3938ralbidv 3163 . . . . . 6 (𝑥 = 𝑀 → (∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙) ↔ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙)))
4035, 39anbi12d 638 . . . . 5 (𝑥 = 𝑀 → (((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙)) ↔ ((𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙))))
4140elrab 3636 . . . 4 (𝑀 ∈ {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} ↔ (𝑀 ∈ (Base‘𝑅) ∧ ((𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙))))
4241a1i 11 . . 3 (𝜑 → (𝑀 ∈ {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} ↔ (𝑀 ∈ (Base‘𝑅) ∧ ((𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙)))))
43 3anass 1100 . . . . . 6 ((𝑀 ∈ (Base‘𝑅) ∧ (𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙)) ↔ (𝑀 ∈ (Base‘𝑅) ∧ ((𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙))))
4443bicomi 225 . . . . 5 ((𝑀 ∈ (Base‘𝑅) ∧ ((𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙))) ↔ (𝑀 ∈ (Base‘𝑅) ∧ (𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙)))
4544a1i 11 . . . 4 (𝜑 → ((𝑀 ∈ (Base‘𝑅) ∧ ((𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙))) ↔ (𝑀 ∈ (Base‘𝑅) ∧ (𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙))))
46 biidd 263 . . . . 5 (𝜑 → (𝑀 ∈ (Base‘𝑅) ↔ 𝑀 ∈ (Base‘𝑅)))
47 isprimroot.3 . . . . . . . . 9 = (.g𝑅)
4847eqcomi 2749 . . . . . . . 8 (.g𝑅) =
4948a1i 11 . . . . . . 7 (𝜑 → (.g𝑅) = )
5049oveqd 7380 . . . . . 6 (𝜑 → (𝐾(.g𝑅)𝑀) = (𝐾 𝑀))
5150eqeq1d 2742 . . . . 5 (𝜑 → ((𝐾(.g𝑅)𝑀) = (0g𝑅) ↔ (𝐾 𝑀) = (0g𝑅)))
5249oveqd 7380 . . . . . . . 8 (𝜑 → (𝑙(.g𝑅)𝑀) = (𝑙 𝑀))
5352eqeq1d 2742 . . . . . . 7 (𝜑 → ((𝑙(.g𝑅)𝑀) = (0g𝑅) ↔ (𝑙 𝑀) = (0g𝑅)))
5453imbi1d 342 . . . . . 6 (𝜑 → (((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙) ↔ ((𝑙 𝑀) = (0g𝑅) → 𝐾𝑙)))
5554ralbidv 3163 . . . . 5 (𝜑 → (∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙) ↔ ∀𝑙 ∈ ℕ0 ((𝑙 𝑀) = (0g𝑅) → 𝐾𝑙)))
5646, 51, 553anbi123d 1444 . . . 4 (𝜑 → ((𝑀 ∈ (Base‘𝑅) ∧ (𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙)) ↔ (𝑀 ∈ (Base‘𝑅) ∧ (𝐾 𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙 𝑀) = (0g𝑅) → 𝐾𝑙))))
5745, 56bitrd 280 . . 3 (𝜑 → ((𝑀 ∈ (Base‘𝑅) ∧ ((𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙))) ↔ (𝑀 ∈ (Base‘𝑅) ∧ (𝐾 𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙 𝑀) = (0g𝑅) → 𝐾𝑙))))
5842, 57bitrd 280 . 2 (𝜑 → (𝑀 ∈ {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} ↔ (𝑀 ∈ (Base‘𝑅) ∧ (𝐾 𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙 𝑀) = (0g𝑅) → 𝐾𝑙))))
5933, 58bitrd 280 1 (𝜑 → (𝑀 ∈ (𝑅 PrimRoots 𝐾) ↔ (𝑀 ∈ (Base‘𝑅) ∧ (𝐾 𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙 𝑀) = (0g𝑅) → 𝐾𝑙))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 207  wa 396  w3a 1092   = wceq 1547  wcel 2119  wral 3054  {crab 3392  Vcvv 3432  csb 3838   class class class wbr 5079  cfv 6492  (class class class)co 7363  cmpo 7365  0cn0 12435  cdvds 16219  Basecbs 17177  0gc0g 17400  .gcmg 19041  CMndccmn 19753   PrimRoots cprimroots 42583
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 1974  ax-7 2015  ax-8 2121  ax-9 2129  ax-10 2152  ax-11 2168  ax-12 2189  ax-ext 2712  ax-sep 5225  ax-nul 5235  ax-pr 5369
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 854  df-3an 1094  df-tru 1550  df-fal 1560  df-ex 1787  df-nf 1791  df-sb 2074  df-mo 2543  df-eu 2573  df-clab 2719  df-cleq 2732  df-clel 2815  df-nfc 2889  df-ne 2936  df-ral 3055  df-rex 3065  df-rab 3393  df-v 3434  df-sbc 3731  df-csb 3839  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-nul 4269  df-if 4462  df-pw 4538  df-sn 4563  df-pr 4565  df-op 4569  df-uni 4846  df-br 5080  df-opab 5142  df-id 5520  df-xp 5631  df-rel 5632  df-cnv 5633  df-co 5634  df-dm 5635  df-iota 6448  df-fun 6494  df-fv 6500  df-ov 7366  df-oprab 7367  df-mpo 7368  df-primroots 42584
This theorem is referenced by:  isprimroot2  42586  primrootsunit1  42589  primrootscoprmpow  42591  primrootscoprbij  42594  primrootlekpowne0  42597  primrootspoweq0  42598  aks6d1c1p2  42601  aks6d1c1p3  42602  aks6d1c1p4  42603  aks6d1c1p5  42604  aks6d1c1p7  42605  aks6d1c1p6  42606  aks6d1c1p8  42607  aks6d1c2lem3  42618  aks6d1c2lem4  42619  aks6d1c6lem2  42663  aks6d1c6lem3  42664  aks6d1c6lem4  42665  aks6d1c6isolem1  42666  aks6d1c6isolem2  42667  aks6d1c6lem5  42669  aks5lem2  42679  aks5lem3a  42681
  Copyright terms: Public domain W3C validator