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

Theorem structtocusgr 26473
Description: Any (extensible) structure with a base set can be made a complete simple graph with the set of pairs of elements of the base set regarded as edges. (Contributed by AV, 10-Nov-2021.) (Revised by AV, 17-Nov-2021.) (Proof shortened by AV, 14-Feb-2022.)
Hypotheses
Ref Expression
structtousgr.p 𝑃 = {𝑥 ∈ 𝒫 (Base‘𝑆) ∣ (♯‘𝑥) = 2}
structtousgr.s (𝜑𝑆 Struct 𝑋)
structtousgr.g 𝐺 = (𝑆 sSet ⟨(.ef‘ndx), ( I ↾ 𝑃)⟩)
structtousgr.b (𝜑 → (Base‘ndx) ∈ dom 𝑆)
Assertion
Ref Expression
structtocusgr (𝜑𝐺 ∈ ComplUSGraph)
Distinct variable groups:   𝑥,𝐺   𝑥,𝑃   𝑥,𝑆   𝜑,𝑥
Allowed substitution hint:   𝑋(𝑥)

Proof of Theorem structtocusgr
Dummy variables 𝑒 𝑛 𝑣 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 structtousgr.p . . 3 𝑃 = {𝑥 ∈ 𝒫 (Base‘𝑆) ∣ (♯‘𝑥) = 2}
2 structtousgr.s . . 3 (𝜑𝑆 Struct 𝑋)
3 structtousgr.g . . 3 𝐺 = (𝑆 sSet ⟨(.ef‘ndx), ( I ↾ 𝑃)⟩)
4 structtousgr.b . . 3 (𝜑 → (Base‘ndx) ∈ dom 𝑆)
51, 2, 3, 4structtousgr 26472 . 2 (𝜑𝐺 ∈ USGraph)
6 simpr 479 . . . . 5 ((𝜑𝑣 ∈ (Vtx‘𝐺)) → 𝑣 ∈ (Vtx‘𝐺))
7 eldifi 3840 . . . . . . . 8 (𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣}) → 𝑛 ∈ (Vtx‘𝐺))
86, 7anim12ci 592 . . . . . . 7 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → (𝑛 ∈ (Vtx‘𝐺) ∧ 𝑣 ∈ (Vtx‘𝐺)))
9 eldifsni 4429 . . . . . . . 8 (𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣}) → 𝑛𝑣)
109adantl 473 . . . . . . 7 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → 𝑛𝑣)
11 fvexd 6316 . . . . . . . . 9 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → (Base‘𝑆) ∈ V)
123fveq2i 6307 . . . . . . . . . . . . 13 (Vtx‘𝐺) = (Vtx‘(𝑆 sSet ⟨(.ef‘ndx), ( I ↾ 𝑃)⟩))
13 eqid 2724 . . . . . . . . . . . . . 14 (.ef‘ndx) = (.ef‘ndx)
14 fvex 6314 . . . . . . . . . . . . . . 15 (Base‘𝑆) ∈ V
151cusgrexilem1 26466 . . . . . . . . . . . . . . 15 ((Base‘𝑆) ∈ V → ( I ↾ 𝑃) ∈ V)
1614, 15mp1i 13 . . . . . . . . . . . . . 14 (𝜑 → ( I ↾ 𝑃) ∈ V)
1713, 2, 4, 16setsvtx 26047 . . . . . . . . . . . . 13 (𝜑 → (Vtx‘(𝑆 sSet ⟨(.ef‘ndx), ( I ↾ 𝑃)⟩)) = (Base‘𝑆))
1812, 17syl5eq 2770 . . . . . . . . . . . 12 (𝜑 → (Vtx‘𝐺) = (Base‘𝑆))
1918eleq2d 2789 . . . . . . . . . . 11 (𝜑 → (𝑣 ∈ (Vtx‘𝐺) ↔ 𝑣 ∈ (Base‘𝑆)))
2019biimpa 502 . . . . . . . . . 10 ((𝜑𝑣 ∈ (Vtx‘𝐺)) → 𝑣 ∈ (Base‘𝑆))
2120adantr 472 . . . . . . . . 9 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → 𝑣 ∈ (Base‘𝑆))
2218difeq1d 3835 . . . . . . . . . . . . 13 (𝜑 → ((Vtx‘𝐺) ∖ {𝑣}) = ((Base‘𝑆) ∖ {𝑣}))
2322eleq2d 2789 . . . . . . . . . . . 12 (𝜑 → (𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣}) ↔ 𝑛 ∈ ((Base‘𝑆) ∖ {𝑣})))
2423biimpd 219 . . . . . . . . . . 11 (𝜑 → (𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣}) → 𝑛 ∈ ((Base‘𝑆) ∖ {𝑣})))
2524adantr 472 . . . . . . . . . 10 ((𝜑𝑣 ∈ (Vtx‘𝐺)) → (𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣}) → 𝑛 ∈ ((Base‘𝑆) ∖ {𝑣})))
2625imp 444 . . . . . . . . 9 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → 𝑛 ∈ ((Base‘𝑆) ∖ {𝑣}))
271cusgrexilem2 26469 . . . . . . . . 9 ((((Base‘𝑆) ∈ V ∧ 𝑣 ∈ (Base‘𝑆)) ∧ 𝑛 ∈ ((Base‘𝑆) ∖ {𝑣})) → ∃𝑒 ∈ ran ( I ↾ 𝑃){𝑣, 𝑛} ⊆ 𝑒)
2811, 21, 26, 27syl21anc 1438 . . . . . . . 8 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → ∃𝑒 ∈ ran ( I ↾ 𝑃){𝑣, 𝑛} ⊆ 𝑒)
29 edgval 26061 . . . . . . . . . . 11 (Edg‘𝐺) = ran (iEdg‘𝐺)
303fveq2i 6307 . . . . . . . . . . . . 13 (iEdg‘𝐺) = (iEdg‘(𝑆 sSet ⟨(.ef‘ndx), ( I ↾ 𝑃)⟩))
3113, 2, 4, 16setsiedg 26048 . . . . . . . . . . . . 13 (𝜑 → (iEdg‘(𝑆 sSet ⟨(.ef‘ndx), ( I ↾ 𝑃)⟩)) = ( I ↾ 𝑃))
3230, 31syl5eq 2770 . . . . . . . . . . . 12 (𝜑 → (iEdg‘𝐺) = ( I ↾ 𝑃))
3332rneqd 5460 . . . . . . . . . . 11 (𝜑 → ran (iEdg‘𝐺) = ran ( I ↾ 𝑃))
3429, 33syl5eq 2770 . . . . . . . . . 10 (𝜑 → (Edg‘𝐺) = ran ( I ↾ 𝑃))
3534rexeqdv 3248 . . . . . . . . 9 (𝜑 → (∃𝑒 ∈ (Edg‘𝐺){𝑣, 𝑛} ⊆ 𝑒 ↔ ∃𝑒 ∈ ran ( I ↾ 𝑃){𝑣, 𝑛} ⊆ 𝑒))
3635ad2antrr 764 . . . . . . . 8 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → (∃𝑒 ∈ (Edg‘𝐺){𝑣, 𝑛} ⊆ 𝑒 ↔ ∃𝑒 ∈ ran ( I ↾ 𝑃){𝑣, 𝑛} ⊆ 𝑒))
3728, 36mpbird 247 . . . . . . 7 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → ∃𝑒 ∈ (Edg‘𝐺){𝑣, 𝑛} ⊆ 𝑒)
38 eqid 2724 . . . . . . . 8 (Vtx‘𝐺) = (Vtx‘𝐺)
39 eqid 2724 . . . . . . . 8 (Edg‘𝐺) = (Edg‘𝐺)
4038, 39nbgrel 26353 . . . . . . 7 (𝑛 ∈ (𝐺 NeighbVtx 𝑣) ↔ ((𝑛 ∈ (Vtx‘𝐺) ∧ 𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛𝑣 ∧ ∃𝑒 ∈ (Edg‘𝐺){𝑣, 𝑛} ⊆ 𝑒))
418, 10, 37, 40syl3anbrc 1383 . . . . . 6 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → 𝑛 ∈ (𝐺 NeighbVtx 𝑣))
4241ralrimiva 3068 . . . . 5 ((𝜑𝑣 ∈ (Vtx‘𝐺)) → ∀𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})𝑛 ∈ (𝐺 NeighbVtx 𝑣))
4338uvtxel 26410 . . . . 5 (𝑣 ∈ (UnivVtx‘𝐺) ↔ (𝑣 ∈ (Vtx‘𝐺) ∧ ∀𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})𝑛 ∈ (𝐺 NeighbVtx 𝑣)))
446, 42, 43sylanbrc 701 . . . 4 ((𝜑𝑣 ∈ (Vtx‘𝐺)) → 𝑣 ∈ (UnivVtx‘𝐺))
4544ralrimiva 3068 . . 3 (𝜑 → ∀𝑣 ∈ (Vtx‘𝐺)𝑣 ∈ (UnivVtx‘𝐺))
465elexd 3318 . . . 4 (𝜑𝐺 ∈ V)
4738iscplgr 26441 . . . 4 (𝐺 ∈ V → (𝐺 ∈ ComplGraph ↔ ∀𝑣 ∈ (Vtx‘𝐺)𝑣 ∈ (UnivVtx‘𝐺)))
4846, 47syl 17 . . 3 (𝜑 → (𝐺 ∈ ComplGraph ↔ ∀𝑣 ∈ (Vtx‘𝐺)𝑣 ∈ (UnivVtx‘𝐺)))
4945, 48mpbird 247 . 2 (𝜑𝐺 ∈ ComplGraph)
50 iscusgr 26445 . 2 (𝐺 ∈ ComplUSGraph ↔ (𝐺 ∈ USGraph ∧ 𝐺 ∈ ComplGraph))
515, 49, 50sylanbrc 701 1 (𝜑𝐺 ∈ ComplUSGraph)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wa 383   = wceq 1596  wcel 2103  wne 2896  wral 3014  wrex 3015  {crab 3018  Vcvv 3304  cdif 3677  wss 3680  𝒫 cpw 4266  {csn 4285  {cpr 4287  cop 4291   class class class wbr 4760   I cid 5127  dom cdm 5218  ran crn 5219  cres 5220  cfv 6001  (class class class)co 6765  2c2 11183  chash 13232   Struct cstr 15976  ndxcnx 15977   sSet csts 15978  Basecbs 15980  .efcedgf 25987  Vtxcvtx 25994  iEdgciedg 25995  Edgcedg 26059  USGraphcusgr 26164   NeighbVtx cnbgr 26344  UnivVtxcuvtx 26406  ComplGraphccplgr 26435  ComplUSGraphccusgr 26436
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1835  ax-4 1850  ax-5 1952  ax-6 2018  ax-7 2054  ax-8 2105  ax-9 2112  ax-10 2132  ax-11 2147  ax-12 2160  ax-13 2355  ax-ext 2704  ax-rep 4879  ax-sep 4889  ax-nul 4897  ax-pow 4948  ax-pr 5011  ax-un 7066  ax-cnex 10105  ax-resscn 10106  ax-1cn 10107  ax-icn 10108  ax-addcl 10109  ax-addrcl 10110  ax-mulcl 10111  ax-mulrcl 10112  ax-mulcom 10113  ax-addass 10114  ax-mulass 10115  ax-distr 10116  ax-i2m1 10117  ax-1ne0 10118  ax-1rid 10119  ax-rnegex 10120  ax-rrecex 10121  ax-cnre 10122  ax-pre-lttri 10123  ax-pre-lttrn 10124  ax-pre-ltadd 10125  ax-pre-mulgt0 10126
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-3or 1073  df-3an 1074  df-tru 1599  df-fal 1602  df-ex 1818  df-nf 1823  df-sb 2011  df-eu 2575  df-mo 2576  df-clab 2711  df-cleq 2717  df-clel 2720  df-nfc 2855  df-ne 2897  df-nel 3000  df-ral 3019  df-rex 3020  df-reu 3021  df-rmo 3022  df-rab 3023  df-v 3306  df-sbc 3542  df-csb 3640  df-dif 3683  df-un 3685  df-in 3687  df-ss 3694  df-pss 3696  df-nul 4024  df-if 4195  df-pw 4268  df-sn 4286  df-pr 4288  df-tp 4290  df-op 4292  df-uni 4545  df-int 4584  df-iun 4630  df-br 4761  df-opab 4821  df-mpt 4838  df-tr 4861  df-id 5128  df-eprel 5133  df-po 5139  df-so 5140  df-fr 5177  df-we 5179  df-xp 5224  df-rel 5225  df-cnv 5226  df-co 5227  df-dm 5228  df-rn 5229  df-res 5230  df-ima 5231  df-pred 5793  df-ord 5839  df-on 5840  df-lim 5841  df-suc 5842  df-iota 5964  df-fun 6003  df-fn 6004  df-f 6005  df-f1 6006  df-fo 6007  df-f1o 6008  df-fv 6009  df-riota 6726  df-ov 6768  df-oprab 6769  df-mpt2 6770  df-om 7183  df-1st 7285  df-2nd 7286  df-wrecs 7527  df-recs 7588  df-rdg 7626  df-1o 7680  df-oadd 7684  df-er 7862  df-en 8073  df-dom 8074  df-sdom 8075  df-fin 8076  df-card 8878  df-cda 9103  df-pnf 10189  df-mnf 10190  df-xr 10191  df-ltxr 10192  df-le 10193  df-sub 10381  df-neg 10382  df-nn 11134  df-2 11192  df-3 11193  df-4 11194  df-5 11195  df-6 11196  df-7 11197  df-8 11198  df-9 11199  df-n0 11406  df-xnn0 11477  df-z 11491  df-dec 11607  df-uz 11801  df-fz 12441  df-hash 13233  df-struct 15982  df-ndx 15983  df-slot 15984  df-base 15986  df-sets 15987  df-edgf 25988  df-vtx 25996  df-iedg 25997  df-edg 26060  df-usgr 26166  df-nbgr 26345  df-uvtx 26407  df-cplgr 26437  df-cusgr 26438
This theorem is referenced by:  cffldtocusgr  26474
  Copyright terms: Public domain W3C validator