Metamath Proof Explorer


Theorem hashfun

Description: A finite set is a function iff it is equinumerous to its domain. (Contributed by Mario Carneiro, 26-Sep-2013) (Revised by Mario Carneiro, 12-Mar-2015)

Ref Expression
Assertion hashfun ( 𝐹 ∈ Fin → ( Fun 𝐹 ↔ ( ♯ ‘ 𝐹 ) = ( ♯ ‘ dom 𝐹 ) ) )

Proof

Step Hyp Ref Expression
1 funfn ( Fun 𝐹𝐹 Fn dom 𝐹 )
2 hashfn ( 𝐹 Fn dom 𝐹 → ( ♯ ‘ 𝐹 ) = ( ♯ ‘ dom 𝐹 ) )
3 1 2 sylbi ( Fun 𝐹 → ( ♯ ‘ 𝐹 ) = ( ♯ ‘ dom 𝐹 ) )
4 dmfi ( 𝐹 ∈ Fin → dom 𝐹 ∈ Fin )
5 hashcl ( dom 𝐹 ∈ Fin → ( ♯ ‘ dom 𝐹 ) ∈ ℕ0 )
6 4 5 syl ( 𝐹 ∈ Fin → ( ♯ ‘ dom 𝐹 ) ∈ ℕ0 )
7 6 nn0red ( 𝐹 ∈ Fin → ( ♯ ‘ dom 𝐹 ) ∈ ℝ )
8 7 adantr ( ( 𝐹 ∈ Fin ∧ ¬ Rel 𝐹 ) → ( ♯ ‘ dom 𝐹 ) ∈ ℝ )
9 df-rel ( Rel 𝐹𝐹 ⊆ ( V × V ) )
10 dfss3 ( 𝐹 ⊆ ( V × V ) ↔ ∀ 𝑥𝐹 𝑥 ∈ ( V × V ) )
11 9 10 bitri ( Rel 𝐹 ↔ ∀ 𝑥𝐹 𝑥 ∈ ( V × V ) )
12 11 notbii ( ¬ Rel 𝐹 ↔ ¬ ∀ 𝑥𝐹 𝑥 ∈ ( V × V ) )
13 rexnal ( ∃ 𝑥𝐹 ¬ 𝑥 ∈ ( V × V ) ↔ ¬ ∀ 𝑥𝐹 𝑥 ∈ ( V × V ) )
14 12 13 bitr4i ( ¬ Rel 𝐹 ↔ ∃ 𝑥𝐹 ¬ 𝑥 ∈ ( V × V ) )
15 dmun dom ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) = ( dom ( 𝐹 ∖ { 𝑥 } ) ∪ dom { 𝑥 } )
16 15 fveq2i ( ♯ ‘ dom ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) = ( ♯ ‘ ( dom ( 𝐹 ∖ { 𝑥 } ) ∪ dom { 𝑥 } ) )
17 dmsnn0 ( 𝑥 ∈ ( V × V ) ↔ dom { 𝑥 } ≠ ∅ )
18 17 biimpri ( dom { 𝑥 } ≠ ∅ → 𝑥 ∈ ( V × V ) )
19 18 necon1bi ( ¬ 𝑥 ∈ ( V × V ) → dom { 𝑥 } = ∅ )
20 19 3ad2ant3 ( ( 𝐹 ∈ Fin ∧ 𝑥𝐹 ∧ ¬ 𝑥 ∈ ( V × V ) ) → dom { 𝑥 } = ∅ )
21 20 uneq2d ( ( 𝐹 ∈ Fin ∧ 𝑥𝐹 ∧ ¬ 𝑥 ∈ ( V × V ) ) → ( dom ( 𝐹 ∖ { 𝑥 } ) ∪ dom { 𝑥 } ) = ( dom ( 𝐹 ∖ { 𝑥 } ) ∪ ∅ ) )
22 un0 ( dom ( 𝐹 ∖ { 𝑥 } ) ∪ ∅ ) = dom ( 𝐹 ∖ { 𝑥 } )
23 21 22 eqtrdi ( ( 𝐹 ∈ Fin ∧ 𝑥𝐹 ∧ ¬ 𝑥 ∈ ( V × V ) ) → ( dom ( 𝐹 ∖ { 𝑥 } ) ∪ dom { 𝑥 } ) = dom ( 𝐹 ∖ { 𝑥 } ) )
24 23 fveq2d ( ( 𝐹 ∈ Fin ∧ 𝑥𝐹 ∧ ¬ 𝑥 ∈ ( V × V ) ) → ( ♯ ‘ ( dom ( 𝐹 ∖ { 𝑥 } ) ∪ dom { 𝑥 } ) ) = ( ♯ ‘ dom ( 𝐹 ∖ { 𝑥 } ) ) )
25 16 24 eqtrid ( ( 𝐹 ∈ Fin ∧ 𝑥𝐹 ∧ ¬ 𝑥 ∈ ( V × V ) ) → ( ♯ ‘ dom ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) = ( ♯ ‘ dom ( 𝐹 ∖ { 𝑥 } ) ) )
26 diffi ( 𝐹 ∈ Fin → ( 𝐹 ∖ { 𝑥 } ) ∈ Fin )
27 dmfi ( ( 𝐹 ∖ { 𝑥 } ) ∈ Fin → dom ( 𝐹 ∖ { 𝑥 } ) ∈ Fin )
28 26 27 syl ( 𝐹 ∈ Fin → dom ( 𝐹 ∖ { 𝑥 } ) ∈ Fin )
29 hashcl ( dom ( 𝐹 ∖ { 𝑥 } ) ∈ Fin → ( ♯ ‘ dom ( 𝐹 ∖ { 𝑥 } ) ) ∈ ℕ0 )
30 28 29 syl ( 𝐹 ∈ Fin → ( ♯ ‘ dom ( 𝐹 ∖ { 𝑥 } ) ) ∈ ℕ0 )
31 30 nn0red ( 𝐹 ∈ Fin → ( ♯ ‘ dom ( 𝐹 ∖ { 𝑥 } ) ) ∈ ℝ )
32 hashcl ( ( 𝐹 ∖ { 𝑥 } ) ∈ Fin → ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) ∈ ℕ0 )
33 26 32 syl ( 𝐹 ∈ Fin → ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) ∈ ℕ0 )
34 33 nn0red ( 𝐹 ∈ Fin → ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) ∈ ℝ )
35 peano2re ( ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) ∈ ℝ → ( ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) + 1 ) ∈ ℝ )
36 34 35 syl ( 𝐹 ∈ Fin → ( ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) + 1 ) ∈ ℝ )
37 fidomdm ( ( 𝐹 ∖ { 𝑥 } ) ∈ Fin → dom ( 𝐹 ∖ { 𝑥 } ) ≼ ( 𝐹 ∖ { 𝑥 } ) )
38 26 37 syl ( 𝐹 ∈ Fin → dom ( 𝐹 ∖ { 𝑥 } ) ≼ ( 𝐹 ∖ { 𝑥 } ) )
39 hashdom ( ( dom ( 𝐹 ∖ { 𝑥 } ) ∈ Fin ∧ ( 𝐹 ∖ { 𝑥 } ) ∈ Fin ) → ( ( ♯ ‘ dom ( 𝐹 ∖ { 𝑥 } ) ) ≤ ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) ↔ dom ( 𝐹 ∖ { 𝑥 } ) ≼ ( 𝐹 ∖ { 𝑥 } ) ) )
40 28 26 39 syl2anc ( 𝐹 ∈ Fin → ( ( ♯ ‘ dom ( 𝐹 ∖ { 𝑥 } ) ) ≤ ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) ↔ dom ( 𝐹 ∖ { 𝑥 } ) ≼ ( 𝐹 ∖ { 𝑥 } ) ) )
41 38 40 mpbird ( 𝐹 ∈ Fin → ( ♯ ‘ dom ( 𝐹 ∖ { 𝑥 } ) ) ≤ ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) )
42 34 ltp1d ( 𝐹 ∈ Fin → ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) < ( ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) + 1 ) )
43 31 34 36 41 42 lelttrd ( 𝐹 ∈ Fin → ( ♯ ‘ dom ( 𝐹 ∖ { 𝑥 } ) ) < ( ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) + 1 ) )
44 43 3ad2ant1 ( ( 𝐹 ∈ Fin ∧ 𝑥𝐹 ∧ ¬ 𝑥 ∈ ( V × V ) ) → ( ♯ ‘ dom ( 𝐹 ∖ { 𝑥 } ) ) < ( ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) + 1 ) )
45 25 44 eqbrtrd ( ( 𝐹 ∈ Fin ∧ 𝑥𝐹 ∧ ¬ 𝑥 ∈ ( V × V ) ) → ( ♯ ‘ dom ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) < ( ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) + 1 ) )
46 snfi { 𝑥 } ∈ Fin
47 disjdifr ( ( 𝐹 ∖ { 𝑥 } ) ∩ { 𝑥 } ) = ∅
48 hashun ( ( ( 𝐹 ∖ { 𝑥 } ) ∈ Fin ∧ { 𝑥 } ∈ Fin ∧ ( ( 𝐹 ∖ { 𝑥 } ) ∩ { 𝑥 } ) = ∅ ) → ( ♯ ‘ ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) = ( ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) + ( ♯ ‘ { 𝑥 } ) ) )
49 46 47 48 mp3an23 ( ( 𝐹 ∖ { 𝑥 } ) ∈ Fin → ( ♯ ‘ ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) = ( ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) + ( ♯ ‘ { 𝑥 } ) ) )
50 26 49 syl ( 𝐹 ∈ Fin → ( ♯ ‘ ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) = ( ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) + ( ♯ ‘ { 𝑥 } ) ) )
51 hashsng ( 𝑥 ∈ V → ( ♯ ‘ { 𝑥 } ) = 1 )
52 51 elv ( ♯ ‘ { 𝑥 } ) = 1
53 52 oveq2i ( ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) + ( ♯ ‘ { 𝑥 } ) ) = ( ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) + 1 )
54 50 53 eqtr2di ( 𝐹 ∈ Fin → ( ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) + 1 ) = ( ♯ ‘ ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) )
55 54 3ad2ant1 ( ( 𝐹 ∈ Fin ∧ 𝑥𝐹 ∧ ¬ 𝑥 ∈ ( V × V ) ) → ( ( ♯ ‘ ( 𝐹 ∖ { 𝑥 } ) ) + 1 ) = ( ♯ ‘ ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) )
56 45 55 breqtrd ( ( 𝐹 ∈ Fin ∧ 𝑥𝐹 ∧ ¬ 𝑥 ∈ ( V × V ) ) → ( ♯ ‘ dom ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) < ( ♯ ‘ ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) )
57 difsnid ( 𝑥𝐹 → ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) = 𝐹 )
58 57 dmeqd ( 𝑥𝐹 → dom ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) = dom 𝐹 )
59 58 fveq2d ( 𝑥𝐹 → ( ♯ ‘ dom ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) = ( ♯ ‘ dom 𝐹 ) )
60 59 3ad2ant2 ( ( 𝐹 ∈ Fin ∧ 𝑥𝐹 ∧ ¬ 𝑥 ∈ ( V × V ) ) → ( ♯ ‘ dom ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) = ( ♯ ‘ dom 𝐹 ) )
61 57 fveq2d ( 𝑥𝐹 → ( ♯ ‘ ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) = ( ♯ ‘ 𝐹 ) )
62 61 3ad2ant2 ( ( 𝐹 ∈ Fin ∧ 𝑥𝐹 ∧ ¬ 𝑥 ∈ ( V × V ) ) → ( ♯ ‘ ( ( 𝐹 ∖ { 𝑥 } ) ∪ { 𝑥 } ) ) = ( ♯ ‘ 𝐹 ) )
63 56 60 62 3brtr3d ( ( 𝐹 ∈ Fin ∧ 𝑥𝐹 ∧ ¬ 𝑥 ∈ ( V × V ) ) → ( ♯ ‘ dom 𝐹 ) < ( ♯ ‘ 𝐹 ) )
64 63 rexlimdv3a ( 𝐹 ∈ Fin → ( ∃ 𝑥𝐹 ¬ 𝑥 ∈ ( V × V ) → ( ♯ ‘ dom 𝐹 ) < ( ♯ ‘ 𝐹 ) ) )
65 14 64 syl5bi ( 𝐹 ∈ Fin → ( ¬ Rel 𝐹 → ( ♯ ‘ dom 𝐹 ) < ( ♯ ‘ 𝐹 ) ) )
66 65 imp ( ( 𝐹 ∈ Fin ∧ ¬ Rel 𝐹 ) → ( ♯ ‘ dom 𝐹 ) < ( ♯ ‘ 𝐹 ) )
67 8 66 gtned ( ( 𝐹 ∈ Fin ∧ ¬ Rel 𝐹 ) → ( ♯ ‘ 𝐹 ) ≠ ( ♯ ‘ dom 𝐹 ) )
68 67 ex ( 𝐹 ∈ Fin → ( ¬ Rel 𝐹 → ( ♯ ‘ 𝐹 ) ≠ ( ♯ ‘ dom 𝐹 ) ) )
69 68 necon4bd ( 𝐹 ∈ Fin → ( ( ♯ ‘ 𝐹 ) = ( ♯ ‘ dom 𝐹 ) → Rel 𝐹 ) )
70 69 imp ( ( 𝐹 ∈ Fin ∧ ( ♯ ‘ 𝐹 ) = ( ♯ ‘ dom 𝐹 ) ) → Rel 𝐹 )
71 2nalexn ( ¬ ∀ 𝑥𝑦𝑧 ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → 𝑦 = 𝑧 ) ↔ ∃ 𝑥𝑦 ¬ ∀ 𝑧 ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → 𝑦 = 𝑧 ) )
72 df-ne ( 𝑦𝑧 ↔ ¬ 𝑦 = 𝑧 )
73 72 anbi2i ( ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ↔ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ ¬ 𝑦 = 𝑧 ) )
74 annim ( ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ ¬ 𝑦 = 𝑧 ) ↔ ¬ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → 𝑦 = 𝑧 ) )
75 73 74 bitri ( ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ↔ ¬ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → 𝑦 = 𝑧 ) )
76 75 exbii ( ∃ 𝑧 ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ↔ ∃ 𝑧 ¬ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → 𝑦 = 𝑧 ) )
77 exnal ( ∃ 𝑧 ¬ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → 𝑦 = 𝑧 ) ↔ ¬ ∀ 𝑧 ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → 𝑦 = 𝑧 ) )
78 76 77 bitr2i ( ¬ ∀ 𝑧 ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → 𝑦 = 𝑧 ) ↔ ∃ 𝑧 ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) )
79 78 2exbii ( ∃ 𝑥𝑦 ¬ ∀ 𝑧 ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → 𝑦 = 𝑧 ) ↔ ∃ 𝑥𝑦𝑧 ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) )
80 71 79 bitri ( ¬ ∀ 𝑥𝑦𝑧 ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → 𝑦 = 𝑧 ) ↔ ∃ 𝑥𝑦𝑧 ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) )
81 7 adantr ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( ♯ ‘ dom 𝐹 ) ∈ ℝ )
82 2re 2 ∈ ℝ
83 diffi ( 𝐹 ∈ Fin → ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ∈ Fin )
84 dmfi ( ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ∈ Fin → dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ∈ Fin )
85 83 84 syl ( 𝐹 ∈ Fin → dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ∈ Fin )
86 hashcl ( dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ∈ Fin → ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ∈ ℕ0 )
87 85 86 syl ( 𝐹 ∈ Fin → ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ∈ ℕ0 )
88 87 nn0red ( 𝐹 ∈ Fin → ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ∈ ℝ )
89 88 adantr ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ∈ ℝ )
90 readdcl ( ( 2 ∈ ℝ ∧ ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ∈ ℝ ) → ( 2 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ∈ ℝ )
91 82 89 90 sylancr ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( 2 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ∈ ℝ )
92 hashcl ( 𝐹 ∈ Fin → ( ♯ ‘ 𝐹 ) ∈ ℕ0 )
93 92 nn0red ( 𝐹 ∈ Fin → ( ♯ ‘ 𝐹 ) ∈ ℝ )
94 93 adantr ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( ♯ ‘ 𝐹 ) ∈ ℝ )
95 1re 1 ∈ ℝ
96 readdcl ( ( 1 ∈ ℝ ∧ ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ∈ ℝ ) → ( 1 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ∈ ℝ )
97 95 88 96 sylancr ( 𝐹 ∈ Fin → ( 1 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ∈ ℝ )
98 97 adantr ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( 1 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ∈ ℝ )
99 82 88 90 sylancr ( 𝐹 ∈ Fin → ( 2 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ∈ ℝ )
100 99 adantr ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( 2 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ∈ ℝ )
101 opex 𝑥 , 𝑦 ⟩ ∈ V
102 opex 𝑥 , 𝑧 ⟩ ∈ V
103 101 102 prss ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ↔ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ⊆ 𝐹 )
104 undif ( { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ⊆ 𝐹 ↔ ( { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∪ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) = 𝐹 )
105 103 104 sylbb ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → ( { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∪ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) = 𝐹 )
106 105 dmeqd ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → dom ( { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∪ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) = dom 𝐹 )
107 dmun dom ( { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∪ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) = ( dom { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∪ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) )
108 106 107 eqtr3di ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → dom 𝐹 = ( dom { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∪ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) )
109 vex 𝑦 ∈ V
110 vex 𝑧 ∈ V
111 109 110 dmprop dom { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } = { 𝑥 , 𝑥 }
112 dfsn2 { 𝑥 } = { 𝑥 , 𝑥 }
113 111 112 eqtr4i dom { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } = { 𝑥 }
114 113 uneq1i ( dom { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∪ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) = ( { 𝑥 } ∪ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) )
115 108 114 eqtrdi ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → dom 𝐹 = ( { 𝑥 } ∪ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) )
116 115 fveq2d ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → ( ♯ ‘ dom 𝐹 ) = ( ♯ ‘ ( { 𝑥 } ∪ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
117 116 ad2antrl ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( ♯ ‘ dom 𝐹 ) = ( ♯ ‘ ( { 𝑥 } ∪ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
118 hashun2 ( ( { 𝑥 } ∈ Fin ∧ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ∈ Fin ) → ( ♯ ‘ ( { 𝑥 } ∪ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ≤ ( ( ♯ ‘ { 𝑥 } ) + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
119 46 85 118 sylancr ( 𝐹 ∈ Fin → ( ♯ ‘ ( { 𝑥 } ∪ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ≤ ( ( ♯ ‘ { 𝑥 } ) + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
120 52 oveq1i ( ( ♯ ‘ { 𝑥 } ) + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) = ( 1 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) )
121 119 120 breqtrdi ( 𝐹 ∈ Fin → ( ♯ ‘ ( { 𝑥 } ∪ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ≤ ( 1 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
122 121 adantr ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( ♯ ‘ ( { 𝑥 } ∪ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ≤ ( 1 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
123 117 122 eqbrtrd ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( ♯ ‘ dom 𝐹 ) ≤ ( 1 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
124 1lt2 1 < 2
125 ltadd1 ( ( 1 ∈ ℝ ∧ 2 ∈ ℝ ∧ ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ∈ ℝ ) → ( 1 < 2 ↔ ( 1 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) < ( 2 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ) )
126 95 82 88 125 mp3an12i ( 𝐹 ∈ Fin → ( 1 < 2 ↔ ( 1 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) < ( 2 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ) )
127 124 126 mpbii ( 𝐹 ∈ Fin → ( 1 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) < ( 2 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
128 127 adantr ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( 1 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) < ( 2 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
129 81 98 100 123 128 lelttrd ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( ♯ ‘ dom 𝐹 ) < ( 2 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
130 fidomdm ( ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ∈ Fin → dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ≼ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) )
131 83 130 syl ( 𝐹 ∈ Fin → dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ≼ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) )
132 hashdom ( ( dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ∈ Fin ∧ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ∈ Fin ) → ( ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ≤ ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ↔ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ≼ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) )
133 85 83 132 syl2anc ( 𝐹 ∈ Fin → ( ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ≤ ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ↔ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ≼ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) )
134 131 133 mpbird ( 𝐹 ∈ Fin → ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ≤ ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) )
135 hashcl ( ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ∈ Fin → ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ∈ ℕ0 )
136 83 135 syl ( 𝐹 ∈ Fin → ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ∈ ℕ0 )
137 136 nn0red ( 𝐹 ∈ Fin → ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ∈ ℝ )
138 leadd2 ( ( ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ∈ ℝ ∧ ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ∈ ℝ ∧ 2 ∈ ℝ ) → ( ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ≤ ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ↔ ( 2 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ≤ ( 2 + ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ) )
139 82 138 mp3an3 ( ( ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ∈ ℝ ∧ ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ∈ ℝ ) → ( ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ≤ ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ↔ ( 2 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ≤ ( 2 + ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ) )
140 88 137 139 syl2anc ( 𝐹 ∈ Fin → ( ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ≤ ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ↔ ( 2 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ≤ ( 2 + ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ) )
141 134 140 mpbid ( 𝐹 ∈ Fin → ( 2 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ≤ ( 2 + ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
142 141 adantr ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( 2 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ≤ ( 2 + ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
143 prfi { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∈ Fin
144 disjdif ( { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∩ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) = ∅
145 hashun ( ( { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∈ Fin ∧ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ∈ Fin ∧ ( { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∩ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) = ∅ ) → ( ♯ ‘ ( { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∪ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) = ( ( ♯ ‘ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) + ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
146 143 144 145 mp3an13 ( ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ∈ Fin → ( ♯ ‘ ( { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∪ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) = ( ( ♯ ‘ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) + ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
147 83 146 syl ( 𝐹 ∈ Fin → ( ♯ ‘ ( { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∪ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) = ( ( ♯ ‘ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) + ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
148 147 adantr ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( ♯ ‘ ( { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∪ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) = ( ( ♯ ‘ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) + ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
149 105 fveq2d ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → ( ♯ ‘ ( { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∪ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) = ( ♯ ‘ 𝐹 ) )
150 149 ad2antrl ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( ♯ ‘ ( { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ∪ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) = ( ♯ ‘ 𝐹 ) )
151 vex 𝑥 ∈ V
152 151 109 opth ( ⟨ 𝑥 , 𝑦 ⟩ = ⟨ 𝑥 , 𝑧 ⟩ ↔ ( 𝑥 = 𝑥𝑦 = 𝑧 ) )
153 152 simprbi ( ⟨ 𝑥 , 𝑦 ⟩ = ⟨ 𝑥 , 𝑧 ⟩ → 𝑦 = 𝑧 )
154 153 necon3i ( 𝑦𝑧 → ⟨ 𝑥 , 𝑦 ⟩ ≠ ⟨ 𝑥 , 𝑧 ⟩ )
155 hashprg ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ V ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ V ) → ( ⟨ 𝑥 , 𝑦 ⟩ ≠ ⟨ 𝑥 , 𝑧 ⟩ ↔ ( ♯ ‘ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) = 2 ) )
156 101 102 155 mp2an ( ⟨ 𝑥 , 𝑦 ⟩ ≠ ⟨ 𝑥 , 𝑧 ⟩ ↔ ( ♯ ‘ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) = 2 )
157 154 156 sylib ( 𝑦𝑧 → ( ♯ ‘ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) = 2 )
158 157 oveq1d ( 𝑦𝑧 → ( ( ♯ ‘ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) + ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) = ( 2 + ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
159 158 ad2antll ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( ( ♯ ‘ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) + ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) = ( 2 + ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) )
160 148 150 159 3eqtr3rd ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( 2 + ( ♯ ‘ ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) = ( ♯ ‘ 𝐹 ) )
161 142 160 breqtrd ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( 2 + ( ♯ ‘ dom ( 𝐹 ∖ { ⟨ 𝑥 , 𝑦 ⟩ , ⟨ 𝑥 , 𝑧 ⟩ } ) ) ) ≤ ( ♯ ‘ 𝐹 ) )
162 81 91 94 129 161 ltletrd ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( ♯ ‘ dom 𝐹 ) < ( ♯ ‘ 𝐹 ) )
163 81 162 gtned ( ( 𝐹 ∈ Fin ∧ ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) ) → ( ♯ ‘ 𝐹 ) ≠ ( ♯ ‘ dom 𝐹 ) )
164 163 ex ( 𝐹 ∈ Fin → ( ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) → ( ♯ ‘ 𝐹 ) ≠ ( ♯ ‘ dom 𝐹 ) ) )
165 164 exlimdv ( 𝐹 ∈ Fin → ( ∃ 𝑧 ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) → ( ♯ ‘ 𝐹 ) ≠ ( ♯ ‘ dom 𝐹 ) ) )
166 165 exlimdvv ( 𝐹 ∈ Fin → ( ∃ 𝑥𝑦𝑧 ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) ∧ 𝑦𝑧 ) → ( ♯ ‘ 𝐹 ) ≠ ( ♯ ‘ dom 𝐹 ) ) )
167 80 166 syl5bi ( 𝐹 ∈ Fin → ( ¬ ∀ 𝑥𝑦𝑧 ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → 𝑦 = 𝑧 ) → ( ♯ ‘ 𝐹 ) ≠ ( ♯ ‘ dom 𝐹 ) ) )
168 167 necon4bd ( 𝐹 ∈ Fin → ( ( ♯ ‘ 𝐹 ) = ( ♯ ‘ dom 𝐹 ) → ∀ 𝑥𝑦𝑧 ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → 𝑦 = 𝑧 ) ) )
169 168 imp ( ( 𝐹 ∈ Fin ∧ ( ♯ ‘ 𝐹 ) = ( ♯ ‘ dom 𝐹 ) ) → ∀ 𝑥𝑦𝑧 ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → 𝑦 = 𝑧 ) )
170 dffun4 ( Fun 𝐹 ↔ ( Rel 𝐹 ∧ ∀ 𝑥𝑦𝑧 ( ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐹 ∧ ⟨ 𝑥 , 𝑧 ⟩ ∈ 𝐹 ) → 𝑦 = 𝑧 ) ) )
171 70 169 170 sylanbrc ( ( 𝐹 ∈ Fin ∧ ( ♯ ‘ 𝐹 ) = ( ♯ ‘ dom 𝐹 ) ) → Fun 𝐹 )
172 171 ex ( 𝐹 ∈ Fin → ( ( ♯ ‘ 𝐹 ) = ( ♯ ‘ dom 𝐹 ) → Fun 𝐹 ) )
173 3 172 impbid2 ( 𝐹 ∈ Fin → ( Fun 𝐹 ↔ ( ♯ ‘ 𝐹 ) = ( ♯ ‘ dom 𝐹 ) ) )