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

Theorem hashecclwwlksn1 26837
Description: The size of every equivalence class of the equivalence relation over the set of closed walks (defined as words) with a fixed length which is a prime number is 1 or equals this length. (Contributed by Alexander van der Vekens, 17-Jun-2018.) (Revised by AV, 1-May-2021.)
Hypotheses
Ref Expression
erclwwlksn.w 𝑊 = (𝑁 ClWWalksN 𝐺)
erclwwlksn.r = {⟨𝑡, 𝑢⟩ ∣ (𝑡𝑊𝑢𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑡 = (𝑢 cyclShift 𝑛))}
Assertion
Ref Expression
hashecclwwlksn1 ((𝑁 ∈ ℙ ∧ 𝑈 ∈ (𝑊 / )) → ((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁))
Distinct variable groups:   𝑡,𝑊,𝑢   𝑛,𝑁,𝑢,𝑡   𝑛,𝑊   𝑛,𝐺,𝑢   𝑈,𝑛,𝑢
Allowed substitution hints:   (𝑢,𝑡,𝑛)   𝑈(𝑡)   𝐺(𝑡)

Proof of Theorem hashecclwwlksn1
Dummy variables 𝑥 𝑦 𝑚 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 erclwwlksn.w . . . . 5 𝑊 = (𝑁 ClWWalksN 𝐺)
2 erclwwlksn.r . . . . 5 = {⟨𝑡, 𝑢⟩ ∣ (𝑡𝑊𝑢𝑊 ∧ ∃𝑛 ∈ (0...𝑁)𝑡 = (𝑢 cyclShift 𝑛))}
31, 2eclclwwlksn1 26835 . . . 4 (𝑈 ∈ (𝑊 / ) → (𝑈 ∈ (𝑊 / ) ↔ ∃𝑥𝑊 𝑈 = {𝑦𝑊 ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)}))
4 rabeq 3182 . . . . . . . . . 10 (𝑊 = (𝑁 ClWWalksN 𝐺) → {𝑦𝑊 ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)} = {𝑦 ∈ (𝑁 ClWWalksN 𝐺) ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)})
51, 4mp1i 13 . . . . . . . . 9 ((𝑁 ∈ ℙ ∧ 𝑥𝑊) → {𝑦𝑊 ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)} = {𝑦 ∈ (𝑁 ClWWalksN 𝐺) ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)})
6 prmnn 15323 . . . . . . . . . . 11 (𝑁 ∈ ℙ → 𝑁 ∈ ℕ)
76nnnn0d 11303 . . . . . . . . . 10 (𝑁 ∈ ℙ → 𝑁 ∈ ℕ0)
81eleq2i 2690 . . . . . . . . . . 11 (𝑥𝑊𝑥 ∈ (𝑁 ClWWalksN 𝐺))
98biimpi 206 . . . . . . . . . 10 (𝑥𝑊𝑥 ∈ (𝑁 ClWWalksN 𝐺))
10 clwwlksnscsh 26823 . . . . . . . . . 10 ((𝑁 ∈ ℕ0𝑥 ∈ (𝑁 ClWWalksN 𝐺)) → {𝑦 ∈ (𝑁 ClWWalksN 𝐺) ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)} = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)})
117, 9, 10syl2an 494 . . . . . . . . 9 ((𝑁 ∈ ℙ ∧ 𝑥𝑊) → {𝑦 ∈ (𝑁 ClWWalksN 𝐺) ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)} = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)})
125, 11eqtrd 2655 . . . . . . . 8 ((𝑁 ∈ ℙ ∧ 𝑥𝑊) → {𝑦𝑊 ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)} = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)})
1312eqeq2d 2631 . . . . . . 7 ((𝑁 ∈ ℙ ∧ 𝑥𝑊) → (𝑈 = {𝑦𝑊 ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)} ↔ 𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)}))
14 simpll 789 . . . . . . . . . . . . . . . 16 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) ∧ 𝑁 ∈ ℕ) → 𝑥 ∈ Word (Vtx‘𝐺))
15 elnnne0 11258 . . . . . . . . . . . . . . . . . 18 (𝑁 ∈ ℕ ↔ (𝑁 ∈ ℕ0𝑁 ≠ 0))
16 eqeq1 2625 . . . . . . . . . . . . . . . . . . . . . 22 (𝑁 = (#‘𝑥) → (𝑁 = 0 ↔ (#‘𝑥) = 0))
1716eqcoms 2629 . . . . . . . . . . . . . . . . . . . . 21 ((#‘𝑥) = 𝑁 → (𝑁 = 0 ↔ (#‘𝑥) = 0))
18 hasheq0 13102 . . . . . . . . . . . . . . . . . . . . 21 (𝑥 ∈ Word (Vtx‘𝐺) → ((#‘𝑥) = 0 ↔ 𝑥 = ∅))
1917, 18sylan9bbr 736 . . . . . . . . . . . . . . . . . . . 20 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) → (𝑁 = 0 ↔ 𝑥 = ∅))
2019necon3bid 2834 . . . . . . . . . . . . . . . . . . 19 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) → (𝑁 ≠ 0 ↔ 𝑥 ≠ ∅))
2120biimpcd 239 . . . . . . . . . . . . . . . . . 18 (𝑁 ≠ 0 → ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) → 𝑥 ≠ ∅))
2215, 21simplbiim 658 . . . . . . . . . . . . . . . . 17 (𝑁 ∈ ℕ → ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) → 𝑥 ≠ ∅))
2322impcom 446 . . . . . . . . . . . . . . . 16 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) ∧ 𝑁 ∈ ℕ) → 𝑥 ≠ ∅)
24 simplr 791 . . . . . . . . . . . . . . . . 17 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) ∧ 𝑁 ∈ ℕ) → (#‘𝑥) = 𝑁)
2524eqcomd 2627 . . . . . . . . . . . . . . . 16 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) ∧ 𝑁 ∈ ℕ) → 𝑁 = (#‘𝑥))
2614, 23, 253jca 1240 . . . . . . . . . . . . . . 15 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) ∧ 𝑁 ∈ ℕ) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑥 ≠ ∅ ∧ 𝑁 = (#‘𝑥)))
2726ex 450 . . . . . . . . . . . . . 14 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) → (𝑁 ∈ ℕ → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑥 ≠ ∅ ∧ 𝑁 = (#‘𝑥))))
28 eqid 2621 . . . . . . . . . . . . . . 15 (Vtx‘𝐺) = (Vtx‘𝐺)
2928clwwlknbp 26769 . . . . . . . . . . . . . 14 (𝑥 ∈ (𝑁 ClWWalksN 𝐺) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁))
3027, 29syl11 33 . . . . . . . . . . . . 13 (𝑁 ∈ ℕ → (𝑥 ∈ (𝑁 ClWWalksN 𝐺) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑥 ≠ ∅ ∧ 𝑁 = (#‘𝑥))))
318, 30syl5bi 232 . . . . . . . . . . . 12 (𝑁 ∈ ℕ → (𝑥𝑊 → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑥 ≠ ∅ ∧ 𝑁 = (#‘𝑥))))
326, 31syl 17 . . . . . . . . . . 11 (𝑁 ∈ ℙ → (𝑥𝑊 → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑥 ≠ ∅ ∧ 𝑁 = (#‘𝑥))))
3332imp 445 . . . . . . . . . 10 ((𝑁 ∈ ℙ ∧ 𝑥𝑊) → (𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑥 ≠ ∅ ∧ 𝑁 = (#‘𝑥)))
34 scshwfzeqfzo 13517 . . . . . . . . . 10 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ 𝑥 ≠ ∅ ∧ 𝑁 = (#‘𝑥)) → {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)} = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^𝑁)𝑦 = (𝑥 cyclShift 𝑛)})
3533, 34syl 17 . . . . . . . . 9 ((𝑁 ∈ ℙ ∧ 𝑥𝑊) → {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)} = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^𝑁)𝑦 = (𝑥 cyclShift 𝑛)})
3635eqeq2d 2631 . . . . . . . 8 ((𝑁 ∈ ℙ ∧ 𝑥𝑊) → (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)} ↔ 𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^𝑁)𝑦 = (𝑥 cyclShift 𝑛)}))
37 oveq2 6618 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑛 = 𝑚 → (𝑥 cyclShift 𝑛) = (𝑥 cyclShift 𝑚))
3837eqeq2d 2631 . . . . . . . . . . . . . . . . . . . . . 22 (𝑛 = 𝑚 → (𝑦 = (𝑥 cyclShift 𝑛) ↔ 𝑦 = (𝑥 cyclShift 𝑚)))
3938cbvrexv 3163 . . . . . . . . . . . . . . . . . . . . 21 (∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛) ↔ ∃𝑚 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑚))
40 eqeq1 2625 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑦 = 𝑢 → (𝑦 = (𝑥 cyclShift 𝑚) ↔ 𝑢 = (𝑥 cyclShift 𝑚)))
41 eqcom 2628 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑢 = (𝑥 cyclShift 𝑚) ↔ (𝑥 cyclShift 𝑚) = 𝑢)
4240, 41syl6bb 276 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 = 𝑢 → (𝑦 = (𝑥 cyclShift 𝑚) ↔ (𝑥 cyclShift 𝑚) = 𝑢))
4342rexbidv 3046 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = 𝑢 → (∃𝑚 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑚) ↔ ∃𝑚 ∈ (0..^(#‘𝑥))(𝑥 cyclShift 𝑚) = 𝑢))
4439, 43syl5bb 272 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = 𝑢 → (∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛) ↔ ∃𝑚 ∈ (0..^(#‘𝑥))(𝑥 cyclShift 𝑚) = 𝑢))
4544cbvrabv 3188 . . . . . . . . . . . . . . . . . . 19 {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)} = {𝑢 ∈ Word (Vtx‘𝐺) ∣ ∃𝑚 ∈ (0..^(#‘𝑥))(𝑥 cyclShift 𝑚) = 𝑢}
4645cshwshash 15746 . . . . . . . . . . . . . . . . . 18 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) ∈ ℙ) → ((#‘{𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}) = (#‘𝑥) ∨ (#‘{𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}) = 1))
4746adantr 481 . . . . . . . . . . . . . . . . 17 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) ∈ ℙ) ∧ 𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}) → ((#‘{𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}) = (#‘𝑥) ∨ (#‘{𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}) = 1))
4847orcomd 403 . . . . . . . . . . . . . . . 16 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) ∈ ℙ) ∧ 𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}) → ((#‘{𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}) = 1 ∨ (#‘{𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}) = (#‘𝑥)))
49 fveq2 6153 . . . . . . . . . . . . . . . . . . 19 (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)} → (#‘𝑈) = (#‘{𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}))
5049eqeq1d 2623 . . . . . . . . . . . . . . . . . 18 (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ↔ (#‘{𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}) = 1))
5149eqeq1d 2623 . . . . . . . . . . . . . . . . . 18 (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = (#‘𝑥) ↔ (#‘{𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}) = (#‘𝑥)))
5250, 51orbi12d 745 . . . . . . . . . . . . . . . . 17 (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)} → (((#‘𝑈) = 1 ∨ (#‘𝑈) = (#‘𝑥)) ↔ ((#‘{𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}) = 1 ∨ (#‘{𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}) = (#‘𝑥))))
5352adantl 482 . . . . . . . . . . . . . . . 16 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) ∈ ℙ) ∧ 𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}) → (((#‘𝑈) = 1 ∨ (#‘𝑈) = (#‘𝑥)) ↔ ((#‘{𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}) = 1 ∨ (#‘{𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}) = (#‘𝑥))))
5448, 53mpbird 247 . . . . . . . . . . . . . . 15 (((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) ∈ ℙ) ∧ 𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}) → ((#‘𝑈) = 1 ∨ (#‘𝑈) = (#‘𝑥)))
5554ex 450 . . . . . . . . . . . . . 14 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) ∈ ℙ) → (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = (#‘𝑥))))
5655ex 450 . . . . . . . . . . . . 13 (𝑥 ∈ Word (Vtx‘𝐺) → ((#‘𝑥) ∈ ℙ → (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = (#‘𝑥)))))
5756adantr 481 . . . . . . . . . . . 12 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) → ((#‘𝑥) ∈ ℙ → (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = (#‘𝑥)))))
58 eleq1 2686 . . . . . . . . . . . . . . 15 (𝑁 = (#‘𝑥) → (𝑁 ∈ ℙ ↔ (#‘𝑥) ∈ ℙ))
59 oveq2 6618 . . . . . . . . . . . . . . . . . . 19 (𝑁 = (#‘𝑥) → (0..^𝑁) = (0..^(#‘𝑥)))
6059rexeqdv 3137 . . . . . . . . . . . . . . . . . 18 (𝑁 = (#‘𝑥) → (∃𝑛 ∈ (0..^𝑁)𝑦 = (𝑥 cyclShift 𝑛) ↔ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)))
6160rabbidv 3180 . . . . . . . . . . . . . . . . 17 (𝑁 = (#‘𝑥) → {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^𝑁)𝑦 = (𝑥 cyclShift 𝑛)} = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)})
6261eqeq2d 2631 . . . . . . . . . . . . . . . 16 (𝑁 = (#‘𝑥) → (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^𝑁)𝑦 = (𝑥 cyclShift 𝑛)} ↔ 𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)}))
63 eqeq2 2632 . . . . . . . . . . . . . . . . 17 (𝑁 = (#‘𝑥) → ((#‘𝑈) = 𝑁 ↔ (#‘𝑈) = (#‘𝑥)))
6463orbi2d 737 . . . . . . . . . . . . . . . 16 (𝑁 = (#‘𝑥) → (((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁) ↔ ((#‘𝑈) = 1 ∨ (#‘𝑈) = (#‘𝑥))))
6562, 64imbi12d 334 . . . . . . . . . . . . . . 15 (𝑁 = (#‘𝑥) → ((𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^𝑁)𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁)) ↔ (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = (#‘𝑥)))))
6658, 65imbi12d 334 . . . . . . . . . . . . . 14 (𝑁 = (#‘𝑥) → ((𝑁 ∈ ℙ → (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^𝑁)𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁))) ↔ ((#‘𝑥) ∈ ℙ → (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = (#‘𝑥))))))
6766eqcoms 2629 . . . . . . . . . . . . 13 ((#‘𝑥) = 𝑁 → ((𝑁 ∈ ℙ → (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^𝑁)𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁))) ↔ ((#‘𝑥) ∈ ℙ → (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = (#‘𝑥))))))
6867adantl 482 . . . . . . . . . . . 12 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) → ((𝑁 ∈ ℙ → (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^𝑁)𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁))) ↔ ((#‘𝑥) ∈ ℙ → (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^(#‘𝑥))𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = (#‘𝑥))))))
6957, 68mpbird 247 . . . . . . . . . . 11 ((𝑥 ∈ Word (Vtx‘𝐺) ∧ (#‘𝑥) = 𝑁) → (𝑁 ∈ ℙ → (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^𝑁)𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁))))
7029, 69syl 17 . . . . . . . . . 10 (𝑥 ∈ (𝑁 ClWWalksN 𝐺) → (𝑁 ∈ ℙ → (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^𝑁)𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁))))
7170, 1eleq2s 2716 . . . . . . . . 9 (𝑥𝑊 → (𝑁 ∈ ℙ → (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^𝑁)𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁))))
7271impcom 446 . . . . . . . 8 ((𝑁 ∈ ℙ ∧ 𝑥𝑊) → (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0..^𝑁)𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁)))
7336, 72sylbid 230 . . . . . . 7 ((𝑁 ∈ ℙ ∧ 𝑥𝑊) → (𝑈 = {𝑦 ∈ Word (Vtx‘𝐺) ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁)))
7413, 73sylbid 230 . . . . . 6 ((𝑁 ∈ ℙ ∧ 𝑥𝑊) → (𝑈 = {𝑦𝑊 ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁)))
7574rexlimdva 3025 . . . . 5 (𝑁 ∈ ℙ → (∃𝑥𝑊 𝑈 = {𝑦𝑊 ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)} → ((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁)))
7675com12 32 . . . 4 (∃𝑥𝑊 𝑈 = {𝑦𝑊 ∣ ∃𝑛 ∈ (0...𝑁)𝑦 = (𝑥 cyclShift 𝑛)} → (𝑁 ∈ ℙ → ((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁)))
773, 76syl6bi 243 . . 3 (𝑈 ∈ (𝑊 / ) → (𝑈 ∈ (𝑊 / ) → (𝑁 ∈ ℙ → ((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁))))
7877pm2.43i 52 . 2 (𝑈 ∈ (𝑊 / ) → (𝑁 ∈ ℙ → ((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁)))
7978impcom 446 1 ((𝑁 ∈ ℙ ∧ 𝑈 ∈ (𝑊 / )) → ((#‘𝑈) = 1 ∨ (#‘𝑈) = 𝑁))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wo 383  wa 384  w3a 1036   = wceq 1480  wcel 1987  wne 2790  wrex 2908  {crab 2911  c0 3896  {copab 4677  cfv 5852  (class class class)co 6610   / cqs 7693  0cc0 9888  1c1 9889  cn 10972  0cn0 11244  ...cfz 12276  ..^cfzo 12414  #chash 13065  Word cword 13238   cyclShift ccsh 13479  cprime 15320  Vtxcvtx 25791   ClWWalksN cclwwlksn 26760
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1719  ax-4 1734  ax-5 1836  ax-6 1885  ax-7 1932  ax-8 1989  ax-9 1996  ax-10 2016  ax-11 2031  ax-12 2044  ax-13 2245  ax-ext 2601  ax-rep 4736  ax-sep 4746  ax-nul 4754  ax-pow 4808  ax-pr 4872  ax-un 6909  ax-inf2 8490  ax-cnex 9944  ax-resscn 9945  ax-1cn 9946  ax-icn 9947  ax-addcl 9948  ax-addrcl 9949  ax-mulcl 9950  ax-mulrcl 9951  ax-mulcom 9952  ax-addass 9953  ax-mulass 9954  ax-distr 9955  ax-i2m1 9956  ax-1ne0 9957  ax-1rid 9958  ax-rnegex 9959  ax-rrecex 9960  ax-cnre 9961  ax-pre-lttri 9962  ax-pre-lttrn 9963  ax-pre-ltadd 9964  ax-pre-mulgt0 9965  ax-pre-sup 9966
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1037  df-3an 1038  df-tru 1483  df-fal 1486  df-ex 1702  df-nf 1707  df-sb 1878  df-eu 2473  df-mo 2474  df-clab 2608  df-cleq 2614  df-clel 2617  df-nfc 2750  df-ne 2791  df-nel 2894  df-ral 2912  df-rex 2913  df-reu 2914  df-rmo 2915  df-rab 2916  df-v 3191  df-sbc 3422  df-csb 3519  df-dif 3562  df-un 3564  df-in 3566  df-ss 3573  df-pss 3575  df-nul 3897  df-if 4064  df-pw 4137  df-sn 4154  df-pr 4156  df-tp 4158  df-op 4160  df-uni 4408  df-int 4446  df-iun 4492  df-disj 4589  df-br 4619  df-opab 4679  df-mpt 4680  df-tr 4718  df-eprel 4990  df-id 4994  df-po 5000  df-so 5001  df-fr 5038  df-se 5039  df-we 5040  df-xp 5085  df-rel 5086  df-cnv 5087  df-co 5088  df-dm 5089  df-rn 5090  df-res 5091  df-ima 5092  df-pred 5644  df-ord 5690  df-on 5691  df-lim 5692  df-suc 5693  df-iota 5815  df-fun 5854  df-fn 5855  df-f 5856  df-f1 5857  df-fo 5858  df-f1o 5859  df-fv 5860  df-isom 5861  df-riota 6571  df-ov 6613  df-oprab 6614  df-mpt2 6615  df-om 7020  df-1st 7120  df-2nd 7121  df-wrecs 7359  df-recs 7420  df-rdg 7458  df-1o 7512  df-2o 7513  df-oadd 7516  df-er 7694  df-ec 7696  df-qs 7700  df-map 7811  df-pm 7812  df-en 7908  df-dom 7909  df-sdom 7910  df-fin 7911  df-sup 8300  df-inf 8301  df-oi 8367  df-card 8717  df-cda 8942  df-pnf 10028  df-mnf 10029  df-xr 10030  df-ltxr 10031  df-le 10032  df-sub 10220  df-neg 10221  df-div 10637  df-nn 10973  df-2 11031  df-3 11032  df-n0 11245  df-xnn0 11316  df-z 11330  df-uz 11640  df-rp 11785  df-ico 12131  df-fz 12277  df-fzo 12415  df-fl 12541  df-mod 12617  df-seq 12750  df-exp 12809  df-hash 13066  df-word 13246  df-lsw 13247  df-concat 13248  df-substr 13250  df-reps 13253  df-csh 13480  df-cj 13781  df-re 13782  df-im 13783  df-sqrt 13917  df-abs 13918  df-clim 14161  df-sum 14359  df-dvds 14919  df-gcd 15152  df-prm 15321  df-phi 15406  df-clwwlks 26761  df-clwwlksn 26762
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator