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 42838
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 42837 . . . . . 6 PrimRoots = (𝑟 ∈ CMnd, 𝑘 ∈ ℕ0(Base‘𝑟) / 𝑏{𝑥𝑏 ∣ ((𝑘(.g𝑟)𝑥) = (0g𝑟) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙))})
21a1i 11 . . . . 5 (𝜑 → PrimRoots = (𝑟 ∈ CMnd, 𝑘 ∈ ℕ0(Base‘𝑟) / 𝑏{𝑥𝑏 ∣ ((𝑘(.g𝑟)𝑥) = (0g𝑟) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙))}))
3 simprl 782 . . . . . . 7 ((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) → 𝑟 = 𝑅)
43fveq2d 6887 . . . . . 6 ((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) → (Base‘𝑟) = (Base‘𝑅))
5 simplrl 788 . . . . . . . . . . 11 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → 𝑟 = 𝑅)
65fveq2d 6887 . . . . . . . . . 10 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (.g𝑟) = (.g𝑅))
7 simplrr 789 . . . . . . . . . 10 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → 𝑘 = 𝐾)
8 eqidd 2764 . . . . . . . . . 10 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → 𝑥 = 𝑥)
96, 7, 8oveq123d 7433 . . . . . . . . 9 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (𝑘(.g𝑟)𝑥) = (𝐾(.g𝑅)𝑥))
105fveq2d 6887 . . . . . . . . 9 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (0g𝑟) = (0g𝑅))
119, 10eqeq12d 2779 . . . . . . . 8 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → ((𝑘(.g𝑟)𝑥) = (0g𝑟) ↔ (𝐾(.g𝑅)𝑥) = (0g𝑅)))
123fveq2d 6887 . . . . . . . . . . . 12 ((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) → (.g𝑟) = (.g𝑅))
1312oveqdr 7440 . . . . . . . . . . 11 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (𝑙(.g𝑟)𝑥) = (𝑙(.g𝑅)𝑥))
1413, 10eqeq12d 2779 . . . . . . . . . 10 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → ((𝑙(.g𝑟)𝑥) = (0g𝑟) ↔ (𝑙(.g𝑅)𝑥) = (0g𝑅)))
157breq1d 5120 . . . . . . . . . 10 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (𝑘𝑙𝐾𝑙))
1614, 15imbi12d 347 . . . . . . . . 9 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙) ↔ ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙)))
1716ralbidv 3188 . . . . . . . 8 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (∀𝑙 ∈ ℕ0 ((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙) ↔ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙)))
1811, 17anbi12d 643 . . . . . . 7 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (((𝑘(.g𝑟)𝑥) = (0g𝑟) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙)) ↔ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))))
1918rabbidva 3422 . . . . . 6 ((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) → {𝑥𝑏 ∣ ((𝑘(.g𝑟)𝑥) = (0g𝑟) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙))} = {𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))})
204, 19csbeq12dv 3863 . . . . 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 2763 . . . . . . 7 {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} = {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))}
24 fvexd 6898 . . . . . . 7 (𝜑 → (Base‘𝑅) ∈ V)
2523, 24rabexd 5312 . . . . . 6 (𝜑 → {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} ∈ V)
26 simpr 489 . . . . . . . . 9 ((𝜑𝑏 = (Base‘𝑅)) → 𝑏 = (Base‘𝑅))
2726rabeqdv 3431 . . . . . . . 8 ((𝜑𝑏 = (Base‘𝑅)) → {𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} = {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))})
2824, 27csbied 3890 . . . . . . 7 (𝜑(Base‘𝑅) / 𝑏{𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} = {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))})
2928eleq1d 2848 . . . . . 6 (𝜑 → ((Base‘𝑅) / 𝑏{𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} ∈ V ↔ {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} ∈ V))
3025, 29mpbird 260 . . . . 5 (𝜑(Base‘𝑅) / 𝑏{𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} ∈ V)
312, 20, 21, 22, 30ovmpod 7564 . . . 4 (𝜑 → (𝑅 PrimRoots 𝐾) = (Base‘𝑅) / 𝑏{𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))})
3231, 28eqtrd 2798 . . 3 (𝜑 → (𝑅 PrimRoots 𝐾) = {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))})
3332eleq2d 2849 . 2 (𝜑 → (𝑀 ∈ (𝑅 PrimRoots 𝐾) ↔ 𝑀 ∈ {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))}))
34 oveq2 7420 . . . . . . 7 (𝑥 = 𝑀 → (𝐾(.g𝑅)𝑥) = (𝐾(.g𝑅)𝑀))
3534eqeq1d 2765 . . . . . 6 (𝑥 = 𝑀 → ((𝐾(.g𝑅)𝑥) = (0g𝑅) ↔ (𝐾(.g𝑅)𝑀) = (0g𝑅)))
36 oveq2 7420 . . . . . . . . 9 (𝑥 = 𝑀 → (𝑙(.g𝑅)𝑥) = (𝑙(.g𝑅)𝑀))
3736eqeq1d 2765 . . . . . . . 8 (𝑥 = 𝑀 → ((𝑙(.g𝑅)𝑥) = (0g𝑅) ↔ (𝑙(.g𝑅)𝑀) = (0g𝑅)))
3837imbi1d 344 . . . . . . 7 (𝑥 = 𝑀 → (((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙) ↔ ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙)))
3938ralbidv 3188 . . . . . 6 (𝑥 = 𝑀 → (∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙) ↔ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙)))
4035, 39anbi12d 643 . . . . 5 (𝑥 = 𝑀 → (((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙)) ↔ ((𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙))))
4140elrab 3651 . . . 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 1111 . . . . . 6 ((𝑀 ∈ (Base‘𝑅) ∧ (𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙)) ↔ (𝑀 ∈ (Base‘𝑅) ∧ ((𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙))))
4443bicomi 227 . . . . 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 265 . . . . 5 (𝜑 → (𝑀 ∈ (Base‘𝑅) ↔ 𝑀 ∈ (Base‘𝑅)))
47 isprimroot.3 . . . . . . . . 9 = (.g𝑅)
4847eqcomi 2772 . . . . . . . 8 (.g𝑅) =
4948a1i 11 . . . . . . 7 (𝜑 → (.g𝑅) = )
5049oveqd 7429 . . . . . 6 (𝜑 → (𝐾(.g𝑅)𝑀) = (𝐾 𝑀))
5150eqeq1d 2765 . . . . 5 (𝜑 → ((𝐾(.g𝑅)𝑀) = (0g𝑅) ↔ (𝐾 𝑀) = (0g𝑅)))
5249oveqd 7429 . . . . . . . 8 (𝜑 → (𝑙(.g𝑅)𝑀) = (𝑙 𝑀))
5352eqeq1d 2765 . . . . . . 7 (𝜑 → ((𝑙(.g𝑅)𝑀) = (0g𝑅) ↔ (𝑙 𝑀) = (0g𝑅)))
5453imbi1d 344 . . . . . 6 (𝜑 → (((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙) ↔ ((𝑙 𝑀) = (0g𝑅) → 𝐾𝑙)))
5554ralbidv 3188 . . . . 5 (𝜑 → (∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙) ↔ ∀𝑙 ∈ ℕ0 ((𝑙 𝑀) = (0g𝑅) → 𝐾𝑙)))
5646, 51, 553anbi123d 1464 . . . 4 (𝜑 → ((𝑀 ∈ (Base‘𝑅) ∧ (𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙)) ↔ (𝑀 ∈ (Base‘𝑅) ∧ (𝐾 𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙 𝑀) = (0g𝑅) → 𝐾𝑙))))
5745, 56bitrd 282 . . 3 (𝜑 → ((𝑀 ∈ (Base‘𝑅) ∧ ((𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙))) ↔ (𝑀 ∈ (Base‘𝑅) ∧ (𝐾 𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙 𝑀) = (0g𝑅) → 𝐾𝑙))))
5842, 57bitrd 282 . 2 (𝜑 → (𝑀 ∈ {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} ↔ (𝑀 ∈ (Base‘𝑅) ∧ (𝐾 𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙 𝑀) = (0g𝑅) → 𝐾𝑙))))
5933, 58bitrd 282 1 (𝜑 → (𝑀 ∈ (𝑅 PrimRoots 𝐾) ↔ (𝑀 ∈ (Base‘𝑅) ∧ (𝐾 𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙 𝑀) = (0g𝑅) → 𝐾𝑙))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 400  w3a 1103   = wceq 1570  wcel 2143  wral 3079  {crab 3416  Vcvv 3455  csb 3854   class class class wbr 5110  cfv 6538  (class class class)co 7412  cmpo 7414  0cn0 12505  cdvds 16311  Basecbs 17270  0gc0g 17493  .gcmg 19134  CMndccmn 19851   PrimRoots cprimroots 42836
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1825  ax-4 1839  ax-5 1940  ax-6 1997  ax-7 2038  ax-8 2145  ax-9 2153  ax-10 2176  ax-11 2192  ax-12 2213  ax-ext 2735  ax-sep 5258  ax-nul 5270  ax-pr 5406
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1810  df-nf 1814  df-sb 2097  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2838  df-nfc 2912  df-ne 2959  df-ral 3080  df-rex 3090  df-rab 3417  df-v 3457  df-sbc 3746  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-nul 4288  df-if 4489  df-pw 4565  df-sn 4591  df-pr 4593  df-op 4597  df-uni 4874  df-br 5111  df-opab 5175  df-id 5558  df-xp 5669  df-rel 5670  df-cnv 5671  df-co 5672  df-dm 5673  df-iota 6494  df-fun 6540  df-fv 6546  df-ov 7415  df-oprab 7416  df-mpo 7417  df-primroots 42837
This theorem is referenced by:  isprimroot2  42839  primrootsunit1  42842  primrootscoprmpow  42844  primrootscoprbij  42847  primrootlekpowne0  42850  primrootspoweq0  42851  aks6d1c1p2  42854  aks6d1c1p3  42855  aks6d1c1p4  42856  aks6d1c1p5  42857  aks6d1c1p7  42858  aks6d1c1p6  42859  aks6d1c1p8  42860  aks6d1c2lem3  42871  aks6d1c2lem4  42872  aks6d1c6lem2  42916  aks6d1c6lem3  42917  aks6d1c6lem4  42918  aks6d1c6isolem1  42919  aks6d1c6isolem2  42920  aks6d1c6lem5  42922  aks5lem2  42932  aks5lem3a  42934
  Copyright terms: Public domain W3C validator