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 42967
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 42966 . . . . . 6 PrimRoots = (𝑟 ∈ CMnd, 𝑘 ∈ ℕ0(Base‘𝑟) / 𝑏{𝑥𝑏 ∣ ((𝑘(.g𝑟)𝑥) = (0g𝑟) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙))})
21a1i 11 . . . . 5 (𝜑 → PrimRoots = (𝑟 ∈ CMnd, 𝑘 ∈ ℕ0(Base‘𝑟) / 𝑏{𝑥𝑏 ∣ ((𝑘(.g𝑟)𝑥) = (0g𝑟) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙))}))
3 simprl 783 . . . . . . 7 ((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) → 𝑟 = 𝑅)
43fveq2d 6886 . . . . . 6 ((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) → (Base‘𝑟) = (Base‘𝑅))
5 simplrl 789 . . . . . . . . . . 11 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → 𝑟 = 𝑅)
65fveq2d 6886 . . . . . . . . . 10 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (.g𝑟) = (.g𝑅))
7 simplrr 790 . . . . . . . . . 10 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → 𝑘 = 𝐾)
8 eqidd 2763 . . . . . . . . . 10 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → 𝑥 = 𝑥)
96, 7, 8oveq123d 7438 . . . . . . . . 9 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (𝑘(.g𝑟)𝑥) = (𝐾(.g𝑅)𝑥))
105fveq2d 6886 . . . . . . . . 9 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (0g𝑟) = (0g𝑅))
119, 10eqeq12d 2778 . . . . . . . 8 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → ((𝑘(.g𝑟)𝑥) = (0g𝑟) ↔ (𝐾(.g𝑅)𝑥) = (0g𝑅)))
123fveq2d 6886 . . . . . . . . . . . 12 ((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) → (.g𝑟) = (.g𝑅))
1312oveqdr 7445 . . . . . . . . . . 11 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (𝑙(.g𝑟)𝑥) = (𝑙(.g𝑅)𝑥))
1413, 10eqeq12d 2778 . . . . . . . . . 10 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → ((𝑙(.g𝑟)𝑥) = (0g𝑟) ↔ (𝑙(.g𝑅)𝑥) = (0g𝑅)))
157breq1d 5117 . . . . . . . . . 10 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (𝑘𝑙𝐾𝑙))
1614, 15imbi12d 347 . . . . . . . . 9 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙) ↔ ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙)))
1716ralbidv 3187 . . . . . . . 8 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (∀𝑙 ∈ ℕ0 ((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙) ↔ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙)))
1811, 17anbi12d 644 . . . . . . 7 (((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) ∧ 𝑥𝑏) → (((𝑘(.g𝑟)𝑥) = (0g𝑟) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙)) ↔ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))))
1918rabbidva 3420 . . . . . 6 ((𝜑 ∧ (𝑟 = 𝑅𝑘 = 𝐾)) → {𝑥𝑏 ∣ ((𝑘(.g𝑟)𝑥) = (0g𝑟) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑟)𝑥) = (0g𝑟) → 𝑘𝑙))} = {𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))})
204, 19csbeq12dv 3859 . . . . 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 2762 . . . . . . 7 {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} = {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))}
24 fvexd 6897 . . . . . . 7 (𝜑 → (Base‘𝑅) ∈ V)
2523, 24rabexd 5308 . . . . . 6 (𝜑 → {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} ∈ V)
26 simpr 490 . . . . . . . . 9 ((𝜑𝑏 = (Base‘𝑅)) → 𝑏 = (Base‘𝑅))
2726rabeqdv 3429 . . . . . . . 8 ((𝜑𝑏 = (Base‘𝑅)) → {𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} = {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))})
2824, 27csbied 3886 . . . . . . 7 (𝜑(Base‘𝑅) / 𝑏{𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))} = {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))})
2928eleq1d 2847 . . . . . 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 7569 . . . 4 (𝜑 → (𝑅 PrimRoots 𝐾) = (Base‘𝑅) / 𝑏{𝑥𝑏 ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))})
3231, 28eqtrd 2797 . . 3 (𝜑 → (𝑅 PrimRoots 𝐾) = {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))})
3332eleq2d 2848 . 2 (𝜑 → (𝑀 ∈ (𝑅 PrimRoots 𝐾) ↔ 𝑀 ∈ {𝑥 ∈ (Base‘𝑅) ∣ ((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙))}))
34 oveq2 7425 . . . . . . 7 (𝑥 = 𝑀 → (𝐾(.g𝑅)𝑥) = (𝐾(.g𝑅)𝑀))
3534eqeq1d 2764 . . . . . 6 (𝑥 = 𝑀 → ((𝐾(.g𝑅)𝑥) = (0g𝑅) ↔ (𝐾(.g𝑅)𝑀) = (0g𝑅)))
36 oveq2 7425 . . . . . . . . 9 (𝑥 = 𝑀 → (𝑙(.g𝑅)𝑥) = (𝑙(.g𝑅)𝑀))
3736eqeq1d 2764 . . . . . . . 8 (𝑥 = 𝑀 → ((𝑙(.g𝑅)𝑥) = (0g𝑅) ↔ (𝑙(.g𝑅)𝑀) = (0g𝑅)))
3837imbi1d 344 . . . . . . 7 (𝑥 = 𝑀 → (((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙) ↔ ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙)))
3938ralbidv 3187 . . . . . 6 (𝑥 = 𝑀 → (∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙) ↔ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙)))
4035, 39anbi12d 644 . . . . 5 (𝑥 = 𝑀 → (((𝐾(.g𝑅)𝑥) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑥) = (0g𝑅) → 𝐾𝑙)) ↔ ((𝐾(.g𝑅)𝑀) = (0g𝑅) ∧ ∀𝑙 ∈ ℕ0 ((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙))))
4140elrab 3648 . . . 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 2771 . . . . . . . 8 (.g𝑅) =
4948a1i 11 . . . . . . 7 (𝜑 → (.g𝑅) = )
5049oveqd 7434 . . . . . 6 (𝜑 → (𝐾(.g𝑅)𝑀) = (𝐾 𝑀))
5150eqeq1d 2764 . . . . 5 (𝜑 → ((𝐾(.g𝑅)𝑀) = (0g𝑅) ↔ (𝐾 𝑀) = (0g𝑅)))
5249oveqd 7434 . . . . . . . 8 (𝜑 → (𝑙(.g𝑅)𝑀) = (𝑙 𝑀))
5352eqeq1d 2764 . . . . . . 7 (𝜑 → ((𝑙(.g𝑅)𝑀) = (0g𝑅) ↔ (𝑙 𝑀) = (0g𝑅)))
5453imbi1d 344 . . . . . 6 (𝜑 → (((𝑙(.g𝑅)𝑀) = (0g𝑅) → 𝐾𝑙) ↔ ((𝑙 𝑀) = (0g𝑅) → 𝐾𝑙)))
5554ralbidv 3187 . . . . 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
This proof depends on syntax axioms:  wi 4  wb 209  wa 401  w3a 1103   = wceq 1570  wcel 2145  wral 3078  {crab 3414  Vcvv 3453  csb 3850   class class class wbr 5107  cfv 6537  (class class class)co 7417  cmpo 7419  0cn0 12532  cdvds 16348  Basecbs 17307  0gc0g 17530  .gcmg 19196  CMndccmn 19913   PrimRoots cprimroots 42965
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2215  ax-ext 2734  ax-sep 5255  ax-nul 5267  ax-pr 5402
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-ral 3079  df-rex 3089  df-rab 3415  df-v 3455  df-sbc 3743  df-csb 3851  df-dif 3905  df-un 3907  df-in 3909  df-ss 3919  df-nul 4283  df-if 4486  df-pw 4562  df-sn 4588  df-pr 4590  df-op 4594  df-uni 4871  df-br 5108  df-opab 5172  df-id 5554  df-xp 5665  df-rel 5666  df-cnv 5667  df-co 5668  df-dm 5669  df-iota 6493  df-fun 6539  df-fv 6545  df-ov 7420  df-oprab 7421  df-mpo 7422  df-primroots 42966
This theorem is used by:  isprimroot2  42968  primrootsunit1  42971  primrootscoprmpow  42973  primrootscoprbij  42976  primrootlekpowne0  42979  primrootspoweq0  42980  aks6d1c1p2  42983  aks6d1c1p3  42984  aks6d1c1p4  42985  aks6d1c1p5  42986  aks6d1c1p7  42987  aks6d1c1p6  42988  aks6d1c1p8  42989  aks6d1c2lem3  43000  aks6d1c2lem4  43001  aks6d1c6lem2  43045  aks6d1c6lem3  43046  aks6d1c6lem4  43047  aks6d1c6isolem1  43048  aks6d1c6isolem2  43049  aks6d1c6lem5  43051  aks5lem2  43061  aks5lem3a  43063
  Copyright terms: Public domain W3C validator