Metamath Proof Explorer


Theorem usgrstrrepe

Description: Replacing (or adding) the edges (between elements of the base set) of an extensible structure results in a simple graph. Instead of requiring ( ph -> G Struct X ) , it would be sufficient to require ( ph -> Fun ( G \ { (/) } ) ) and ( ph -> G e. _V ) . (Contributed by AV, 13-Nov-2021) (Proof shortened by AV, 16-Nov-2021)

Ref Expression
Hypotheses usgrstrrepe.v 𝑉 = ( Base ‘ 𝐺 )
usgrstrrepe.i 𝐼 = ( .ef ‘ ndx )
usgrstrrepe.s ( 𝜑𝐺 Struct 𝑋 )
usgrstrrepe.b ( 𝜑 → ( Base ‘ ndx ) ∈ dom 𝐺 )
usgrstrrepe.w ( 𝜑𝐸𝑊 )
usgrstrrepe.e ( 𝜑𝐸 : dom 𝐸1-1→ { 𝑥 ∈ 𝒫 𝑉 ∣ ( ♯ ‘ 𝑥 ) = 2 } )
Assertion usgrstrrepe ( 𝜑 → ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ∈ USGraph )

Proof

Step Hyp Ref Expression
1 usgrstrrepe.v 𝑉 = ( Base ‘ 𝐺 )
2 usgrstrrepe.i 𝐼 = ( .ef ‘ ndx )
3 usgrstrrepe.s ( 𝜑𝐺 Struct 𝑋 )
4 usgrstrrepe.b ( 𝜑 → ( Base ‘ ndx ) ∈ dom 𝐺 )
5 usgrstrrepe.w ( 𝜑𝐸𝑊 )
6 usgrstrrepe.e ( 𝜑𝐸 : dom 𝐸1-1→ { 𝑥 ∈ 𝒫 𝑉 ∣ ( ♯ ‘ 𝑥 ) = 2 } )
7 2 3 4 5 setsvtx ( 𝜑 → ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) = ( Base ‘ 𝐺 ) )
8 7 1 eqtr4di ( 𝜑 → ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) = 𝑉 )
9 8 pweqd ( 𝜑 → 𝒫 ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) = 𝒫 𝑉 )
10 9 rabeqdv ( 𝜑 → { 𝑥 ∈ 𝒫 ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) ∣ ( ♯ ‘ 𝑥 ) = 2 } = { 𝑥 ∈ 𝒫 𝑉 ∣ ( ♯ ‘ 𝑥 ) = 2 } )
11 f1eq3 ( { 𝑥 ∈ 𝒫 ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) ∣ ( ♯ ‘ 𝑥 ) = 2 } = { 𝑥 ∈ 𝒫 𝑉 ∣ ( ♯ ‘ 𝑥 ) = 2 } → ( 𝐸 : dom 𝐸1-1→ { 𝑥 ∈ 𝒫 ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) ∣ ( ♯ ‘ 𝑥 ) = 2 } ↔ 𝐸 : dom 𝐸1-1→ { 𝑥 ∈ 𝒫 𝑉 ∣ ( ♯ ‘ 𝑥 ) = 2 } ) )
12 10 11 syl ( 𝜑 → ( 𝐸 : dom 𝐸1-1→ { 𝑥 ∈ 𝒫 ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) ∣ ( ♯ ‘ 𝑥 ) = 2 } ↔ 𝐸 : dom 𝐸1-1→ { 𝑥 ∈ 𝒫 𝑉 ∣ ( ♯ ‘ 𝑥 ) = 2 } ) )
13 6 12 mpbird ( 𝜑𝐸 : dom 𝐸1-1→ { 𝑥 ∈ 𝒫 ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) ∣ ( ♯ ‘ 𝑥 ) = 2 } )
14 2 3 4 5 setsiedg ( 𝜑 → ( iEdg ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) = 𝐸 )
15 14 dmeqd ( 𝜑 → dom ( iEdg ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) = dom 𝐸 )
16 eqidd ( 𝜑 → { 𝑥 ∈ 𝒫 ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) ∣ ( ♯ ‘ 𝑥 ) = 2 } = { 𝑥 ∈ 𝒫 ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) ∣ ( ♯ ‘ 𝑥 ) = 2 } )
17 14 15 16 f1eq123d ( 𝜑 → ( ( iEdg ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) : dom ( iEdg ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) –1-1→ { 𝑥 ∈ 𝒫 ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) ∣ ( ♯ ‘ 𝑥 ) = 2 } ↔ 𝐸 : dom 𝐸1-1→ { 𝑥 ∈ 𝒫 ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) ∣ ( ♯ ‘ 𝑥 ) = 2 } ) )
18 13 17 mpbird ( 𝜑 → ( iEdg ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) : dom ( iEdg ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) –1-1→ { 𝑥 ∈ 𝒫 ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) ∣ ( ♯ ‘ 𝑥 ) = 2 } )
19 ovex ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ∈ V
20 eqid ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) = ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) )
21 eqid ( iEdg ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) = ( iEdg ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) )
22 20 21 isusgrs ( ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ∈ V → ( ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ∈ USGraph ↔ ( iEdg ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) : dom ( iEdg ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) –1-1→ { 𝑥 ∈ 𝒫 ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) ∣ ( ♯ ‘ 𝑥 ) = 2 } ) )
23 19 22 mp1i ( 𝜑 → ( ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ∈ USGraph ↔ ( iEdg ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) : dom ( iEdg ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) –1-1→ { 𝑥 ∈ 𝒫 ( Vtx ‘ ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ) ∣ ( ♯ ‘ 𝑥 ) = 2 } ) )
24 18 23 mpbird ( 𝜑 → ( 𝐺 sSet ⟨ 𝐼 , 𝐸 ⟩ ) ∈ USGraph )