Metamath Proof Explorer


Theorem usgrnloopvALT

Description: Alternate proof of usgrnloopv , not using umgrnloopv . (Contributed by Alexander van der Vekens, 26-Jan-2018) (Revised by AV, 17-Oct-2020) (New usage is discouraged.) (Proof modification is discouraged.)

Ref Expression
Hypothesis usgrnloopv.e 𝐸 = ( iEdg ‘ 𝐺 )
Assertion usgrnloopvALT ( ( 𝐺 ∈ USGraph ∧ 𝑀𝑊 ) → ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } → 𝑀𝑁 ) )

Proof

Step Hyp Ref Expression
1 usgrnloopv.e 𝐸 = ( iEdg ‘ 𝐺 )
2 prnzg ( 𝑀𝑊 → { 𝑀 , 𝑁 } ≠ ∅ )
3 2 adantl ( ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } ∧ 𝑀𝑊 ) → { 𝑀 , 𝑁 } ≠ ∅ )
4 neeq1 ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } → ( ( 𝐸𝑋 ) ≠ ∅ ↔ { 𝑀 , 𝑁 } ≠ ∅ ) )
5 4 adantr ( ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } ∧ 𝑀𝑊 ) → ( ( 𝐸𝑋 ) ≠ ∅ ↔ { 𝑀 , 𝑁 } ≠ ∅ ) )
6 3 5 mpbird ( ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } ∧ 𝑀𝑊 ) → ( 𝐸𝑋 ) ≠ ∅ )
7 fvfundmfvn0 ( ( 𝐸𝑋 ) ≠ ∅ → ( 𝑋 ∈ dom 𝐸 ∧ Fun ( 𝐸 ↾ { 𝑋 } ) ) )
8 6 7 syl ( ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } ∧ 𝑀𝑊 ) → ( 𝑋 ∈ dom 𝐸 ∧ Fun ( 𝐸 ↾ { 𝑋 } ) ) )
9 1 usgredg2 ( ( 𝐺 ∈ USGraph ∧ 𝑋 ∈ dom 𝐸 ) → ( ♯ ‘ ( 𝐸𝑋 ) ) = 2 )
10 fveq2 ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } → ( ♯ ‘ ( 𝐸𝑋 ) ) = ( ♯ ‘ { 𝑀 , 𝑁 } ) )
11 10 eqeq1d ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } → ( ( ♯ ‘ ( 𝐸𝑋 ) ) = 2 ↔ ( ♯ ‘ { 𝑀 , 𝑁 } ) = 2 ) )
12 eqid { 𝑀 , 𝑁 } = { 𝑀 , 𝑁 }
13 12 hashprdifel ( ( ♯ ‘ { 𝑀 , 𝑁 } ) = 2 → ( 𝑀 ∈ { 𝑀 , 𝑁 } ∧ 𝑁 ∈ { 𝑀 , 𝑁 } ∧ 𝑀𝑁 ) )
14 13 simp3d ( ( ♯ ‘ { 𝑀 , 𝑁 } ) = 2 → 𝑀𝑁 )
15 11 14 syl6bi ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } → ( ( ♯ ‘ ( 𝐸𝑋 ) ) = 2 → 𝑀𝑁 ) )
16 15 adantr ( ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } ∧ 𝑀𝑊 ) → ( ( ♯ ‘ ( 𝐸𝑋 ) ) = 2 → 𝑀𝑁 ) )
17 9 16 syl5com ( ( 𝐺 ∈ USGraph ∧ 𝑋 ∈ dom 𝐸 ) → ( ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } ∧ 𝑀𝑊 ) → 𝑀𝑁 ) )
18 17 expcom ( 𝑋 ∈ dom 𝐸 → ( 𝐺 ∈ USGraph → ( ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } ∧ 𝑀𝑊 ) → 𝑀𝑁 ) ) )
19 18 com23 ( 𝑋 ∈ dom 𝐸 → ( ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } ∧ 𝑀𝑊 ) → ( 𝐺 ∈ USGraph → 𝑀𝑁 ) ) )
20 19 adantr ( ( 𝑋 ∈ dom 𝐸 ∧ Fun ( 𝐸 ↾ { 𝑋 } ) ) → ( ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } ∧ 𝑀𝑊 ) → ( 𝐺 ∈ USGraph → 𝑀𝑁 ) ) )
21 8 20 mpcom ( ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } ∧ 𝑀𝑊 ) → ( 𝐺 ∈ USGraph → 𝑀𝑁 ) )
22 21 ex ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } → ( 𝑀𝑊 → ( 𝐺 ∈ USGraph → 𝑀𝑁 ) ) )
23 22 com13 ( 𝐺 ∈ USGraph → ( 𝑀𝑊 → ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } → 𝑀𝑁 ) ) )
24 23 imp ( ( 𝐺 ∈ USGraph ∧ 𝑀𝑊 ) → ( ( 𝐸𝑋 ) = { 𝑀 , 𝑁 } → 𝑀𝑁 ) )