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

Theorem dlwwlknondlwlknonf1o 30846
Description: 𝐹 is a bijection between the two representations of double loops of a fixed positive length on a fixed vertex. (Contributed by AV, 30-May-2022.) (Revised by AV, 1-Nov-2022.)
Hypotheses
Ref Expression
dlwwlknondlwlknonbij.v 𝑉 = (Vtx‘𝐺)
dlwwlknondlwlknonbij.w 𝑊 = {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋 ∧ ((2nd𝑤)‘(𝑁 − 2)) = 𝑋)}
dlwwlknondlwlknonbij.d 𝐷 = {𝑤 ∈ (𝑋(ClWWalksNOn‘𝐺)𝑁) ∣ (𝑤‘(𝑁 − 2)) = 𝑋}
dlwwlknondlwlknonf1o.f 𝐹 = (𝑐𝑊 ↦ ((2nd𝑐) prefix (♯‘(1st𝑐))))
Assertion
Ref Expression
dlwwlknondlwlknonf1o ((𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2)) → 𝐹:𝑊1-1-onto𝐷)
Distinct variable groups:   𝐺,𝑐,𝑤   𝑁,𝑐,𝑤   𝑉,𝑐   𝑊,𝑐   𝑋,𝑐,𝑤
Allowed substitution hints:   𝐷(𝑤, 𝑐)   𝐹(𝑤, 𝑐)   𝑉(𝑤)   𝑊(𝑤)

Proof of Theorem dlwwlknondlwlknonf1o
Dummy variable 𝑦 is distinct from all other variables.
StepHypRef Expression
1 dlwwlknondlwlknonbij.w . . . 4 𝑊 = {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋 ∧ ((2nd𝑤)‘(𝑁 − 2)) = 𝑋)}
2 df-3an 1105 . . . . 5 (((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋 ∧ ((2nd𝑤)‘(𝑁 − 2)) = 𝑋) ↔ (((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋) ∧ ((2nd𝑤)‘(𝑁 − 2)) = 𝑋))
32rabbii 3417 . . . 4 {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋 ∧ ((2nd𝑤)‘(𝑁 − 2)) = 𝑋)} = {𝑤 ∈ (ClWalks‘𝐺) ∣ (((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋) ∧ ((2nd𝑤)‘(𝑁 − 2)) = 𝑋)}
41, 3eqtri 2783 . . 3 𝑊 = {𝑤 ∈ (ClWalks‘𝐺) ∣ (((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋) ∧ ((2nd𝑤)‘(𝑁 − 2)) = 𝑋)}
5 eqid 2760 . . 3 {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)} = {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)}
6 dlwwlknondlwlknonf1o.f . . 3 𝐹 = (𝑐𝑊 ↦ ((2nd𝑐) prefix (♯‘(1st𝑐))))
7 eqid 2760 . . 3 (𝑐 ∈ {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)} ↦ ((2nd𝑐) prefix (♯‘(1st𝑐)))) = (𝑐 ∈ {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)} ↦ ((2nd𝑐) prefix (♯‘(1st𝑐))))
8 eluz2nn 12938 . . . 4 (𝑁 ∈ (ℤ‘2) → 𝑁 ∈ ℕ)
9 dlwwlknondlwlknonbij.v . . . . 5 𝑉 = (Vtx‘𝐺)
109, 5, 7clwwlknonclwlknonf1o 30843 . . . 4 ((𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ ℕ) → (𝑐 ∈ {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)} ↦ ((2nd𝑐) prefix (♯‘(1st𝑐)))):{𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)}–1-1-onto→(𝑋(ClWWalksNOn‘𝐺)𝑁))
118, 10syl3an3 1183 . . 3 ((𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2)) → (𝑐 ∈ {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)} ↦ ((2nd𝑐) prefix (♯‘(1st𝑐)))):{𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)}–1-1-onto→(𝑋(ClWWalksNOn‘𝐺)𝑁))
12 fveq1 6878 . . . . . . 7 (𝑦 = ((2nd𝑐) prefix (♯‘(1st𝑐))) → (𝑦‘(𝑁 − 2)) = (((2nd𝑐) prefix (♯‘(1st𝑐)))‘(𝑁 − 2)))
13123ad2ant3 1153 . . . . . 6 (((𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2)) ∧ 𝑐 ∈ {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)} ∧ 𝑦 = ((2nd𝑐) prefix (♯‘(1st𝑐)))) → (𝑦‘(𝑁 − 2)) = (((2nd𝑐) prefix (♯‘(1st𝑐)))‘(𝑁 − 2)))
14 2fveq3 6884 . . . . . . . . . . . . 13 (𝑤 = 𝑐 → (♯‘(1st𝑤)) = (♯‘(1st𝑐)))
1514eqeq1d 2762 . . . . . . . . . . . 12 (𝑤 = 𝑐 → ((♯‘(1st𝑤)) = 𝑁 ↔ (♯‘(1st𝑐)) = 𝑁))
16 fveq2 6879 . . . . . . . . . . . . . 14 (𝑤 = 𝑐 → (2nd𝑤) = (2nd𝑐))
1716fveq1d 6881 . . . . . . . . . . . . 13 (𝑤 = 𝑐 → ((2nd𝑤)‘0) = ((2nd𝑐)‘0))
1817eqeq1d 2762 . . . . . . . . . . . 12 (𝑤 = 𝑐 → (((2nd𝑤)‘0) = 𝑋 ↔ ((2nd𝑐)‘0) = 𝑋))
1915, 18anbi12d 644 . . . . . . . . . . 11 (𝑤 = 𝑐 → (((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋) ↔ ((♯‘(1st𝑐)) = 𝑁 ∧ ((2nd𝑐)‘0) = 𝑋)))
2019elrab 3645 . . . . . . . . . 10 (𝑐 ∈ {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)} ↔ (𝑐 ∈ (ClWalks‘𝐺) ∧ ((♯‘(1st𝑐)) = 𝑁 ∧ ((2nd𝑐)‘0) = 𝑋)))
21 simplrl 789 . . . . . . . . . . . 12 (((𝑐 ∈ (ClWalks‘𝐺) ∧ ((♯‘(1st𝑐)) = 𝑁 ∧ ((2nd𝑐)‘0) = 𝑋)) ∧ (𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2))) → (♯‘(1st𝑐)) = 𝑁)
22 simpll 779 . . . . . . . . . . . 12 (((𝑐 ∈ (ClWalks‘𝐺) ∧ ((♯‘(1st𝑐)) = 𝑁 ∧ ((2nd𝑐)‘0) = 𝑋)) ∧ (𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2))) → 𝑐 ∈ (ClWalks‘𝐺))
23 simpr3 1215 . . . . . . . . . . . 12 (((𝑐 ∈ (ClWalks‘𝐺) ∧ ((♯‘(1st𝑐)) = 𝑁 ∧ ((2nd𝑐)‘0) = 𝑋)) ∧ (𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2))) → 𝑁 ∈ (ℤ‘2))
2421, 22, 233jca 1146 . . . . . . . . . . 11 (((𝑐 ∈ (ClWalks‘𝐺) ∧ ((♯‘(1st𝑐)) = 𝑁 ∧ ((2nd𝑐)‘0) = 𝑋)) ∧ (𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2))) → ((♯‘(1st𝑐)) = 𝑁𝑐 ∈ (ClWalks‘𝐺) ∧ 𝑁 ∈ (ℤ‘2)))
2524ex 418 . . . . . . . . . 10 ((𝑐 ∈ (ClWalks‘𝐺) ∧ ((♯‘(1st𝑐)) = 𝑁 ∧ ((2nd𝑐)‘0) = 𝑋)) → ((𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2)) → ((♯‘(1st𝑐)) = 𝑁𝑐 ∈ (ClWalks‘𝐺) ∧ 𝑁 ∈ (ℤ‘2))))
2620, 25sylbi 220 . . . . . . . . 9 (𝑐 ∈ {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)} → ((𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2)) → ((♯‘(1st𝑐)) = 𝑁𝑐 ∈ (ClWalks‘𝐺) ∧ 𝑁 ∈ (ℤ‘2))))
2726impcom 413 . . . . . . . 8 (((𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2)) ∧ 𝑐 ∈ {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)}) → ((♯‘(1st𝑐)) = 𝑁𝑐 ∈ (ClWalks‘𝐺) ∧ 𝑁 ∈ (ℤ‘2)))
28 dlwwlknondlwlknonf1olem1 30845 . . . . . . . 8 (((♯‘(1st𝑐)) = 𝑁𝑐 ∈ (ClWalks‘𝐺) ∧ 𝑁 ∈ (ℤ‘2)) → (((2nd𝑐) prefix (♯‘(1st𝑐)))‘(𝑁 − 2)) = ((2nd𝑐)‘(𝑁 − 2)))
2927, 28syl 18 . . . . . . 7 (((𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2)) ∧ 𝑐 ∈ {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)}) → (((2nd𝑐) prefix (♯‘(1st𝑐)))‘(𝑁 − 2)) = ((2nd𝑐)‘(𝑁 − 2)))
30293adant3 1150 . . . . . 6 (((𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2)) ∧ 𝑐 ∈ {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)} ∧ 𝑦 = ((2nd𝑐) prefix (♯‘(1st𝑐)))) → (((2nd𝑐) prefix (♯‘(1st𝑐)))‘(𝑁 − 2)) = ((2nd𝑐)‘(𝑁 − 2)))
3113, 30eqtrd 2795 . . . . 5 (((𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2)) ∧ 𝑐 ∈ {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)} ∧ 𝑦 = ((2nd𝑐) prefix (♯‘(1st𝑐)))) → (𝑦‘(𝑁 − 2)) = ((2nd𝑐)‘(𝑁 − 2)))
3231eqeq1d 2762 . . . 4 (((𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2)) ∧ 𝑐 ∈ {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)} ∧ 𝑦 = ((2nd𝑐) prefix (♯‘(1st𝑐)))) → ((𝑦‘(𝑁 − 2)) = 𝑋 ↔ ((2nd𝑐)‘(𝑁 − 2)) = 𝑋))
33 nfv 1947 . . . . 5 𝑤((2nd𝑐)‘(𝑁 − 2)) = 𝑋
3416fveq1d 6881 . . . . . 6 (𝑤 = 𝑐 → ((2nd𝑤)‘(𝑁 − 2)) = ((2nd𝑐)‘(𝑁 − 2)))
3534eqeq1d 2762 . . . . 5 (𝑤 = 𝑐 → (((2nd𝑤)‘(𝑁 − 2)) = 𝑋 ↔ ((2nd𝑐)‘(𝑁 − 2)) = 𝑋))
3633, 35sbiev 2345 . . . 4 ([𝑐 / 𝑤]((2nd𝑤)‘(𝑁 − 2)) = 𝑋 ↔ ((2nd𝑐)‘(𝑁 − 2)) = 𝑋)
3732, 36bitr4di 292 . . 3 (((𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2)) ∧ 𝑐 ∈ {𝑤 ∈ (ClWalks‘𝐺) ∣ ((♯‘(1st𝑤)) = 𝑁 ∧ ((2nd𝑤)‘0) = 𝑋)} ∧ 𝑦 = ((2nd𝑐) prefix (♯‘(1st𝑐)))) → ((𝑦‘(𝑁 − 2)) = 𝑋 ↔ [𝑐 / 𝑤]((2nd𝑤)‘(𝑁 − 2)) = 𝑋))
384, 5, 6, 7, 11, 37f1ossf1o 7123 . 2 ((𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2)) → 𝐹:𝑊1-1-onto→{𝑦 ∈ (𝑋(ClWWalksNOn‘𝐺)𝑁) ∣ (𝑦‘(𝑁 − 2)) = 𝑋})
39 dlwwlknondlwlknonbij.d . . . 4 𝐷 = {𝑤 ∈ (𝑋(ClWWalksNOn‘𝐺)𝑁) ∣ (𝑤‘(𝑁 − 2)) = 𝑋}
40 fveq1 6878 . . . . . 6 (𝑤 = 𝑦 → (𝑤‘(𝑁 − 2)) = (𝑦‘(𝑁 − 2)))
4140eqeq1d 2762 . . . . 5 (𝑤 = 𝑦 → ((𝑤‘(𝑁 − 2)) = 𝑋 ↔ (𝑦‘(𝑁 − 2)) = 𝑋))
4241cbvrabv 3422 . . . 4 {𝑤 ∈ (𝑋(ClWWalksNOn‘𝐺)𝑁) ∣ (𝑤‘(𝑁 − 2)) = 𝑋} = {𝑦 ∈ (𝑋(ClWWalksNOn‘𝐺)𝑁) ∣ (𝑦‘(𝑁 − 2)) = 𝑋}
4339, 42eqtri 2783 . . 3 𝐷 = {𝑦 ∈ (𝑋(ClWWalksNOn‘𝐺)𝑁) ∣ (𝑦‘(𝑁 − 2)) = 𝑋}
44 f1oeq3 6808 . . 3 (𝐷 = {𝑦 ∈ (𝑋(ClWWalksNOn‘𝐺)𝑁) ∣ (𝑦‘(𝑁 − 2)) = 𝑋} → (𝐹:𝑊1-1-onto𝐷𝐹:𝑊1-1-onto→{𝑦 ∈ (𝑋(ClWWalksNOn‘𝐺)𝑁) ∣ (𝑦‘(𝑁 − 2)) = 𝑋}))
4543, 44ax-mp 5 . 2 (𝐹:𝑊1-1-onto𝐷𝐹:𝑊1-1-onto→{𝑦 ∈ (𝑋(ClWWalksNOn‘𝐺)𝑁) ∣ (𝑦‘(𝑁 − 2)) = 𝑋})
4638, 45sylibr 237 1 ((𝐺 ∈ USPGraph ∧ 𝑋𝑉𝑁 ∈ (ℤ‘2)) → 𝐹:𝑊1-1-onto𝐷)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 401  w3a 1103   = wceq 1570  [wsb 2099  wcel 2145  {crab 3412  cmpt 5186  1-1-ontowf1o 6532  cfv 6533  (class class class)co 7414  1st c1st 7985  2nd c2nd 7986  0cc0 11125  cmin 11466  cn 12258  2c2 12320  cuz 12888  chash 14395   prefix cpfx 14741  Vtxcvtx 29454  USPGraphcuspgr 29609  ClWalkscclwlks 30237  ClWWalksNOncclwwlknon 30558
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 2213  ax-ext 2732  ax-rep 5232  ax-sep 5251  ax-nul 5263  ax-pow 5330  ax-pr 5398  ax-un 7737  ax-cnex 11181  ax-resscn 11182  ax-1cn 11183  ax-icn 11184  ax-addcl 11185  ax-addrcl 11186  ax-mulcl 11187  ax-mulrcl 11188  ax-mulcom 11189  ax-addass 11190  ax-mulass 11191  ax-distr 11192  ax-i2m1 11193  ax-1ne0 11194  ax-1rid 11195  ax-rnegex 11196  ax-rrecex 11197  ax-cnre 11198  ax-pre-lttri 11199  ax-pre-lttrn 11200  ax-pre-ltadd 11201  ax-pre-mulgt0 11202
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-ifp 1079  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-nel 3062  df-ral 3077  df-rex 3087  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-pss 3919  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-int 4908  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-tr 5213  df-id 5550  df-eprel 5555  df-po 5563  df-so 5564  df-fr 5608  df-we 5610  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-pred 6299  df-ord 6360  df-on 6361  df-lim 6362  df-suc 6363  df-iota 6489  df-fun 6535  df-fn 6536  df-f 6537  df-f1 6538  df-fo 6539  df-f1o 6540  df-fv 6541  df-riota 7371  df-ov 7417  df-oprab 7418  df-mpo 7419  df-om 7864  df-1st 7987  df-2nd 7988  df-frecs 8281  df-wrecs 8312  df-recs 8361  df-rdg 8400  df-1o 8456  df-2o 8457  df-oadd 8460  df-er 8697  df-map 8829  df-pm 8830  df-en 8954  df-dom 8955  df-sdom 8956  df-fin 8957  df-dju 9907  df-card 9945  df-pnf 11270  df-mnf 11271  df-xr 11272  df-ltxr 11273  df-le 11274  df-sub 11468  df-neg 11469  df-nn 12259  df-2 12328  df-n0 12530  df-xnn0 12603  df-z 12617  df-uz 12889  df-rp 13044  df-fz 13563  df-fzo 13711  df-hash 14396  df-word 14580  df-lsw 14629  df-concat 14637  df-s1 14664  df-substr 14710  df-pfx 14742  df-edg 29506  df-uhgr 29516  df-upgr 29540  df-uspgr 29611  df-wlks 30060  df-clwlks 30238  df-clwwlk 30453  df-clwwlkn 30496  df-clwwlknon 30559
This theorem is used by:  dlwwlknondlwlknonen  30847
  Copyright terms: Public domain W3C validator