Metamath Proof Explorer


Theorem grstructd

Description: If any representation of a graph with vertices V and edges E has a certain property ps , then any structure with base set V and value E in the slot for edge functions (which is such a representation of a graph with vertices V and edges E ) has this property. (Contributed by AV, 12-Oct-2020) (Revised by AV, 9-Jun-2021)

Ref Expression
Hypotheses gropd.g ( 𝜑 → ∀ 𝑔 ( ( ( Vtx ‘ 𝑔 ) = 𝑉 ∧ ( iEdg ‘ 𝑔 ) = 𝐸 ) → 𝜓 ) )
gropd.v ( 𝜑𝑉𝑈 )
gropd.e ( 𝜑𝐸𝑊 )
grstructd.s ( 𝜑𝑆𝑋 )
grstructd.f ( 𝜑 → Fun ( 𝑆 ∖ { ∅ } ) )
grstructd.d ( 𝜑 → 2 ≤ ( ♯ ‘ dom 𝑆 ) )
grstructd.b ( 𝜑 → ( Base ‘ 𝑆 ) = 𝑉 )
grstructd.e ( 𝜑 → ( .ef ‘ 𝑆 ) = 𝐸 )
Assertion grstructd ( 𝜑[ 𝑆 / 𝑔 ] 𝜓 )

Proof

Step Hyp Ref Expression
1 gropd.g ( 𝜑 → ∀ 𝑔 ( ( ( Vtx ‘ 𝑔 ) = 𝑉 ∧ ( iEdg ‘ 𝑔 ) = 𝐸 ) → 𝜓 ) )
2 gropd.v ( 𝜑𝑉𝑈 )
3 gropd.e ( 𝜑𝐸𝑊 )
4 grstructd.s ( 𝜑𝑆𝑋 )
5 grstructd.f ( 𝜑 → Fun ( 𝑆 ∖ { ∅ } ) )
6 grstructd.d ( 𝜑 → 2 ≤ ( ♯ ‘ dom 𝑆 ) )
7 grstructd.b ( 𝜑 → ( Base ‘ 𝑆 ) = 𝑉 )
8 grstructd.e ( 𝜑 → ( .ef ‘ 𝑆 ) = 𝐸 )
9 funvtxdmge2val ( ( Fun ( 𝑆 ∖ { ∅ } ) ∧ 2 ≤ ( ♯ ‘ dom 𝑆 ) ) → ( Vtx ‘ 𝑆 ) = ( Base ‘ 𝑆 ) )
10 5 6 9 syl2anc ( 𝜑 → ( Vtx ‘ 𝑆 ) = ( Base ‘ 𝑆 ) )
11 10 7 eqtrd ( 𝜑 → ( Vtx ‘ 𝑆 ) = 𝑉 )
12 funiedgdmge2val ( ( Fun ( 𝑆 ∖ { ∅ } ) ∧ 2 ≤ ( ♯ ‘ dom 𝑆 ) ) → ( iEdg ‘ 𝑆 ) = ( .ef ‘ 𝑆 ) )
13 5 6 12 syl2anc ( 𝜑 → ( iEdg ‘ 𝑆 ) = ( .ef ‘ 𝑆 ) )
14 13 8 eqtrd ( 𝜑 → ( iEdg ‘ 𝑆 ) = 𝐸 )
15 11 14 jca ( 𝜑 → ( ( Vtx ‘ 𝑆 ) = 𝑉 ∧ ( iEdg ‘ 𝑆 ) = 𝐸 ) )
16 nfcv 𝑔 𝑆
17 nfv 𝑔 ( ( Vtx ‘ 𝑆 ) = 𝑉 ∧ ( iEdg ‘ 𝑆 ) = 𝐸 )
18 nfsbc1v 𝑔 [ 𝑆 / 𝑔 ] 𝜓
19 17 18 nfim 𝑔 ( ( ( Vtx ‘ 𝑆 ) = 𝑉 ∧ ( iEdg ‘ 𝑆 ) = 𝐸 ) → [ 𝑆 / 𝑔 ] 𝜓 )
20 fveqeq2 ( 𝑔 = 𝑆 → ( ( Vtx ‘ 𝑔 ) = 𝑉 ↔ ( Vtx ‘ 𝑆 ) = 𝑉 ) )
21 fveqeq2 ( 𝑔 = 𝑆 → ( ( iEdg ‘ 𝑔 ) = 𝐸 ↔ ( iEdg ‘ 𝑆 ) = 𝐸 ) )
22 20 21 anbi12d ( 𝑔 = 𝑆 → ( ( ( Vtx ‘ 𝑔 ) = 𝑉 ∧ ( iEdg ‘ 𝑔 ) = 𝐸 ) ↔ ( ( Vtx ‘ 𝑆 ) = 𝑉 ∧ ( iEdg ‘ 𝑆 ) = 𝐸 ) ) )
23 sbceq1a ( 𝑔 = 𝑆 → ( 𝜓[ 𝑆 / 𝑔 ] 𝜓 ) )
24 22 23 imbi12d ( 𝑔 = 𝑆 → ( ( ( ( Vtx ‘ 𝑔 ) = 𝑉 ∧ ( iEdg ‘ 𝑔 ) = 𝐸 ) → 𝜓 ) ↔ ( ( ( Vtx ‘ 𝑆 ) = 𝑉 ∧ ( iEdg ‘ 𝑆 ) = 𝐸 ) → [ 𝑆 / 𝑔 ] 𝜓 ) ) )
25 16 19 24 spcgf ( 𝑆𝑋 → ( ∀ 𝑔 ( ( ( Vtx ‘ 𝑔 ) = 𝑉 ∧ ( iEdg ‘ 𝑔 ) = 𝐸 ) → 𝜓 ) → ( ( ( Vtx ‘ 𝑆 ) = 𝑉 ∧ ( iEdg ‘ 𝑆 ) = 𝐸 ) → [ 𝑆 / 𝑔 ] 𝜓 ) ) )
26 4 1 15 25 syl3c ( 𝜑[ 𝑆 / 𝑔 ] 𝜓 )