Metamath Proof Explorer


Theorem brfi1indALT

Description: Alternate proof of brfi1ind , which does not use brfi1uzind . (Contributed by Alexander van der Vekens, 7-Jan-2018) (New usage is discouraged.) (Proof modification is discouraged.)

Ref Expression
Hypotheses brfi1ind.r Rel 𝐺
brfi1ind.f 𝐹 ∈ V
brfi1ind.1 ( ( 𝑣 = 𝑉𝑒 = 𝐸 ) → ( 𝜓𝜑 ) )
brfi1ind.2 ( ( 𝑣 = 𝑤𝑒 = 𝑓 ) → ( 𝜓𝜃 ) )
brfi1ind.3 ( ( 𝑣 𝐺 𝑒𝑛𝑣 ) → ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 )
brfi1ind.4 ( ( 𝑤 = ( 𝑣 ∖ { 𝑛 } ) ∧ 𝑓 = 𝐹 ) → ( 𝜃𝜒 ) )
brfi1ind.base ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 0 ) → 𝜓 )
brfi1ind.step ( ( ( ( 𝑦 + 1 ) ∈ ℕ0 ∧ ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ∧ 𝑛𝑣 ) ) ∧ 𝜒 ) → 𝜓 )
Assertion brfi1indALT ( ( 𝑉 𝐺 𝐸𝑉 ∈ Fin ) → 𝜑 )

Proof

Step Hyp Ref Expression
1 brfi1ind.r Rel 𝐺
2 brfi1ind.f 𝐹 ∈ V
3 brfi1ind.1 ( ( 𝑣 = 𝑉𝑒 = 𝐸 ) → ( 𝜓𝜑 ) )
4 brfi1ind.2 ( ( 𝑣 = 𝑤𝑒 = 𝑓 ) → ( 𝜓𝜃 ) )
5 brfi1ind.3 ( ( 𝑣 𝐺 𝑒𝑛𝑣 ) → ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 )
6 brfi1ind.4 ( ( 𝑤 = ( 𝑣 ∖ { 𝑛 } ) ∧ 𝑓 = 𝐹 ) → ( 𝜃𝜒 ) )
7 brfi1ind.base ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 0 ) → 𝜓 )
8 brfi1ind.step ( ( ( ( 𝑦 + 1 ) ∈ ℕ0 ∧ ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ∧ 𝑛𝑣 ) ) ∧ 𝜒 ) → 𝜓 )
9 hashcl ( 𝑉 ∈ Fin → ( ♯ ‘ 𝑉 ) ∈ ℕ0 )
10 dfclel ( ( ♯ ‘ 𝑉 ) ∈ ℕ0 ↔ ∃ 𝑛 ( 𝑛 = ( ♯ ‘ 𝑉 ) ∧ 𝑛 ∈ ℕ0 ) )
11 eqeq2 ( 𝑥 = 0 → ( ( ♯ ‘ 𝑣 ) = 𝑥 ↔ ( ♯ ‘ 𝑣 ) = 0 ) )
12 11 anbi2d ( 𝑥 = 0 → ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑥 ) ↔ ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 0 ) ) )
13 12 imbi1d ( 𝑥 = 0 → ( ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑥 ) → 𝜓 ) ↔ ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 0 ) → 𝜓 ) ) )
14 13 2albidv ( 𝑥 = 0 → ( ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑥 ) → 𝜓 ) ↔ ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 0 ) → 𝜓 ) ) )
15 eqeq2 ( 𝑥 = 𝑦 → ( ( ♯ ‘ 𝑣 ) = 𝑥 ↔ ( ♯ ‘ 𝑣 ) = 𝑦 ) )
16 15 anbi2d ( 𝑥 = 𝑦 → ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑥 ) ↔ ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑦 ) ) )
17 16 imbi1d ( 𝑥 = 𝑦 → ( ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑥 ) → 𝜓 ) ↔ ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑦 ) → 𝜓 ) ) )
18 17 2albidv ( 𝑥 = 𝑦 → ( ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑥 ) → 𝜓 ) ↔ ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑦 ) → 𝜓 ) ) )
19 eqeq2 ( 𝑥 = ( 𝑦 + 1 ) → ( ( ♯ ‘ 𝑣 ) = 𝑥 ↔ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) )
20 19 anbi2d ( 𝑥 = ( 𝑦 + 1 ) → ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑥 ) ↔ ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) ) )
21 20 imbi1d ( 𝑥 = ( 𝑦 + 1 ) → ( ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑥 ) → 𝜓 ) ↔ ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) → 𝜓 ) ) )
22 21 2albidv ( 𝑥 = ( 𝑦 + 1 ) → ( ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑥 ) → 𝜓 ) ↔ ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) → 𝜓 ) ) )
23 eqeq2 ( 𝑥 = 𝑛 → ( ( ♯ ‘ 𝑣 ) = 𝑥 ↔ ( ♯ ‘ 𝑣 ) = 𝑛 ) )
24 23 anbi2d ( 𝑥 = 𝑛 → ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑥 ) ↔ ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑛 ) ) )
25 24 imbi1d ( 𝑥 = 𝑛 → ( ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑥 ) → 𝜓 ) ↔ ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑛 ) → 𝜓 ) ) )
26 25 2albidv ( 𝑥 = 𝑛 → ( ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑥 ) → 𝜓 ) ↔ ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑛 ) → 𝜓 ) ) )
27 7 gen2 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 0 ) → 𝜓 )
28 breq12 ( ( 𝑣 = 𝑤𝑒 = 𝑓 ) → ( 𝑣 𝐺 𝑒𝑤 𝐺 𝑓 ) )
29 fveqeq2 ( 𝑣 = 𝑤 → ( ( ♯ ‘ 𝑣 ) = 𝑦 ↔ ( ♯ ‘ 𝑤 ) = 𝑦 ) )
30 29 adantr ( ( 𝑣 = 𝑤𝑒 = 𝑓 ) → ( ( ♯ ‘ 𝑣 ) = 𝑦 ↔ ( ♯ ‘ 𝑤 ) = 𝑦 ) )
31 28 30 anbi12d ( ( 𝑣 = 𝑤𝑒 = 𝑓 ) → ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑦 ) ↔ ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) ) )
32 31 4 imbi12d ( ( 𝑣 = 𝑤𝑒 = 𝑓 ) → ( ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑦 ) → 𝜓 ) ↔ ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) ) )
33 32 cbval2vw ( ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑦 ) → 𝜓 ) ↔ ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) )
34 nn0p1gt0 ( 𝑦 ∈ ℕ0 → 0 < ( 𝑦 + 1 ) )
35 34 adantr ( ( 𝑦 ∈ ℕ0 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) → 0 < ( 𝑦 + 1 ) )
36 simpr ( ( 𝑦 ∈ ℕ0 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) → ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) )
37 35 36 breqtrrd ( ( 𝑦 ∈ ℕ0 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) → 0 < ( ♯ ‘ 𝑣 ) )
38 37 adantrl ( ( 𝑦 ∈ ℕ0 ∧ ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) ) → 0 < ( ♯ ‘ 𝑣 ) )
39 hashgt0elex ( ( 𝑣 ∈ V ∧ 0 < ( ♯ ‘ 𝑣 ) ) → ∃ 𝑛 𝑛𝑣 )
40 vex 𝑣 ∈ V
41 simpr ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) → 𝑛𝑣 )
42 simpl ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) → 𝑦 ∈ ℕ0 )
43 hashdifsnp1 ( ( 𝑣 ∈ V ∧ 𝑛𝑣𝑦 ∈ ℕ0 ) → ( ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) → ( ♯ ‘ ( 𝑣 ∖ { 𝑛 } ) ) = 𝑦 ) )
44 40 41 42 43 mp3an2i ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) → ( ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) → ( ♯ ‘ ( 𝑣 ∖ { 𝑛 } ) ) = 𝑦 ) )
45 44 imp ( ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) → ( ♯ ‘ ( 𝑣 ∖ { 𝑛 } ) ) = 𝑦 )
46 peano2nn0 ( 𝑦 ∈ ℕ0 → ( 𝑦 + 1 ) ∈ ℕ0 )
47 46 ad2antrr ( ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) → ( 𝑦 + 1 ) ∈ ℕ0 )
48 47 ad2antlr ( ( ( ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) ∧ ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 ) ∧ ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) ) ∧ 𝑣 𝐺 𝑒 ) → ( 𝑦 + 1 ) ∈ ℕ0 )
49 simpr ( ( ( ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) ∧ ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 ) ∧ ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) ) ∧ 𝑣 𝐺 𝑒 ) → 𝑣 𝐺 𝑒 )
50 simplrr ( ( ( ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) ∧ ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 ) ∧ ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) ) ∧ 𝑣 𝐺 𝑒 ) → ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) )
51 simprlr ( ( ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) ∧ ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 ) ∧ ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) ) → 𝑛𝑣 )
52 51 adantr ( ( ( ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) ∧ ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 ) ∧ ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) ) ∧ 𝑣 𝐺 𝑒 ) → 𝑛𝑣 )
53 49 50 52 3jca ( ( ( ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) ∧ ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 ) ∧ ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) ) ∧ 𝑣 𝐺 𝑒 ) → ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ∧ 𝑛𝑣 ) )
54 48 53 jca ( ( ( ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) ∧ ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 ) ∧ ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) ) ∧ 𝑣 𝐺 𝑒 ) → ( ( 𝑦 + 1 ) ∈ ℕ0 ∧ ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ∧ 𝑛𝑣 ) ) )
55 40 difexi ( 𝑣 ∖ { 𝑛 } ) ∈ V
56 breq12 ( ( 𝑤 = ( 𝑣 ∖ { 𝑛 } ) ∧ 𝑓 = 𝐹 ) → ( 𝑤 𝐺 𝑓 ↔ ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 ) )
57 fveqeq2 ( 𝑤 = ( 𝑣 ∖ { 𝑛 } ) → ( ( ♯ ‘ 𝑤 ) = 𝑦 ↔ ( ♯ ‘ ( 𝑣 ∖ { 𝑛 } ) ) = 𝑦 ) )
58 57 adantr ( ( 𝑤 = ( 𝑣 ∖ { 𝑛 } ) ∧ 𝑓 = 𝐹 ) → ( ( ♯ ‘ 𝑤 ) = 𝑦 ↔ ( ♯ ‘ ( 𝑣 ∖ { 𝑛 } ) ) = 𝑦 ) )
59 56 58 anbi12d ( ( 𝑤 = ( 𝑣 ∖ { 𝑛 } ) ∧ 𝑓 = 𝐹 ) → ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) ↔ ( ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 ∧ ( ♯ ‘ ( 𝑣 ∖ { 𝑛 } ) ) = 𝑦 ) ) )
60 59 6 imbi12d ( ( 𝑤 = ( 𝑣 ∖ { 𝑛 } ) ∧ 𝑓 = 𝐹 ) → ( ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) ↔ ( ( ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 ∧ ( ♯ ‘ ( 𝑣 ∖ { 𝑛 } ) ) = 𝑦 ) → 𝜒 ) ) )
61 60 spc2gv ( ( ( 𝑣 ∖ { 𝑛 } ) ∈ V ∧ 𝐹 ∈ V ) → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → ( ( ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 ∧ ( ♯ ‘ ( 𝑣 ∖ { 𝑛 } ) ) = 𝑦 ) → 𝜒 ) ) )
62 55 2 61 mp2an ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → ( ( ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 ∧ ( ♯ ‘ ( 𝑣 ∖ { 𝑛 } ) ) = 𝑦 ) → 𝜒 ) )
63 62 expdimp ( ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) ∧ ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 ) → ( ( ♯ ‘ ( 𝑣 ∖ { 𝑛 } ) ) = 𝑦𝜒 ) )
64 63 ad2antrr ( ( ( ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) ∧ ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 ) ∧ ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) ) ∧ 𝑣 𝐺 𝑒 ) → ( ( ♯ ‘ ( 𝑣 ∖ { 𝑛 } ) ) = 𝑦𝜒 ) )
65 54 64 8 syl6an ( ( ( ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) ∧ ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 ) ∧ ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) ) ∧ 𝑣 𝐺 𝑒 ) → ( ( ♯ ‘ ( 𝑣 ∖ { 𝑛 } ) ) = 𝑦𝜓 ) )
66 65 exp41 ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → ( ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 → ( ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) → ( 𝑣 𝐺 𝑒 → ( ( ♯ ‘ ( 𝑣 ∖ { 𝑛 } ) ) = 𝑦𝜓 ) ) ) ) )
67 66 com15 ( ( ♯ ‘ ( 𝑣 ∖ { 𝑛 } ) ) = 𝑦 → ( ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 → ( ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) → ( 𝑣 𝐺 𝑒 → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) ) )
68 67 com23 ( ( ♯ ‘ ( 𝑣 ∖ { 𝑛 } ) ) = 𝑦 → ( ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) → ( ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 → ( 𝑣 𝐺 𝑒 → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) ) )
69 45 68 mpcom ( ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) → ( ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 → ( 𝑣 𝐺 𝑒 → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) )
70 69 ex ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) → ( ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) → ( ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 → ( 𝑣 𝐺 𝑒 → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) ) )
71 70 com23 ( ( 𝑦 ∈ ℕ0𝑛𝑣 ) → ( ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 → ( ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) → ( 𝑣 𝐺 𝑒 → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) ) )
72 71 ex ( 𝑦 ∈ ℕ0 → ( 𝑛𝑣 → ( ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 → ( ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) → ( 𝑣 𝐺 𝑒 → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) ) ) )
73 72 com15 ( 𝑣 𝐺 𝑒 → ( 𝑛𝑣 → ( ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 → ( ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) → ( 𝑦 ∈ ℕ0 → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) ) ) )
74 73 imp ( ( 𝑣 𝐺 𝑒𝑛𝑣 ) → ( ( 𝑣 ∖ { 𝑛 } ) 𝐺 𝐹 → ( ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) → ( 𝑦 ∈ ℕ0 → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) ) )
75 5 74 mpd ( ( 𝑣 𝐺 𝑒𝑛𝑣 ) → ( ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) → ( 𝑦 ∈ ℕ0 → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) )
76 75 ex ( 𝑣 𝐺 𝑒 → ( 𝑛𝑣 → ( ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) → ( 𝑦 ∈ ℕ0 → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) ) )
77 76 com4l ( 𝑛𝑣 → ( ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) → ( 𝑦 ∈ ℕ0 → ( 𝑣 𝐺 𝑒 → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) ) )
78 77 exlimiv ( ∃ 𝑛 𝑛𝑣 → ( ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) → ( 𝑦 ∈ ℕ0 → ( 𝑣 𝐺 𝑒 → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) ) )
79 39 78 syl ( ( 𝑣 ∈ V ∧ 0 < ( ♯ ‘ 𝑣 ) ) → ( ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) → ( 𝑦 ∈ ℕ0 → ( 𝑣 𝐺 𝑒 → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) ) )
80 79 ex ( 𝑣 ∈ V → ( 0 < ( ♯ ‘ 𝑣 ) → ( ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) → ( 𝑦 ∈ ℕ0 → ( 𝑣 𝐺 𝑒 → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) ) ) )
81 80 com25 ( 𝑣 ∈ V → ( 𝑣 𝐺 𝑒 → ( ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) → ( 𝑦 ∈ ℕ0 → ( 0 < ( ♯ ‘ 𝑣 ) → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) ) ) )
82 81 elv ( 𝑣 𝐺 𝑒 → ( ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) → ( 𝑦 ∈ ℕ0 → ( 0 < ( ♯ ‘ 𝑣 ) → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) ) )
83 82 imp ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) → ( 𝑦 ∈ ℕ0 → ( 0 < ( ♯ ‘ 𝑣 ) → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) ) )
84 83 impcom ( ( 𝑦 ∈ ℕ0 ∧ ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) ) → ( 0 < ( ♯ ‘ 𝑣 ) → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) ) )
85 38 84 mpd ( ( 𝑦 ∈ ℕ0 ∧ ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) ) → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → 𝜓 ) )
86 85 impancom ( ( 𝑦 ∈ ℕ0 ∧ ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) ) → ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) → 𝜓 ) )
87 86 alrimivv ( ( 𝑦 ∈ ℕ0 ∧ ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) ) → ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) → 𝜓 ) )
88 87 ex ( 𝑦 ∈ ℕ0 → ( ∀ 𝑤𝑓 ( ( 𝑤 𝐺 𝑓 ∧ ( ♯ ‘ 𝑤 ) = 𝑦 ) → 𝜃 ) → ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) → 𝜓 ) ) )
89 33 88 syl5bi ( 𝑦 ∈ ℕ0 → ( ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑦 ) → 𝜓 ) → ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = ( 𝑦 + 1 ) ) → 𝜓 ) ) )
90 14 18 22 26 27 89 nn0ind ( 𝑛 ∈ ℕ0 → ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑛 ) → 𝜓 ) )
91 1 brrelex12i ( 𝑉 𝐺 𝐸 → ( 𝑉 ∈ V ∧ 𝐸 ∈ V ) )
92 breq12 ( ( 𝑣 = 𝑉𝑒 = 𝐸 ) → ( 𝑣 𝐺 𝑒𝑉 𝐺 𝐸 ) )
93 fveqeq2 ( 𝑣 = 𝑉 → ( ( ♯ ‘ 𝑣 ) = 𝑛 ↔ ( ♯ ‘ 𝑉 ) = 𝑛 ) )
94 93 adantr ( ( 𝑣 = 𝑉𝑒 = 𝐸 ) → ( ( ♯ ‘ 𝑣 ) = 𝑛 ↔ ( ♯ ‘ 𝑉 ) = 𝑛 ) )
95 92 94 anbi12d ( ( 𝑣 = 𝑉𝑒 = 𝐸 ) → ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑛 ) ↔ ( 𝑉 𝐺 𝐸 ∧ ( ♯ ‘ 𝑉 ) = 𝑛 ) ) )
96 95 3 imbi12d ( ( 𝑣 = 𝑉𝑒 = 𝐸 ) → ( ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑛 ) → 𝜓 ) ↔ ( ( 𝑉 𝐺 𝐸 ∧ ( ♯ ‘ 𝑉 ) = 𝑛 ) → 𝜑 ) ) )
97 96 spc2gv ( ( 𝑉 ∈ V ∧ 𝐸 ∈ V ) → ( ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑛 ) → 𝜓 ) → ( ( 𝑉 𝐺 𝐸 ∧ ( ♯ ‘ 𝑉 ) = 𝑛 ) → 𝜑 ) ) )
98 97 com23 ( ( 𝑉 ∈ V ∧ 𝐸 ∈ V ) → ( ( 𝑉 𝐺 𝐸 ∧ ( ♯ ‘ 𝑉 ) = 𝑛 ) → ( ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑛 ) → 𝜓 ) → 𝜑 ) ) )
99 98 expd ( ( 𝑉 ∈ V ∧ 𝐸 ∈ V ) → ( 𝑉 𝐺 𝐸 → ( ( ♯ ‘ 𝑉 ) = 𝑛 → ( ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑛 ) → 𝜓 ) → 𝜑 ) ) ) )
100 91 99 mpcom ( 𝑉 𝐺 𝐸 → ( ( ♯ ‘ 𝑉 ) = 𝑛 → ( ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑛 ) → 𝜓 ) → 𝜑 ) ) )
101 100 imp ( ( 𝑉 𝐺 𝐸 ∧ ( ♯ ‘ 𝑉 ) = 𝑛 ) → ( ∀ 𝑣𝑒 ( ( 𝑣 𝐺 𝑒 ∧ ( ♯ ‘ 𝑣 ) = 𝑛 ) → 𝜓 ) → 𝜑 ) )
102 90 101 syl5 ( ( 𝑉 𝐺 𝐸 ∧ ( ♯ ‘ 𝑉 ) = 𝑛 ) → ( 𝑛 ∈ ℕ0𝜑 ) )
103 102 expcom ( ( ♯ ‘ 𝑉 ) = 𝑛 → ( 𝑉 𝐺 𝐸 → ( 𝑛 ∈ ℕ0𝜑 ) ) )
104 103 com23 ( ( ♯ ‘ 𝑉 ) = 𝑛 → ( 𝑛 ∈ ℕ0 → ( 𝑉 𝐺 𝐸𝜑 ) ) )
105 104 eqcoms ( 𝑛 = ( ♯ ‘ 𝑉 ) → ( 𝑛 ∈ ℕ0 → ( 𝑉 𝐺 𝐸𝜑 ) ) )
106 105 imp ( ( 𝑛 = ( ♯ ‘ 𝑉 ) ∧ 𝑛 ∈ ℕ0 ) → ( 𝑉 𝐺 𝐸𝜑 ) )
107 106 exlimiv ( ∃ 𝑛 ( 𝑛 = ( ♯ ‘ 𝑉 ) ∧ 𝑛 ∈ ℕ0 ) → ( 𝑉 𝐺 𝐸𝜑 ) )
108 10 107 sylbi ( ( ♯ ‘ 𝑉 ) ∈ ℕ0 → ( 𝑉 𝐺 𝐸𝜑 ) )
109 9 108 syl ( 𝑉 ∈ Fin → ( 𝑉 𝐺 𝐸𝜑 ) )
110 109 impcom ( ( 𝑉 𝐺 𝐸𝑉 ∈ Fin ) → 𝜑 )