Metamath Proof Explorer


Theorem fi1uzind

Description: Properties of an ordered pair with a finite first component with at least L elements, proven by finite induction on the size of the first component. This theorem can be applied for graphs (represented as orderd pairs of vertices and edges) with a finite number of vertices, usually with L = 0 (see opfi1ind ) or L = 1 . (Contributed by AV, 22-Oct-2020) (Revised by AV, 28-Mar-2021)

Ref Expression
Hypotheses fi1uzind.f
|- F e. _V
fi1uzind.l
|- L e. NN0
fi1uzind.1
|- ( ( v = V /\ e = E ) -> ( ps <-> ph ) )
fi1uzind.2
|- ( ( v = w /\ e = f ) -> ( ps <-> th ) )
fi1uzind.3
|- ( ( [. v / a ]. [. e / b ]. rh /\ n e. v ) -> [. ( v \ { n } ) / a ]. [. F / b ]. rh )
fi1uzind.4
|- ( ( w = ( v \ { n } ) /\ f = F ) -> ( th <-> ch ) )
fi1uzind.base
|- ( ( [. v / a ]. [. e / b ]. rh /\ ( # ` v ) = L ) -> ps )
fi1uzind.step
|- ( ( ( ( y + 1 ) e. NN0 /\ ( [. v / a ]. [. e / b ]. rh /\ ( # ` v ) = ( y + 1 ) /\ n e. v ) ) /\ ch ) -> ps )
Assertion fi1uzind
|- ( ( [. V / a ]. [. E / b ]. rh /\ V e. Fin /\ L <_ ( # ` V ) ) -> ph )

Proof

Step Hyp Ref Expression
1 fi1uzind.f
 |-  F e. _V
2 fi1uzind.l
 |-  L e. NN0
3 fi1uzind.1
 |-  ( ( v = V /\ e = E ) -> ( ps <-> ph ) )
4 fi1uzind.2
 |-  ( ( v = w /\ e = f ) -> ( ps <-> th ) )
5 fi1uzind.3
 |-  ( ( [. v / a ]. [. e / b ]. rh /\ n e. v ) -> [. ( v \ { n } ) / a ]. [. F / b ]. rh )
6 fi1uzind.4
 |-  ( ( w = ( v \ { n } ) /\ f = F ) -> ( th <-> ch ) )
7 fi1uzind.base
 |-  ( ( [. v / a ]. [. e / b ]. rh /\ ( # ` v ) = L ) -> ps )
8 fi1uzind.step
 |-  ( ( ( ( y + 1 ) e. NN0 /\ ( [. v / a ]. [. e / b ]. rh /\ ( # ` v ) = ( y + 1 ) /\ n e. v ) ) /\ ch ) -> ps )
9 dfclel
 |-  ( ( # ` V ) e. NN0 <-> E. n ( n = ( # ` V ) /\ n e. NN0 ) )
10 nn0z
 |-  ( L e. NN0 -> L e. ZZ )
11 2 10 mp1i
 |-  ( ( ( L <_ ( # ` V ) /\ n e. NN0 ) /\ n = ( # ` V ) ) -> L e. ZZ )
12 nn0z
 |-  ( n e. NN0 -> n e. ZZ )
13 12 ad2antlr
 |-  ( ( ( L <_ ( # ` V ) /\ n e. NN0 ) /\ n = ( # ` V ) ) -> n e. ZZ )
14 breq2
 |-  ( ( # ` V ) = n -> ( L <_ ( # ` V ) <-> L <_ n ) )
15 14 eqcoms
 |-  ( n = ( # ` V ) -> ( L <_ ( # ` V ) <-> L <_ n ) )
16 15 biimpcd
 |-  ( L <_ ( # ` V ) -> ( n = ( # ` V ) -> L <_ n ) )
17 16 adantr
 |-  ( ( L <_ ( # ` V ) /\ n e. NN0 ) -> ( n = ( # ` V ) -> L <_ n ) )
18 17 imp
 |-  ( ( ( L <_ ( # ` V ) /\ n e. NN0 ) /\ n = ( # ` V ) ) -> L <_ n )
19 eqeq1
 |-  ( x = L -> ( x = ( # ` v ) <-> L = ( # ` v ) ) )
20 19 anbi2d
 |-  ( x = L -> ( ( [. v / a ]. [. e / b ]. rh /\ x = ( # ` v ) ) <-> ( [. v / a ]. [. e / b ]. rh /\ L = ( # ` v ) ) ) )
21 20 imbi1d
 |-  ( x = L -> ( ( ( [. v / a ]. [. e / b ]. rh /\ x = ( # ` v ) ) -> ps ) <-> ( ( [. v / a ]. [. e / b ]. rh /\ L = ( # ` v ) ) -> ps ) ) )
22 21 2albidv
 |-  ( x = L -> ( A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ x = ( # ` v ) ) -> ps ) <-> A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ L = ( # ` v ) ) -> ps ) ) )
23 eqeq1
 |-  ( x = y -> ( x = ( # ` v ) <-> y = ( # ` v ) ) )
24 23 anbi2d
 |-  ( x = y -> ( ( [. v / a ]. [. e / b ]. rh /\ x = ( # ` v ) ) <-> ( [. v / a ]. [. e / b ]. rh /\ y = ( # ` v ) ) ) )
25 24 imbi1d
 |-  ( x = y -> ( ( ( [. v / a ]. [. e / b ]. rh /\ x = ( # ` v ) ) -> ps ) <-> ( ( [. v / a ]. [. e / b ]. rh /\ y = ( # ` v ) ) -> ps ) ) )
26 25 2albidv
 |-  ( x = y -> ( A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ x = ( # ` v ) ) -> ps ) <-> A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ y = ( # ` v ) ) -> ps ) ) )
27 eqeq1
 |-  ( x = ( y + 1 ) -> ( x = ( # ` v ) <-> ( y + 1 ) = ( # ` v ) ) )
28 27 anbi2d
 |-  ( x = ( y + 1 ) -> ( ( [. v / a ]. [. e / b ]. rh /\ x = ( # ` v ) ) <-> ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) ) ) )
29 28 imbi1d
 |-  ( x = ( y + 1 ) -> ( ( ( [. v / a ]. [. e / b ]. rh /\ x = ( # ` v ) ) -> ps ) <-> ( ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) ) -> ps ) ) )
30 29 2albidv
 |-  ( x = ( y + 1 ) -> ( A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ x = ( # ` v ) ) -> ps ) <-> A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) ) -> ps ) ) )
31 eqeq1
 |-  ( x = n -> ( x = ( # ` v ) <-> n = ( # ` v ) ) )
32 31 anbi2d
 |-  ( x = n -> ( ( [. v / a ]. [. e / b ]. rh /\ x = ( # ` v ) ) <-> ( [. v / a ]. [. e / b ]. rh /\ n = ( # ` v ) ) ) )
33 32 imbi1d
 |-  ( x = n -> ( ( ( [. v / a ]. [. e / b ]. rh /\ x = ( # ` v ) ) -> ps ) <-> ( ( [. v / a ]. [. e / b ]. rh /\ n = ( # ` v ) ) -> ps ) ) )
34 33 2albidv
 |-  ( x = n -> ( A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ x = ( # ` v ) ) -> ps ) <-> A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ n = ( # ` v ) ) -> ps ) ) )
35 eqcom
 |-  ( L = ( # ` v ) <-> ( # ` v ) = L )
36 35 7 sylan2b
 |-  ( ( [. v / a ]. [. e / b ]. rh /\ L = ( # ` v ) ) -> ps )
37 36 gen2
 |-  A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ L = ( # ` v ) ) -> ps )
38 37 a1i
 |-  ( L e. ZZ -> A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ L = ( # ` v ) ) -> ps ) )
39 simpl
 |-  ( ( v = w /\ e = f ) -> v = w )
40 simpr
 |-  ( ( v = w /\ e = f ) -> e = f )
41 40 sbceq1d
 |-  ( ( v = w /\ e = f ) -> ( [. e / b ]. rh <-> [. f / b ]. rh ) )
42 39 41 sbceqbid
 |-  ( ( v = w /\ e = f ) -> ( [. v / a ]. [. e / b ]. rh <-> [. w / a ]. [. f / b ]. rh ) )
43 fveq2
 |-  ( v = w -> ( # ` v ) = ( # ` w ) )
44 43 eqeq2d
 |-  ( v = w -> ( y = ( # ` v ) <-> y = ( # ` w ) ) )
45 44 adantr
 |-  ( ( v = w /\ e = f ) -> ( y = ( # ` v ) <-> y = ( # ` w ) ) )
46 42 45 anbi12d
 |-  ( ( v = w /\ e = f ) -> ( ( [. v / a ]. [. e / b ]. rh /\ y = ( # ` v ) ) <-> ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) ) )
47 46 4 imbi12d
 |-  ( ( v = w /\ e = f ) -> ( ( ( [. v / a ]. [. e / b ]. rh /\ y = ( # ` v ) ) -> ps ) <-> ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) ) )
48 47 cbval2vw
 |-  ( A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ y = ( # ` v ) ) -> ps ) <-> A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) )
49 nn0ge0
 |-  ( L e. NN0 -> 0 <_ L )
50 0red
 |-  ( y e. ZZ -> 0 e. RR )
51 nn0re
 |-  ( L e. NN0 -> L e. RR )
52 2 51 mp1i
 |-  ( y e. ZZ -> L e. RR )
53 zre
 |-  ( y e. ZZ -> y e. RR )
54 letr
 |-  ( ( 0 e. RR /\ L e. RR /\ y e. RR ) -> ( ( 0 <_ L /\ L <_ y ) -> 0 <_ y ) )
55 50 52 53 54 syl3anc
 |-  ( y e. ZZ -> ( ( 0 <_ L /\ L <_ y ) -> 0 <_ y ) )
56 0nn0
 |-  0 e. NN0
57 pm3.22
 |-  ( ( 0 <_ y /\ y e. ZZ ) -> ( y e. ZZ /\ 0 <_ y ) )
58 0z
 |-  0 e. ZZ
59 eluz1
 |-  ( 0 e. ZZ -> ( y e. ( ZZ>= ` 0 ) <-> ( y e. ZZ /\ 0 <_ y ) ) )
60 58 59 mp1i
 |-  ( ( 0 <_ y /\ y e. ZZ ) -> ( y e. ( ZZ>= ` 0 ) <-> ( y e. ZZ /\ 0 <_ y ) ) )
61 57 60 mpbird
 |-  ( ( 0 <_ y /\ y e. ZZ ) -> y e. ( ZZ>= ` 0 ) )
62 eluznn0
 |-  ( ( 0 e. NN0 /\ y e. ( ZZ>= ` 0 ) ) -> y e. NN0 )
63 56 61 62 sylancr
 |-  ( ( 0 <_ y /\ y e. ZZ ) -> y e. NN0 )
64 63 ex
 |-  ( 0 <_ y -> ( y e. ZZ -> y e. NN0 ) )
65 55 64 syl6com
 |-  ( ( 0 <_ L /\ L <_ y ) -> ( y e. ZZ -> ( y e. ZZ -> y e. NN0 ) ) )
66 65 ex
 |-  ( 0 <_ L -> ( L <_ y -> ( y e. ZZ -> ( y e. ZZ -> y e. NN0 ) ) ) )
67 66 com14
 |-  ( y e. ZZ -> ( L <_ y -> ( y e. ZZ -> ( 0 <_ L -> y e. NN0 ) ) ) )
68 67 pm2.43a
 |-  ( y e. ZZ -> ( L <_ y -> ( 0 <_ L -> y e. NN0 ) ) )
69 68 imp
 |-  ( ( y e. ZZ /\ L <_ y ) -> ( 0 <_ L -> y e. NN0 ) )
70 69 com12
 |-  ( 0 <_ L -> ( ( y e. ZZ /\ L <_ y ) -> y e. NN0 ) )
71 2 49 70 mp2b
 |-  ( ( y e. ZZ /\ L <_ y ) -> y e. NN0 )
72 71 3adant1
 |-  ( ( L e. ZZ /\ y e. ZZ /\ L <_ y ) -> y e. NN0 )
73 eqcom
 |-  ( ( y + 1 ) = ( # ` v ) <-> ( # ` v ) = ( y + 1 ) )
74 nn0p1gt0
 |-  ( y e. NN0 -> 0 < ( y + 1 ) )
75 74 adantr
 |-  ( ( y e. NN0 /\ ( # ` v ) = ( y + 1 ) ) -> 0 < ( y + 1 ) )
76 simpr
 |-  ( ( y e. NN0 /\ ( # ` v ) = ( y + 1 ) ) -> ( # ` v ) = ( y + 1 ) )
77 75 76 breqtrrd
 |-  ( ( y e. NN0 /\ ( # ` v ) = ( y + 1 ) ) -> 0 < ( # ` v ) )
78 73 77 sylan2b
 |-  ( ( y e. NN0 /\ ( y + 1 ) = ( # ` v ) ) -> 0 < ( # ` v ) )
79 78 adantrl
 |-  ( ( y e. NN0 /\ ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) ) ) -> 0 < ( # ` v ) )
80 hashgt0elex
 |-  ( ( v e. _V /\ 0 < ( # ` v ) ) -> E. n n e. v )
81 vex
 |-  v e. _V
82 81 a1i
 |-  ( ( y e. NN0 /\ n e. v ) -> v e. _V )
83 simpr
 |-  ( ( y e. NN0 /\ n e. v ) -> n e. v )
84 simpl
 |-  ( ( y e. NN0 /\ n e. v ) -> y e. NN0 )
85 hashdifsnp1
 |-  ( ( v e. _V /\ n e. v /\ y e. NN0 ) -> ( ( # ` v ) = ( y + 1 ) -> ( # ` ( v \ { n } ) ) = y ) )
86 73 85 syl5bi
 |-  ( ( v e. _V /\ n e. v /\ y e. NN0 ) -> ( ( y + 1 ) = ( # ` v ) -> ( # ` ( v \ { n } ) ) = y ) )
87 82 83 84 86 syl3anc
 |-  ( ( y e. NN0 /\ n e. v ) -> ( ( y + 1 ) = ( # ` v ) -> ( # ` ( v \ { n } ) ) = y ) )
88 87 imp
 |-  ( ( ( y e. NN0 /\ n e. v ) /\ ( y + 1 ) = ( # ` v ) ) -> ( # ` ( v \ { n } ) ) = y )
89 peano2nn0
 |-  ( y e. NN0 -> ( y + 1 ) e. NN0 )
90 89 ad2antrr
 |-  ( ( ( y e. NN0 /\ n e. v ) /\ ( y + 1 ) = ( # ` v ) ) -> ( y + 1 ) e. NN0 )
91 90 ad2antlr
 |-  ( ( ( ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) /\ [. ( v \ { n } ) / a ]. [. F / b ]. rh ) /\ ( ( y e. NN0 /\ n e. v ) /\ ( y + 1 ) = ( # ` v ) ) ) /\ [. v / a ]. [. e / b ]. rh ) -> ( y + 1 ) e. NN0 )
92 simpr
 |-  ( ( ( ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) /\ [. ( v \ { n } ) / a ]. [. F / b ]. rh ) /\ ( ( y e. NN0 /\ n e. v ) /\ ( y + 1 ) = ( # ` v ) ) ) /\ [. v / a ]. [. e / b ]. rh ) -> [. v / a ]. [. e / b ]. rh )
93 simplrr
 |-  ( ( ( ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) /\ [. ( v \ { n } ) / a ]. [. F / b ]. rh ) /\ ( ( y e. NN0 /\ n e. v ) /\ ( y + 1 ) = ( # ` v ) ) ) /\ [. v / a ]. [. e / b ]. rh ) -> ( y + 1 ) = ( # ` v ) )
94 simprlr
 |-  ( ( ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) /\ [. ( v \ { n } ) / a ]. [. F / b ]. rh ) /\ ( ( y e. NN0 /\ n e. v ) /\ ( y + 1 ) = ( # ` v ) ) ) -> n e. v )
95 94 adantr
 |-  ( ( ( ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) /\ [. ( v \ { n } ) / a ]. [. F / b ]. rh ) /\ ( ( y e. NN0 /\ n e. v ) /\ ( y + 1 ) = ( # ` v ) ) ) /\ [. v / a ]. [. e / b ]. rh ) -> n e. v )
96 92 93 95 3jca
 |-  ( ( ( ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) /\ [. ( v \ { n } ) / a ]. [. F / b ]. rh ) /\ ( ( y e. NN0 /\ n e. v ) /\ ( y + 1 ) = ( # ` v ) ) ) /\ [. v / a ]. [. e / b ]. rh ) -> ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) /\ n e. v ) )
97 91 96 jca
 |-  ( ( ( ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) /\ [. ( v \ { n } ) / a ]. [. F / b ]. rh ) /\ ( ( y e. NN0 /\ n e. v ) /\ ( y + 1 ) = ( # ` v ) ) ) /\ [. v / a ]. [. e / b ]. rh ) -> ( ( y + 1 ) e. NN0 /\ ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) /\ n e. v ) ) )
98 81 difexi
 |-  ( v \ { n } ) e. _V
99 simpl
 |-  ( ( w = ( v \ { n } ) /\ f = F ) -> w = ( v \ { n } ) )
100 simpr
 |-  ( ( w = ( v \ { n } ) /\ f = F ) -> f = F )
101 100 sbceq1d
 |-  ( ( w = ( v \ { n } ) /\ f = F ) -> ( [. f / b ]. rh <-> [. F / b ]. rh ) )
102 99 101 sbceqbid
 |-  ( ( w = ( v \ { n } ) /\ f = F ) -> ( [. w / a ]. [. f / b ]. rh <-> [. ( v \ { n } ) / a ]. [. F / b ]. rh ) )
103 eqcom
 |-  ( y = ( # ` w ) <-> ( # ` w ) = y )
104 fveqeq2
 |-  ( w = ( v \ { n } ) -> ( ( # ` w ) = y <-> ( # ` ( v \ { n } ) ) = y ) )
105 103 104 syl5bb
 |-  ( w = ( v \ { n } ) -> ( y = ( # ` w ) <-> ( # ` ( v \ { n } ) ) = y ) )
106 105 adantr
 |-  ( ( w = ( v \ { n } ) /\ f = F ) -> ( y = ( # ` w ) <-> ( # ` ( v \ { n } ) ) = y ) )
107 102 106 anbi12d
 |-  ( ( w = ( v \ { n } ) /\ f = F ) -> ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) <-> ( [. ( v \ { n } ) / a ]. [. F / b ]. rh /\ ( # ` ( v \ { n } ) ) = y ) ) )
108 107 6 imbi12d
 |-  ( ( w = ( v \ { n } ) /\ f = F ) -> ( ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) <-> ( ( [. ( v \ { n } ) / a ]. [. F / b ]. rh /\ ( # ` ( v \ { n } ) ) = y ) -> ch ) ) )
109 108 spc2gv
 |-  ( ( ( v \ { n } ) e. _V /\ F e. _V ) -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ( ( [. ( v \ { n } ) / a ]. [. F / b ]. rh /\ ( # ` ( v \ { n } ) ) = y ) -> ch ) ) )
110 98 1 109 mp2an
 |-  ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ( ( [. ( v \ { n } ) / a ]. [. F / b ]. rh /\ ( # ` ( v \ { n } ) ) = y ) -> ch ) )
111 110 expdimp
 |-  ( ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) /\ [. ( v \ { n } ) / a ]. [. F / b ]. rh ) -> ( ( # ` ( v \ { n } ) ) = y -> ch ) )
112 111 ad2antrr
 |-  ( ( ( ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) /\ [. ( v \ { n } ) / a ]. [. F / b ]. rh ) /\ ( ( y e. NN0 /\ n e. v ) /\ ( y + 1 ) = ( # ` v ) ) ) /\ [. v / a ]. [. e / b ]. rh ) -> ( ( # ` ( v \ { n } ) ) = y -> ch ) )
113 73 3anbi2i
 |-  ( ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) /\ n e. v ) <-> ( [. v / a ]. [. e / b ]. rh /\ ( # ` v ) = ( y + 1 ) /\ n e. v ) )
114 113 anbi2i
 |-  ( ( ( y + 1 ) e. NN0 /\ ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) /\ n e. v ) ) <-> ( ( y + 1 ) e. NN0 /\ ( [. v / a ]. [. e / b ]. rh /\ ( # ` v ) = ( y + 1 ) /\ n e. v ) ) )
115 114 8 sylanb
 |-  ( ( ( ( y + 1 ) e. NN0 /\ ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) /\ n e. v ) ) /\ ch ) -> ps )
116 97 112 115 syl6an
 |-  ( ( ( ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) /\ [. ( v \ { n } ) / a ]. [. F / b ]. rh ) /\ ( ( y e. NN0 /\ n e. v ) /\ ( y + 1 ) = ( # ` v ) ) ) /\ [. v / a ]. [. e / b ]. rh ) -> ( ( # ` ( v \ { n } ) ) = y -> ps ) )
117 116 exp41
 |-  ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ( [. ( v \ { n } ) / a ]. [. F / b ]. rh -> ( ( ( y e. NN0 /\ n e. v ) /\ ( y + 1 ) = ( # ` v ) ) -> ( [. v / a ]. [. e / b ]. rh -> ( ( # ` ( v \ { n } ) ) = y -> ps ) ) ) ) )
118 117 com15
 |-  ( ( # ` ( v \ { n } ) ) = y -> ( [. ( v \ { n } ) / a ]. [. F / b ]. rh -> ( ( ( y e. NN0 /\ n e. v ) /\ ( y + 1 ) = ( # ` v ) ) -> ( [. v / a ]. [. e / b ]. rh -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) ) )
119 118 com23
 |-  ( ( # ` ( v \ { n } ) ) = y -> ( ( ( y e. NN0 /\ n e. v ) /\ ( y + 1 ) = ( # ` v ) ) -> ( [. ( v \ { n } ) / a ]. [. F / b ]. rh -> ( [. v / a ]. [. e / b ]. rh -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) ) )
120 88 119 mpcom
 |-  ( ( ( y e. NN0 /\ n e. v ) /\ ( y + 1 ) = ( # ` v ) ) -> ( [. ( v \ { n } ) / a ]. [. F / b ]. rh -> ( [. v / a ]. [. e / b ]. rh -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) )
121 120 ex
 |-  ( ( y e. NN0 /\ n e. v ) -> ( ( y + 1 ) = ( # ` v ) -> ( [. ( v \ { n } ) / a ]. [. F / b ]. rh -> ( [. v / a ]. [. e / b ]. rh -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) ) )
122 121 com23
 |-  ( ( y e. NN0 /\ n e. v ) -> ( [. ( v \ { n } ) / a ]. [. F / b ]. rh -> ( ( y + 1 ) = ( # ` v ) -> ( [. v / a ]. [. e / b ]. rh -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) ) )
123 122 ex
 |-  ( y e. NN0 -> ( n e. v -> ( [. ( v \ { n } ) / a ]. [. F / b ]. rh -> ( ( y + 1 ) = ( # ` v ) -> ( [. v / a ]. [. e / b ]. rh -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) ) ) )
124 123 com15
 |-  ( [. v / a ]. [. e / b ]. rh -> ( n e. v -> ( [. ( v \ { n } ) / a ]. [. F / b ]. rh -> ( ( y + 1 ) = ( # ` v ) -> ( y e. NN0 -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) ) ) )
125 124 imp
 |-  ( ( [. v / a ]. [. e / b ]. rh /\ n e. v ) -> ( [. ( v \ { n } ) / a ]. [. F / b ]. rh -> ( ( y + 1 ) = ( # ` v ) -> ( y e. NN0 -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) ) )
126 5 125 mpd
 |-  ( ( [. v / a ]. [. e / b ]. rh /\ n e. v ) -> ( ( y + 1 ) = ( # ` v ) -> ( y e. NN0 -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) )
127 126 ex
 |-  ( [. v / a ]. [. e / b ]. rh -> ( n e. v -> ( ( y + 1 ) = ( # ` v ) -> ( y e. NN0 -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) ) )
128 127 com4l
 |-  ( n e. v -> ( ( y + 1 ) = ( # ` v ) -> ( y e. NN0 -> ( [. v / a ]. [. e / b ]. rh -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) ) )
129 128 exlimiv
 |-  ( E. n n e. v -> ( ( y + 1 ) = ( # ` v ) -> ( y e. NN0 -> ( [. v / a ]. [. e / b ]. rh -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) ) )
130 80 129 syl
 |-  ( ( v e. _V /\ 0 < ( # ` v ) ) -> ( ( y + 1 ) = ( # ` v ) -> ( y e. NN0 -> ( [. v / a ]. [. e / b ]. rh -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) ) )
131 130 ex
 |-  ( v e. _V -> ( 0 < ( # ` v ) -> ( ( y + 1 ) = ( # ` v ) -> ( y e. NN0 -> ( [. v / a ]. [. e / b ]. rh -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) ) ) )
132 131 com25
 |-  ( v e. _V -> ( [. v / a ]. [. e / b ]. rh -> ( ( y + 1 ) = ( # ` v ) -> ( y e. NN0 -> ( 0 < ( # ` v ) -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) ) ) )
133 132 elv
 |-  ( [. v / a ]. [. e / b ]. rh -> ( ( y + 1 ) = ( # ` v ) -> ( y e. NN0 -> ( 0 < ( # ` v ) -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) ) )
134 133 imp
 |-  ( ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) ) -> ( y e. NN0 -> ( 0 < ( # ` v ) -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) ) )
135 134 impcom
 |-  ( ( y e. NN0 /\ ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) ) ) -> ( 0 < ( # ` v ) -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) ) )
136 79 135 mpd
 |-  ( ( y e. NN0 /\ ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) ) ) -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) )
137 72 136 sylan
 |-  ( ( ( L e. ZZ /\ y e. ZZ /\ L <_ y ) /\ ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) ) ) -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> ps ) )
138 137 impancom
 |-  ( ( ( L e. ZZ /\ y e. ZZ /\ L <_ y ) /\ A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) ) -> ( ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) ) -> ps ) )
139 138 alrimivv
 |-  ( ( ( L e. ZZ /\ y e. ZZ /\ L <_ y ) /\ A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) ) -> A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) ) -> ps ) )
140 139 ex
 |-  ( ( L e. ZZ /\ y e. ZZ /\ L <_ y ) -> ( A. w A. f ( ( [. w / a ]. [. f / b ]. rh /\ y = ( # ` w ) ) -> th ) -> A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) ) -> ps ) ) )
141 48 140 syl5bi
 |-  ( ( L e. ZZ /\ y e. ZZ /\ L <_ y ) -> ( A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ y = ( # ` v ) ) -> ps ) -> A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ ( y + 1 ) = ( # ` v ) ) -> ps ) ) )
142 22 26 30 34 38 141 uzind
 |-  ( ( L e. ZZ /\ n e. ZZ /\ L <_ n ) -> A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ n = ( # ` v ) ) -> ps ) )
143 11 13 18 142 syl3anc
 |-  ( ( ( L <_ ( # ` V ) /\ n e. NN0 ) /\ n = ( # ` V ) ) -> A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ n = ( # ` v ) ) -> ps ) )
144 sbcex
 |-  ( [. V / a ]. [. E / b ]. rh -> V e. _V )
145 sbccom
 |-  ( [. V / a ]. [. E / b ]. rh <-> [. E / b ]. [. V / a ]. rh )
146 sbcex
 |-  ( [. E / b ]. [. V / a ]. rh -> E e. _V )
147 145 146 sylbi
 |-  ( [. V / a ]. [. E / b ]. rh -> E e. _V )
148 144 147 jca
 |-  ( [. V / a ]. [. E / b ]. rh -> ( V e. _V /\ E e. _V ) )
149 simpl
 |-  ( ( v = V /\ e = E ) -> v = V )
150 simpr
 |-  ( ( v = V /\ e = E ) -> e = E )
151 150 sbceq1d
 |-  ( ( v = V /\ e = E ) -> ( [. e / b ]. rh <-> [. E / b ]. rh ) )
152 149 151 sbceqbid
 |-  ( ( v = V /\ e = E ) -> ( [. v / a ]. [. e / b ]. rh <-> [. V / a ]. [. E / b ]. rh ) )
153 fveq2
 |-  ( v = V -> ( # ` v ) = ( # ` V ) )
154 153 eqeq2d
 |-  ( v = V -> ( n = ( # ` v ) <-> n = ( # ` V ) ) )
155 154 adantr
 |-  ( ( v = V /\ e = E ) -> ( n = ( # ` v ) <-> n = ( # ` V ) ) )
156 152 155 anbi12d
 |-  ( ( v = V /\ e = E ) -> ( ( [. v / a ]. [. e / b ]. rh /\ n = ( # ` v ) ) <-> ( [. V / a ]. [. E / b ]. rh /\ n = ( # ` V ) ) ) )
157 156 3 imbi12d
 |-  ( ( v = V /\ e = E ) -> ( ( ( [. v / a ]. [. e / b ]. rh /\ n = ( # ` v ) ) -> ps ) <-> ( ( [. V / a ]. [. E / b ]. rh /\ n = ( # ` V ) ) -> ph ) ) )
158 157 spc2gv
 |-  ( ( V e. _V /\ E e. _V ) -> ( A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ n = ( # ` v ) ) -> ps ) -> ( ( [. V / a ]. [. E / b ]. rh /\ n = ( # ` V ) ) -> ph ) ) )
159 158 com23
 |-  ( ( V e. _V /\ E e. _V ) -> ( ( [. V / a ]. [. E / b ]. rh /\ n = ( # ` V ) ) -> ( A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ n = ( # ` v ) ) -> ps ) -> ph ) ) )
160 159 expd
 |-  ( ( V e. _V /\ E e. _V ) -> ( [. V / a ]. [. E / b ]. rh -> ( n = ( # ` V ) -> ( A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ n = ( # ` v ) ) -> ps ) -> ph ) ) ) )
161 148 160 mpcom
 |-  ( [. V / a ]. [. E / b ]. rh -> ( n = ( # ` V ) -> ( A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ n = ( # ` v ) ) -> ps ) -> ph ) ) )
162 161 imp
 |-  ( ( [. V / a ]. [. E / b ]. rh /\ n = ( # ` V ) ) -> ( A. v A. e ( ( [. v / a ]. [. e / b ]. rh /\ n = ( # ` v ) ) -> ps ) -> ph ) )
163 143 162 syl5com
 |-  ( ( ( L <_ ( # ` V ) /\ n e. NN0 ) /\ n = ( # ` V ) ) -> ( ( [. V / a ]. [. E / b ]. rh /\ n = ( # ` V ) ) -> ph ) )
164 163 exp31
 |-  ( L <_ ( # ` V ) -> ( n e. NN0 -> ( n = ( # ` V ) -> ( ( [. V / a ]. [. E / b ]. rh /\ n = ( # ` V ) ) -> ph ) ) ) )
165 164 com14
 |-  ( ( [. V / a ]. [. E / b ]. rh /\ n = ( # ` V ) ) -> ( n e. NN0 -> ( n = ( # ` V ) -> ( L <_ ( # ` V ) -> ph ) ) ) )
166 165 expcom
 |-  ( n = ( # ` V ) -> ( [. V / a ]. [. E / b ]. rh -> ( n e. NN0 -> ( n = ( # ` V ) -> ( L <_ ( # ` V ) -> ph ) ) ) ) )
167 166 com24
 |-  ( n = ( # ` V ) -> ( n = ( # ` V ) -> ( n e. NN0 -> ( [. V / a ]. [. E / b ]. rh -> ( L <_ ( # ` V ) -> ph ) ) ) ) )
168 167 pm2.43i
 |-  ( n = ( # ` V ) -> ( n e. NN0 -> ( [. V / a ]. [. E / b ]. rh -> ( L <_ ( # ` V ) -> ph ) ) ) )
169 168 imp
 |-  ( ( n = ( # ` V ) /\ n e. NN0 ) -> ( [. V / a ]. [. E / b ]. rh -> ( L <_ ( # ` V ) -> ph ) ) )
170 169 exlimiv
 |-  ( E. n ( n = ( # ` V ) /\ n e. NN0 ) -> ( [. V / a ]. [. E / b ]. rh -> ( L <_ ( # ` V ) -> ph ) ) )
171 9 170 sylbi
 |-  ( ( # ` V ) e. NN0 -> ( [. V / a ]. [. E / b ]. rh -> ( L <_ ( # ` V ) -> ph ) ) )
172 hashcl
 |-  ( V e. Fin -> ( # ` V ) e. NN0 )
173 171 172 syl11
 |-  ( [. V / a ]. [. E / b ]. rh -> ( V e. Fin -> ( L <_ ( # ` V ) -> ph ) ) )
174 173 3imp
 |-  ( ( [. V / a ]. [. E / b ]. rh /\ V e. Fin /\ L <_ ( # ` V ) ) -> ph )