Metamath Proof Explorer


Theorem umgrnloopv

Description: In a multigraph, there is no loop, i.e. no edge connecting a vertex with itself. (Contributed by Alexander van der Vekens, 26-Jan-2018) (Revised by AV, 11-Dec-2020)

Ref Expression
Hypothesis umgrnloopv.e ⊢ 𝐸 = ( iEdg ‘ 𝐺 )
Assertion umgrnloopv ( ( 𝐺 ∈ UMGraph ∧ 𝑀 ∈ 𝑊 ) → ( ( 𝐸 ‘ 𝑋 ) = { 𝑀 , 𝑁 } → 𝑀 ≠ 𝑁 ) )

Proof

Step Hyp Ref Expression
1 umgrnloopv.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 eqid ⊢ ( Vtx ‘ 𝐺 ) = ( Vtx ‘ 𝐺 )
10 9 1 umgredg2 ⊢ ( ( 𝐺 ∈ UMGraph ∧ 𝑋 ∈ dom 𝐸 ) → ( ♯ ‘ ( 𝐸 ‘ 𝑋 ) ) = 2 )
11 fveqeq2 ⊢ ( ( 𝐸 ‘ 𝑋 ) = { 𝑀 , 𝑁 } → ( ( ♯ ‘ ( 𝐸 ‘ 𝑋 ) ) = 2 ↔ ( ♯ ‘ { 𝑀 , 𝑁 } ) = 2 ) )
12 eqid ⊢ { 𝑀 , 𝑁 } = { 𝑀 , 𝑁 }
13 12 hashprdifel ⊢ ( ( ♯ ‘ { 𝑀 , 𝑁 } ) = 2 → ( 𝑀 ∈ { 𝑀 , 𝑁 } ∧ 𝑁 ∈ { 𝑀 , 𝑁 } ∧ 𝑀 ≠ 𝑁 ) )
14 13 simp3d ⊢ ( ( ♯ ‘ { 𝑀 , 𝑁 } ) = 2 → 𝑀 ≠ 𝑁 )
15 11 14 biimtrdi ⊢ ( ( 𝐸 ‘ 𝑋 ) = { 𝑀 , 𝑁 } → ( ( ♯ ‘ ( 𝐸 ‘ 𝑋 ) ) = 2 → 𝑀 ≠ 𝑁 ) )
16 15 adantr ⊢ ( ( ( 𝐸 ‘ 𝑋 ) = { 𝑀 , 𝑁 } ∧ 𝑀 ∈ 𝑊 ) → ( ( ♯ ‘ ( 𝐸 ‘ 𝑋 ) ) = 2 → 𝑀 ≠ 𝑁 ) )
17 10 16 syl5com ⊢ ( ( 𝐺 ∈ UMGraph ∧ 𝑋 ∈ dom 𝐸 ) → ( ( ( 𝐸 ‘ 𝑋 ) = { 𝑀 , 𝑁 } ∧ 𝑀 ∈ 𝑊 ) → 𝑀 ≠ 𝑁 ) )
18 17 expcom ⊢ ( 𝑋 ∈ dom 𝐸 → ( 𝐺 ∈ UMGraph → ( ( ( 𝐸 ‘ 𝑋 ) = { 𝑀 , 𝑁 } ∧ 𝑀 ∈ 𝑊 ) → 𝑀 ≠ 𝑁 ) ) )
19 18 com23 ⊢ ( 𝑋 ∈ dom 𝐸 → ( ( ( 𝐸 ‘ 𝑋 ) = { 𝑀 , 𝑁 } ∧ 𝑀 ∈ 𝑊 ) → ( 𝐺 ∈ UMGraph → 𝑀 ≠ 𝑁 ) ) )
20 19 adantr ⊢ ( ( 𝑋 ∈ dom 𝐸 ∧ Fun ( 𝐸 ↾ { 𝑋 } ) ) → ( ( ( 𝐸 ‘ 𝑋 ) = { 𝑀 , 𝑁 } ∧ 𝑀 ∈ 𝑊 ) → ( 𝐺 ∈ UMGraph → 𝑀 ≠ 𝑁 ) ) )
21 8 20 mpcom ⊢ ( ( ( 𝐸 ‘ 𝑋 ) = { 𝑀 , 𝑁 } ∧ 𝑀 ∈ 𝑊 ) → ( 𝐺 ∈ UMGraph → 𝑀 ≠ 𝑁 ) )
22 21 ex ⊢ ( ( 𝐸 ‘ 𝑋 ) = { 𝑀 , 𝑁 } → ( 𝑀 ∈ 𝑊 → ( 𝐺 ∈ UMGraph → 𝑀 ≠ 𝑁 ) ) )
23 22 com13 ⊢ ( 𝐺 ∈ UMGraph → ( 𝑀 ∈ 𝑊 → ( ( 𝐸 ‘ 𝑋 ) = { 𝑀 , 𝑁 } → 𝑀 ≠ 𝑁 ) ) )
24 23 imp ⊢ ( ( 𝐺 ∈ UMGraph ∧ 𝑀 ∈ 𝑊 ) → ( ( 𝐸 ‘ 𝑋 ) = { 𝑀 , 𝑁 } → 𝑀 ≠ 𝑁 ) )