Metamath Proof Explorer


Theorem frgrwopreglem5

Description: Lemma 5 for frgrwopreg . If A as well as B contain at least two vertices, there is a 4-cycle in a friendship graph. This corresponds to statement 6 in Huneke p. 2: "... otherwise, there are two different vertices in A, and they have two common neighbors in B, ...". (Contributed by Alexander van der Vekens, 31-Dec-2017) (Proof shortened by AV, 5-Feb-2022)

Ref Expression
Hypotheses frgrwopreg.v 𝑉 = ( Vtx ‘ 𝐺 )
frgrwopreg.d 𝐷 = ( VtxDeg ‘ 𝐺 )
frgrwopreg.a 𝐴 = { 𝑥𝑉 ∣ ( 𝐷𝑥 ) = 𝐾 }
frgrwopreg.b 𝐵 = ( 𝑉𝐴 )
frgrwopreg.e 𝐸 = ( Edg ‘ 𝐺 )
Assertion frgrwopreglem5 ( ( 𝐺 ∈ FriendGraph ∧ 1 < ( ♯ ‘ 𝐴 ) ∧ 1 < ( ♯ ‘ 𝐵 ) ) → ∃ 𝑎𝐴𝑥𝐴𝑏𝐵𝑦𝐵 ( ( 𝑎𝑥𝑏𝑦 ) ∧ ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) )

Proof

Step Hyp Ref Expression
1 frgrwopreg.v 𝑉 = ( Vtx ‘ 𝐺 )
2 frgrwopreg.d 𝐷 = ( VtxDeg ‘ 𝐺 )
3 frgrwopreg.a 𝐴 = { 𝑥𝑉 ∣ ( 𝐷𝑥 ) = 𝐾 }
4 frgrwopreg.b 𝐵 = ( 𝑉𝐴 )
5 frgrwopreg.e 𝐸 = ( Edg ‘ 𝐺 )
6 simpllr ( ( ( ( 𝐺 ∈ FriendGraph ∧ 𝑎𝑥 ) ∧ ( 𝑎𝐴𝑥𝐴 ) ) ∧ ( 𝑏𝐵𝑦𝐵 ) ) → 𝑎𝑥 )
7 6 anim1i ( ( ( ( ( 𝐺 ∈ FriendGraph ∧ 𝑎𝑥 ) ∧ ( 𝑎𝐴𝑥𝐴 ) ) ∧ ( 𝑏𝐵𝑦𝐵 ) ) ∧ 𝑏𝑦 ) → ( 𝑎𝑥𝑏𝑦 ) )
8 simplll ( ( ( ( 𝐺 ∈ FriendGraph ∧ 𝑎𝑥 ) ∧ ( 𝑎𝐴𝑥𝐴 ) ) ∧ ( 𝑏𝐵𝑦𝐵 ) ) → 𝐺 ∈ FriendGraph )
9 fveqeq2 ( 𝑥 = 𝑎 → ( ( 𝐷𝑥 ) = 𝐾 ↔ ( 𝐷𝑎 ) = 𝐾 ) )
10 9 3 elrab2 ( 𝑎𝐴 ↔ ( 𝑎𝑉 ∧ ( 𝐷𝑎 ) = 𝐾 ) )
11 10 simplbi ( 𝑎𝐴𝑎𝑉 )
12 rabidim1 ( 𝑥 ∈ { 𝑥𝑉 ∣ ( 𝐷𝑥 ) = 𝐾 } → 𝑥𝑉 )
13 12 3 eleq2s ( 𝑥𝐴𝑥𝑉 )
14 11 13 anim12i ( ( 𝑎𝐴𝑥𝐴 ) → ( 𝑎𝑉𝑥𝑉 ) )
15 14 adantl ( ( ( 𝐺 ∈ FriendGraph ∧ 𝑎𝑥 ) ∧ ( 𝑎𝐴𝑥𝐴 ) ) → ( 𝑎𝑉𝑥𝑉 ) )
16 eldifi ( 𝑏 ∈ ( 𝑉𝐴 ) → 𝑏𝑉 )
17 16 4 eleq2s ( 𝑏𝐵𝑏𝑉 )
18 eldifi ( 𝑦 ∈ ( 𝑉𝐴 ) → 𝑦𝑉 )
19 18 4 eleq2s ( 𝑦𝐵𝑦𝑉 )
20 17 19 anim12i ( ( 𝑏𝐵𝑦𝐵 ) → ( 𝑏𝑉𝑦𝑉 ) )
21 15 20 anim12i ( ( ( ( 𝐺 ∈ FriendGraph ∧ 𝑎𝑥 ) ∧ ( 𝑎𝐴𝑥𝐴 ) ) ∧ ( 𝑏𝐵𝑦𝐵 ) ) → ( ( 𝑎𝑉𝑥𝑉 ) ∧ ( 𝑏𝑉𝑦𝑉 ) ) )
22 1 2 3 4 5 frgrwopreglem5lem ( ( ( 𝑎𝐴𝑥𝐴 ) ∧ ( 𝑏𝐵𝑦𝐵 ) ) → ( ( 𝐷𝑎 ) = ( 𝐷𝑥 ) ∧ ( 𝐷𝑎 ) ≠ ( 𝐷𝑏 ) ∧ ( 𝐷𝑥 ) ≠ ( 𝐷𝑦 ) ) )
23 22 adantll ( ( ( ( 𝐺 ∈ FriendGraph ∧ 𝑎𝑥 ) ∧ ( 𝑎𝐴𝑥𝐴 ) ) ∧ ( 𝑏𝐵𝑦𝐵 ) ) → ( ( 𝐷𝑎 ) = ( 𝐷𝑥 ) ∧ ( 𝐷𝑎 ) ≠ ( 𝐷𝑏 ) ∧ ( 𝐷𝑥 ) ≠ ( 𝐷𝑦 ) ) )
24 8 21 23 3jca ( ( ( ( 𝐺 ∈ FriendGraph ∧ 𝑎𝑥 ) ∧ ( 𝑎𝐴𝑥𝐴 ) ) ∧ ( 𝑏𝐵𝑦𝐵 ) ) → ( 𝐺 ∈ FriendGraph ∧ ( ( 𝑎𝑉𝑥𝑉 ) ∧ ( 𝑏𝑉𝑦𝑉 ) ) ∧ ( ( 𝐷𝑎 ) = ( 𝐷𝑥 ) ∧ ( 𝐷𝑎 ) ≠ ( 𝐷𝑏 ) ∧ ( 𝐷𝑥 ) ≠ ( 𝐷𝑦 ) ) ) )
25 24 adantr ( ( ( ( ( 𝐺 ∈ FriendGraph ∧ 𝑎𝑥 ) ∧ ( 𝑎𝐴𝑥𝐴 ) ) ∧ ( 𝑏𝐵𝑦𝐵 ) ) ∧ 𝑏𝑦 ) → ( 𝐺 ∈ FriendGraph ∧ ( ( 𝑎𝑉𝑥𝑉 ) ∧ ( 𝑏𝑉𝑦𝑉 ) ) ∧ ( ( 𝐷𝑎 ) = ( 𝐷𝑥 ) ∧ ( 𝐷𝑎 ) ≠ ( 𝐷𝑏 ) ∧ ( 𝐷𝑥 ) ≠ ( 𝐷𝑦 ) ) ) )
26 1 2 5 frgrwopreglem5a ( ( 𝐺 ∈ FriendGraph ∧ ( ( 𝑎𝑉𝑥𝑉 ) ∧ ( 𝑏𝑉𝑦𝑉 ) ) ∧ ( ( 𝐷𝑎 ) = ( 𝐷𝑥 ) ∧ ( 𝐷𝑎 ) ≠ ( 𝐷𝑏 ) ∧ ( 𝐷𝑥 ) ≠ ( 𝐷𝑦 ) ) ) → ( ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) )
27 25 26 syl ( ( ( ( ( 𝐺 ∈ FriendGraph ∧ 𝑎𝑥 ) ∧ ( 𝑎𝐴𝑥𝐴 ) ) ∧ ( 𝑏𝐵𝑦𝐵 ) ) ∧ 𝑏𝑦 ) → ( ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) )
28 3anass ( ( ( 𝑎𝑥𝑏𝑦 ) ∧ ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) ↔ ( ( 𝑎𝑥𝑏𝑦 ) ∧ ( ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) ) )
29 7 27 28 sylanbrc ( ( ( ( ( 𝐺 ∈ FriendGraph ∧ 𝑎𝑥 ) ∧ ( 𝑎𝐴𝑥𝐴 ) ) ∧ ( 𝑏𝐵𝑦𝐵 ) ) ∧ 𝑏𝑦 ) → ( ( 𝑎𝑥𝑏𝑦 ) ∧ ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) )
30 29 ex ( ( ( ( 𝐺 ∈ FriendGraph ∧ 𝑎𝑥 ) ∧ ( 𝑎𝐴𝑥𝐴 ) ) ∧ ( 𝑏𝐵𝑦𝐵 ) ) → ( 𝑏𝑦 → ( ( 𝑎𝑥𝑏𝑦 ) ∧ ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) ) )
31 30 reximdvva ( ( ( 𝐺 ∈ FriendGraph ∧ 𝑎𝑥 ) ∧ ( 𝑎𝐴𝑥𝐴 ) ) → ( ∃ 𝑏𝐵𝑦𝐵 𝑏𝑦 → ∃ 𝑏𝐵𝑦𝐵 ( ( 𝑎𝑥𝑏𝑦 ) ∧ ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) ) )
32 31 exp31 ( 𝐺 ∈ FriendGraph → ( 𝑎𝑥 → ( ( 𝑎𝐴𝑥𝐴 ) → ( ∃ 𝑏𝐵𝑦𝐵 𝑏𝑦 → ∃ 𝑏𝐵𝑦𝐵 ( ( 𝑎𝑥𝑏𝑦 ) ∧ ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) ) ) ) )
33 32 com24 ( 𝐺 ∈ FriendGraph → ( ∃ 𝑏𝐵𝑦𝐵 𝑏𝑦 → ( ( 𝑎𝐴𝑥𝐴 ) → ( 𝑎𝑥 → ∃ 𝑏𝐵𝑦𝐵 ( ( 𝑎𝑥𝑏𝑦 ) ∧ ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) ) ) ) )
34 33 imp31 ( ( ( 𝐺 ∈ FriendGraph ∧ ∃ 𝑏𝐵𝑦𝐵 𝑏𝑦 ) ∧ ( 𝑎𝐴𝑥𝐴 ) ) → ( 𝑎𝑥 → ∃ 𝑏𝐵𝑦𝐵 ( ( 𝑎𝑥𝑏𝑦 ) ∧ ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) ) )
35 34 reximdvva ( ( 𝐺 ∈ FriendGraph ∧ ∃ 𝑏𝐵𝑦𝐵 𝑏𝑦 ) → ( ∃ 𝑎𝐴𝑥𝐴 𝑎𝑥 → ∃ 𝑎𝐴𝑥𝐴𝑏𝐵𝑦𝐵 ( ( 𝑎𝑥𝑏𝑦 ) ∧ ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) ) )
36 35 ex ( 𝐺 ∈ FriendGraph → ( ∃ 𝑏𝐵𝑦𝐵 𝑏𝑦 → ( ∃ 𝑎𝐴𝑥𝐴 𝑎𝑥 → ∃ 𝑎𝐴𝑥𝐴𝑏𝐵𝑦𝐵 ( ( 𝑎𝑥𝑏𝑦 ) ∧ ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) ) ) )
37 36 com13 ( ∃ 𝑎𝐴𝑥𝐴 𝑎𝑥 → ( ∃ 𝑏𝐵𝑦𝐵 𝑏𝑦 → ( 𝐺 ∈ FriendGraph → ∃ 𝑎𝐴𝑥𝐴𝑏𝐵𝑦𝐵 ( ( 𝑎𝑥𝑏𝑦 ) ∧ ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) ) ) )
38 37 imp ( ( ∃ 𝑎𝐴𝑥𝐴 𝑎𝑥 ∧ ∃ 𝑏𝐵𝑦𝐵 𝑏𝑦 ) → ( 𝐺 ∈ FriendGraph → ∃ 𝑎𝐴𝑥𝐴𝑏𝐵𝑦𝐵 ( ( 𝑎𝑥𝑏𝑦 ) ∧ ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) ) )
39 1 2 3 4 frgrwopreglem1 ( 𝐴 ∈ V ∧ 𝐵 ∈ V )
40 hashgt12el ( ( 𝐴 ∈ V ∧ 1 < ( ♯ ‘ 𝐴 ) ) → ∃ 𝑎𝐴𝑥𝐴 𝑎𝑥 )
41 40 ex ( 𝐴 ∈ V → ( 1 < ( ♯ ‘ 𝐴 ) → ∃ 𝑎𝐴𝑥𝐴 𝑎𝑥 ) )
42 hashgt12el ( ( 𝐵 ∈ V ∧ 1 < ( ♯ ‘ 𝐵 ) ) → ∃ 𝑏𝐵𝑦𝐵 𝑏𝑦 )
43 42 ex ( 𝐵 ∈ V → ( 1 < ( ♯ ‘ 𝐵 ) → ∃ 𝑏𝐵𝑦𝐵 𝑏𝑦 ) )
44 41 43 im2anan9 ( ( 𝐴 ∈ V ∧ 𝐵 ∈ V ) → ( ( 1 < ( ♯ ‘ 𝐴 ) ∧ 1 < ( ♯ ‘ 𝐵 ) ) → ( ∃ 𝑎𝐴𝑥𝐴 𝑎𝑥 ∧ ∃ 𝑏𝐵𝑦𝐵 𝑏𝑦 ) ) )
45 39 44 ax-mp ( ( 1 < ( ♯ ‘ 𝐴 ) ∧ 1 < ( ♯ ‘ 𝐵 ) ) → ( ∃ 𝑎𝐴𝑥𝐴 𝑎𝑥 ∧ ∃ 𝑏𝐵𝑦𝐵 𝑏𝑦 ) )
46 38 45 syl11 ( 𝐺 ∈ FriendGraph → ( ( 1 < ( ♯ ‘ 𝐴 ) ∧ 1 < ( ♯ ‘ 𝐵 ) ) → ∃ 𝑎𝐴𝑥𝐴𝑏𝐵𝑦𝐵 ( ( 𝑎𝑥𝑏𝑦 ) ∧ ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) ) )
47 46 3impib ( ( 𝐺 ∈ FriendGraph ∧ 1 < ( ♯ ‘ 𝐴 ) ∧ 1 < ( ♯ ‘ 𝐵 ) ) → ∃ 𝑎𝐴𝑥𝐴𝑏𝐵𝑦𝐵 ( ( 𝑎𝑥𝑏𝑦 ) ∧ ( { 𝑎 , 𝑏 } ∈ 𝐸 ∧ { 𝑏 , 𝑥 } ∈ 𝐸 ) ∧ ( { 𝑥 , 𝑦 } ∈ 𝐸 ∧ { 𝑦 , 𝑎 } ∈ 𝐸 ) ) )