Metamath Proof Explorer


Theorem lfuhgr2

Description: A hypergraph is loop-free if and only if every edge is not a loop. (Contributed by BTernaryTau, 15-Oct-2023)

Ref Expression
Hypotheses lfuhgr.1 𝑉 = ( Vtx ‘ 𝐺 )
lfuhgr.2 𝐼 = ( iEdg ‘ 𝐺 )
Assertion lfuhgr2 ( 𝐺 ∈ UHGraph → ( 𝐼 : dom 𝐼 ⟶ { 𝑥 ∈ 𝒫 𝑉 ∣ 2 ≤ ( ♯ ‘ 𝑥 ) } ↔ ∀ 𝑥 ∈ ( Edg ‘ 𝐺 ) ( ♯ ‘ 𝑥 ) ≠ 1 ) )

Proof

Step Hyp Ref Expression
1 lfuhgr.1 𝑉 = ( Vtx ‘ 𝐺 )
2 lfuhgr.2 𝐼 = ( iEdg ‘ 𝐺 )
3 1 2 lfuhgr ( 𝐺 ∈ UHGraph → ( 𝐼 : dom 𝐼 ⟶ { 𝑥 ∈ 𝒫 𝑉 ∣ 2 ≤ ( ♯ ‘ 𝑥 ) } ↔ ∀ 𝑥 ∈ ( Edg ‘ 𝐺 ) 2 ≤ ( ♯ ‘ 𝑥 ) ) )
4 uhgredgn0 ( ( 𝐺 ∈ UHGraph ∧ 𝑥 ∈ ( Edg ‘ 𝐺 ) ) → 𝑥 ∈ ( 𝒫 ( Vtx ‘ 𝐺 ) ∖ { ∅ } ) )
5 eldifsni ( 𝑥 ∈ ( 𝒫 ( Vtx ‘ 𝐺 ) ∖ { ∅ } ) → 𝑥 ≠ ∅ )
6 4 5 syl ( ( 𝐺 ∈ UHGraph ∧ 𝑥 ∈ ( Edg ‘ 𝐺 ) ) → 𝑥 ≠ ∅ )
7 hashneq0 ( 𝑥 ∈ V → ( 0 < ( ♯ ‘ 𝑥 ) ↔ 𝑥 ≠ ∅ ) )
8 7 elv ( 0 < ( ♯ ‘ 𝑥 ) ↔ 𝑥 ≠ ∅ )
9 6 8 sylibr ( ( 𝐺 ∈ UHGraph ∧ 𝑥 ∈ ( Edg ‘ 𝐺 ) ) → 0 < ( ♯ ‘ 𝑥 ) )
10 9 gt0ne0d ( ( 𝐺 ∈ UHGraph ∧ 𝑥 ∈ ( Edg ‘ 𝐺 ) ) → ( ♯ ‘ 𝑥 ) ≠ 0 )
11 hashxnn0 ( 𝑥 ∈ V → ( ♯ ‘ 𝑥 ) ∈ ℕ0* )
12 11 elv ( ♯ ‘ 𝑥 ) ∈ ℕ0*
13 xnn0n0n1ge2b ( ( ♯ ‘ 𝑥 ) ∈ ℕ0* → ( ( ( ♯ ‘ 𝑥 ) ≠ 0 ∧ ( ♯ ‘ 𝑥 ) ≠ 1 ) ↔ 2 ≤ ( ♯ ‘ 𝑥 ) ) )
14 12 13 ax-mp ( ( ( ♯ ‘ 𝑥 ) ≠ 0 ∧ ( ♯ ‘ 𝑥 ) ≠ 1 ) ↔ 2 ≤ ( ♯ ‘ 𝑥 ) )
15 14 biimpi ( ( ( ♯ ‘ 𝑥 ) ≠ 0 ∧ ( ♯ ‘ 𝑥 ) ≠ 1 ) → 2 ≤ ( ♯ ‘ 𝑥 ) )
16 10 15 stoic3 ( ( 𝐺 ∈ UHGraph ∧ 𝑥 ∈ ( Edg ‘ 𝐺 ) ∧ ( ♯ ‘ 𝑥 ) ≠ 1 ) → 2 ≤ ( ♯ ‘ 𝑥 ) )
17 16 3exp ( 𝐺 ∈ UHGraph → ( 𝑥 ∈ ( Edg ‘ 𝐺 ) → ( ( ♯ ‘ 𝑥 ) ≠ 1 → 2 ≤ ( ♯ ‘ 𝑥 ) ) ) )
18 17 a2d ( 𝐺 ∈ UHGraph → ( ( 𝑥 ∈ ( Edg ‘ 𝐺 ) → ( ♯ ‘ 𝑥 ) ≠ 1 ) → ( 𝑥 ∈ ( Edg ‘ 𝐺 ) → 2 ≤ ( ♯ ‘ 𝑥 ) ) ) )
19 18 ralimdv2 ( 𝐺 ∈ UHGraph → ( ∀ 𝑥 ∈ ( Edg ‘ 𝐺 ) ( ♯ ‘ 𝑥 ) ≠ 1 → ∀ 𝑥 ∈ ( Edg ‘ 𝐺 ) 2 ≤ ( ♯ ‘ 𝑥 ) ) )
20 1xr 1 ∈ ℝ*
21 hashxrcl ( 𝑥 ∈ V → ( ♯ ‘ 𝑥 ) ∈ ℝ* )
22 21 elv ( ♯ ‘ 𝑥 ) ∈ ℝ*
23 1lt2 1 < 2
24 2re 2 ∈ ℝ
25 24 rexri 2 ∈ ℝ*
26 xrltletr ( ( 1 ∈ ℝ* ∧ 2 ∈ ℝ* ∧ ( ♯ ‘ 𝑥 ) ∈ ℝ* ) → ( ( 1 < 2 ∧ 2 ≤ ( ♯ ‘ 𝑥 ) ) → 1 < ( ♯ ‘ 𝑥 ) ) )
27 20 25 22 26 mp3an ( ( 1 < 2 ∧ 2 ≤ ( ♯ ‘ 𝑥 ) ) → 1 < ( ♯ ‘ 𝑥 ) )
28 23 27 mpan ( 2 ≤ ( ♯ ‘ 𝑥 ) → 1 < ( ♯ ‘ 𝑥 ) )
29 xrltne ( ( 1 ∈ ℝ* ∧ ( ♯ ‘ 𝑥 ) ∈ ℝ* ∧ 1 < ( ♯ ‘ 𝑥 ) ) → ( ♯ ‘ 𝑥 ) ≠ 1 )
30 20 22 28 29 mp3an12i ( 2 ≤ ( ♯ ‘ 𝑥 ) → ( ♯ ‘ 𝑥 ) ≠ 1 )
31 30 ralimi ( ∀ 𝑥 ∈ ( Edg ‘ 𝐺 ) 2 ≤ ( ♯ ‘ 𝑥 ) → ∀ 𝑥 ∈ ( Edg ‘ 𝐺 ) ( ♯ ‘ 𝑥 ) ≠ 1 )
32 19 31 impbid1 ( 𝐺 ∈ UHGraph → ( ∀ 𝑥 ∈ ( Edg ‘ 𝐺 ) ( ♯ ‘ 𝑥 ) ≠ 1 ↔ ∀ 𝑥 ∈ ( Edg ‘ 𝐺 ) 2 ≤ ( ♯ ‘ 𝑥 ) ) )
33 3 32 bitr4d ( 𝐺 ∈ UHGraph → ( 𝐼 : dom 𝐼 ⟶ { 𝑥 ∈ 𝒫 𝑉 ∣ 2 ≤ ( ♯ ‘ 𝑥 ) } ↔ ∀ 𝑥 ∈ ( Edg ‘ 𝐺 ) ( ♯ ‘ 𝑥 ) ≠ 1 ) )