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

Theorem structtocusgr 29649
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 29648 . 2 (𝜑𝐺 ∈ USGraph)
6 simpr 488 . . . . 5 ((𝜑𝑣 ∈ (Vtx‘𝐺)) → 𝑣 ∈ (Vtx‘𝐺))
7 eldifi 4086 . . . . . . . 8 (𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣}) → 𝑛 ∈ (Vtx‘𝐺))
86, 7anim12ci 623 . . . . . . 7 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → (𝑛 ∈ (Vtx‘𝐺) ∧ 𝑣 ∈ (Vtx‘𝐺)))
9 eldifsni 4752 . . . . . . . 8 (𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣}) → 𝑛𝑣)
109adantl 485 . . . . . . 7 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → 𝑛𝑣)
11 fvexd 6884 . . . . . . . . 9 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → (Base‘𝑆) ∈ V)
123fveq2i 6872 . . . . . . . . . . . . 13 (Vtx‘𝐺) = (Vtx‘(𝑆 sSet ⟨(.ef‘ndx), ( I ↾ 𝑃)⟩))
13 eqid 2764 . . . . . . . . . . . . . 14 (.ef‘ndx) = (.ef‘ndx)
14 fvex 6882 . . . . . . . . . . . . . . 15 (Base‘𝑆) ∈ V
151cusgrexilem1 29642 . . . . . . . . . . . . . . 15 ((Base‘𝑆) ∈ V → ( I ↾ 𝑃) ∈ V)
1614, 15mp1i 13 . . . . . . . . . . . . . 14 (𝜑 → ( I ↾ 𝑃) ∈ V)
1713, 2, 4, 16setsvtx 29238 . . . . . . . . . . . . 13 (𝜑 → (Vtx‘(𝑆 sSet ⟨(.ef‘ndx), ( I ↾ 𝑃)⟩)) = (Base‘𝑆))
1812, 17eqtrid 2811 . . . . . . . . . . . 12 (𝜑 → (Vtx‘𝐺) = (Base‘𝑆))
1918eleq2d 2850 . . . . . . . . . . 11 (𝜑 → (𝑣 ∈ (Vtx‘𝐺) ↔ 𝑣 ∈ (Base‘𝑆)))
2019biimpa 480 . . . . . . . . . 10 ((𝜑𝑣 ∈ (Vtx‘𝐺)) → 𝑣 ∈ (Base‘𝑆))
2120adantr 484 . . . . . . . . 9 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → 𝑣 ∈ (Base‘𝑆))
2218difeq1d 4081 . . . . . . . . . . . . 13 (𝜑 → ((Vtx‘𝐺) ∖ {𝑣}) = ((Base‘𝑆) ∖ {𝑣}))
2322eleq2d 2850 . . . . . . . . . . . 12 (𝜑 → (𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣}) ↔ 𝑛 ∈ ((Base‘𝑆) ∖ {𝑣})))
2423biimpd 231 . . . . . . . . . . 11 (𝜑 → (𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣}) → 𝑛 ∈ ((Base‘𝑆) ∖ {𝑣})))
2524adantr 484 . . . . . . . . . 10 ((𝜑𝑣 ∈ (Vtx‘𝐺)) → (𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣}) → 𝑛 ∈ ((Base‘𝑆) ∖ {𝑣})))
2625imp 410 . . . . . . . . 9 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → 𝑛 ∈ ((Base‘𝑆) ∖ {𝑣}))
271cusgrexilem2 29645 . . . . . . . . 9 ((((Base‘𝑆) ∈ V ∧ 𝑣 ∈ (Base‘𝑆)) ∧ 𝑛 ∈ ((Base‘𝑆) ∖ {𝑣})) → ∃𝑒 ∈ ran ( I ↾ 𝑃){𝑣, 𝑛} ⊆ 𝑒)
2811, 21, 26, 27syl21anc 848 . . . . . . . 8 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → ∃𝑒 ∈ ran ( I ↾ 𝑃){𝑣, 𝑛} ⊆ 𝑒)
29 edgval 29252 . . . . . . . . . . 11 (Edg‘𝐺) = ran (iEdg‘𝐺)
303fveq2i 6872 . . . . . . . . . . . . 13 (iEdg‘𝐺) = (iEdg‘(𝑆 sSet ⟨(.ef‘ndx), ( I ↾ 𝑃)⟩))
3113, 2, 4, 16setsiedg 29239 . . . . . . . . . . . . 13 (𝜑 → (iEdg‘(𝑆 sSet ⟨(.ef‘ndx), ( I ↾ 𝑃)⟩)) = ( I ↾ 𝑃))
3230, 31eqtrid 2811 . . . . . . . . . . . 12 (𝜑 → (iEdg‘𝐺) = ( I ↾ 𝑃))
3332rneqd 5916 . . . . . . . . . . 11 (𝜑 → ran (iEdg‘𝐺) = ran ( I ↾ 𝑃))
3429, 33eqtrid 2811 . . . . . . . . . 10 (𝜑 → (Edg‘𝐺) = ran ( I ↾ 𝑃))
3534rexeqdv 3323 . . . . . . . . 9 (𝜑 → (∃𝑒 ∈ (Edg‘𝐺){𝑣, 𝑛} ⊆ 𝑒 ↔ ∃𝑒 ∈ ran ( I ↾ 𝑃){𝑣, 𝑛} ⊆ 𝑒))
3635ad2antrr 736 . . . . . . . 8 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → (∃𝑒 ∈ (Edg‘𝐺){𝑣, 𝑛} ⊆ 𝑒 ↔ ∃𝑒 ∈ ran ( I ↾ 𝑃){𝑣, 𝑛} ⊆ 𝑒))
3728, 36mpbird 259 . . . . . . 7 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → ∃𝑒 ∈ (Edg‘𝐺){𝑣, 𝑛} ⊆ 𝑒)
38 eqid 2764 . . . . . . . 8 (Vtx‘𝐺) = (Vtx‘𝐺)
39 eqid 2764 . . . . . . . 8 (Edg‘𝐺) = (Edg‘𝐺)
4038, 39nbgrel 29543 . . . . . . 7 (𝑛 ∈ (𝐺 NeighbVtx 𝑣) ↔ ((𝑛 ∈ (Vtx‘𝐺) ∧ 𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛𝑣 ∧ ∃𝑒 ∈ (Edg‘𝐺){𝑣, 𝑛} ⊆ 𝑒))
418, 10, 37, 40syl3anbrc 1358 . . . . . 6 (((𝜑𝑣 ∈ (Vtx‘𝐺)) ∧ 𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})) → 𝑛 ∈ (𝐺 NeighbVtx 𝑣))
4241ralrimiva 3156 . . . . 5 ((𝜑𝑣 ∈ (Vtx‘𝐺)) → ∀𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})𝑛 ∈ (𝐺 NeighbVtx 𝑣))
4338uvtxel 29591 . . . . 5 (𝑣 ∈ (UnivVtx‘𝐺) ↔ (𝑣 ∈ (Vtx‘𝐺) ∧ ∀𝑛 ∈ ((Vtx‘𝐺) ∖ {𝑣})𝑛 ∈ (𝐺 NeighbVtx 𝑣)))
446, 42, 43sylanbrc 592 . . . 4 ((𝜑𝑣 ∈ (Vtx‘𝐺)) → 𝑣 ∈ (UnivVtx‘𝐺))
4544ralrimiva 3156 . . 3 (𝜑 → ∀𝑣 ∈ (Vtx‘𝐺)𝑣 ∈ (UnivVtx‘𝐺))
465elexd 3479 . . . 4 (𝜑𝐺 ∈ V)
4738iscplgr 29618 . . . 4 (𝐺 ∈ V → (𝐺 ∈ ComplGraph ↔ ∀𝑣 ∈ (Vtx‘𝐺)𝑣 ∈ (UnivVtx‘𝐺)))
4846, 47syl 17 . . 3 (𝜑 → (𝐺 ∈ ComplGraph ↔ ∀𝑣 ∈ (Vtx‘𝐺)𝑣 ∈ (UnivVtx‘𝐺)))
4945, 48mpbird 259 . 2 (𝜑𝐺 ∈ ComplGraph)
50 iscusgr 29621 . 2 (𝐺 ∈ ComplUSGraph ↔ (𝐺 ∈ USGraph ∧ 𝐺 ∈ ComplGraph))
515, 49, 50sylanbrc 592 1 (𝜑𝐺 ∈ ComplUSGraph)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 399   = wceq 1562  wcel 2144  wne 2959  wral 3078  wrex 3088  {crab 3416  Vcvv 3456  cdif 3903  wss 3906  𝒫 cpw 4557  {csn 4584  {cpr 4586  cop 4590   class class class wbr 5102   I cid 5543  dom cdm 5649  ran crn 5650  cres 5651  cfv 6523  (class class class)co 7398  2c2 12274  chash 14345   Struct cstr 17184   sSet csts 17201  ndxcnx 17231  Basecbs 17247  .efcedgf 29191  Vtxcvtx 29199  iEdgciedg 29200  Edgcedg 29250  USGraphcusgr 29352   NeighbVtx cnbgr 29535  UnivVtxcuvtx 29588  ComplGraphccplgr 29612  ComplUSGraphccusgr 29613
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1817  ax-4 1831  ax-5 1932  ax-6 1989  ax-7 2030  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2214  ax-ext 2736  ax-sep 5248  ax-nul 5258  ax-pow 5324  ax-pr 5392  ax-un 7720  ax-cnex 11131  ax-resscn 11132  ax-1cn 11133  ax-icn 11134  ax-addcl 11135  ax-addrcl 11136  ax-mulcl 11137  ax-mulrcl 11138  ax-mulcom 11139  ax-addass 11140  ax-mulass 11141  ax-distr 11142  ax-i2m1 11143  ax-1ne0 11144  ax-1rid 11145  ax-rnegex 11146  ax-rrecex 11147  ax-cnre 11148  ax-pre-lttri 11149  ax-pre-lttrn 11150  ax-pre-ltadd 11151  ax-pre-mulgt0 11152
This theorem depends on definitions:  df-bi 209  df-an 400  df-or 859  df-3or 1100  df-3an 1101  df-tru 1565  df-fal 1575  df-ex 1802  df-nf 1806  df-sb 2093  df-mo 2568  df-eu 2598  df-clab 2743  df-cleq 2756  df-clel 2839  df-nfc 2913  df-ne 2960  df-nel 3064  df-ral 3079  df-rex 3089  df-reu 3370  df-rab 3417  df-v 3458  df-sbc 3747  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-pss 3926  df-nul 4288  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 5103  df-opab 5165  df-mpt 5184  df-tr 5210  df-id 5544  df-eprel 5549  df-po 5557  df-so 5558  df-fr 5602  df-we 5604  df-xp 5655  df-rel 5656  df-cnv 5657  df-co 5658  df-dm 5659  df-rn 5660  df-res 5661  df-ima 5662  df-pred 6290  df-ord 6351  df-on 6352  df-lim 6353  df-suc 6354  df-iota 6479  df-fun 6525  df-fn 6526  df-f 6527  df-f1 6528  df-fo 6529  df-f1o 6530  df-fv 6531  df-riota 7355  df-ov 7401  df-oprab 7402  df-mpo 7403  df-om 7849  df-1st 7972  df-2nd 7973  df-frecs 8264  df-wrecs 8295  df-recs 8344  df-rdg 8383  df-1o 8439  df-oadd 8443  df-er 8680  df-en 8930  df-dom 8931  df-sdom 8932  df-fin 8933  df-dju 9861  df-card 9899  df-pnf 11220  df-mnf 11221  df-xr 11222  df-ltxr 11223  df-le 11224  df-sub 11418  df-neg 11419  df-nn 12213  df-2 12282  df-3 12283  df-4 12284  df-5 12285  df-6 12286  df-7 12287  df-8 12288  df-9 12289  df-n0 12484  df-xnn0 12557  df-z 12571  df-dec 12691  df-uz 12842  df-fz 13515  df-hash 14346  df-struct 17185  df-sets 17202  df-slot 17220  df-ndx 17232  df-base 17248  df-edgf 29192  df-vtx 29201  df-iedg 29202  df-edg 29251  df-usgr 29354  df-nbgr 29536  df-uvtx 29589  df-cplgr 29614  df-cusgr 29615
This theorem is referenced by:  cffldtocusgr  29650
  Copyright terms: Public domain W3C validator