Metamath Proof Explorer


Theorem fsuppmapnn0fiub0

Description: If all functions of a finite set of functions over the nonnegative integers are finitely supported, then all these functions are zero for all integers greater than a fixed integer. (Contributed by AV, 3-Oct-2019)

Ref Expression
Assertion fsuppmapnn0fiub0
|- ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) -> ( A. f e. M f finSupp Z -> E. m e. NN0 A. f e. M A. x e. NN0 ( m < x -> ( f ` x ) = Z ) ) )

Proof

Step Hyp Ref Expression
1 fsuppmapnn0fiubex
 |-  ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) -> ( A. f e. M f finSupp Z -> E. m e. NN0 A. f e. M ( f supp Z ) C_ ( 0 ... m ) ) )
2 ssel2
 |-  ( ( M C_ ( R ^m NN0 ) /\ f e. M ) -> f e. ( R ^m NN0 ) )
3 2 ancoms
 |-  ( ( f e. M /\ M C_ ( R ^m NN0 ) ) -> f e. ( R ^m NN0 ) )
4 elmapfn
 |-  ( f e. ( R ^m NN0 ) -> f Fn NN0 )
5 3 4 syl
 |-  ( ( f e. M /\ M C_ ( R ^m NN0 ) ) -> f Fn NN0 )
6 5 expcom
 |-  ( M C_ ( R ^m NN0 ) -> ( f e. M -> f Fn NN0 ) )
7 6 3ad2ant1
 |-  ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) -> ( f e. M -> f Fn NN0 ) )
8 7 adantr
 |-  ( ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) /\ m e. NN0 ) -> ( f e. M -> f Fn NN0 ) )
9 8 imp
 |-  ( ( ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) /\ m e. NN0 ) /\ f e. M ) -> f Fn NN0 )
10 nn0ex
 |-  NN0 e. _V
11 10 a1i
 |-  ( ( ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) /\ m e. NN0 ) /\ f e. M ) -> NN0 e. _V )
12 simpll3
 |-  ( ( ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) /\ m e. NN0 ) /\ f e. M ) -> Z e. V )
13 suppvalfn
 |-  ( ( f Fn NN0 /\ NN0 e. _V /\ Z e. V ) -> ( f supp Z ) = { x e. NN0 | ( f ` x ) =/= Z } )
14 9 11 12 13 syl3anc
 |-  ( ( ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) /\ m e. NN0 ) /\ f e. M ) -> ( f supp Z ) = { x e. NN0 | ( f ` x ) =/= Z } )
15 14 sseq1d
 |-  ( ( ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) /\ m e. NN0 ) /\ f e. M ) -> ( ( f supp Z ) C_ ( 0 ... m ) <-> { x e. NN0 | ( f ` x ) =/= Z } C_ ( 0 ... m ) ) )
16 rabss
 |-  ( { x e. NN0 | ( f ` x ) =/= Z } C_ ( 0 ... m ) <-> A. x e. NN0 ( ( f ` x ) =/= Z -> x e. ( 0 ... m ) ) )
17 15 16 bitrdi
 |-  ( ( ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) /\ m e. NN0 ) /\ f e. M ) -> ( ( f supp Z ) C_ ( 0 ... m ) <-> A. x e. NN0 ( ( f ` x ) =/= Z -> x e. ( 0 ... m ) ) ) )
18 nne
 |-  ( -. ( f ` x ) =/= Z <-> ( f ` x ) = Z )
19 18 biimpi
 |-  ( -. ( f ` x ) =/= Z -> ( f ` x ) = Z )
20 19 2a1d
 |-  ( -. ( f ` x ) =/= Z -> ( ( ( ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) /\ m e. NN0 ) /\ f e. M ) /\ x e. NN0 ) -> ( m < x -> ( f ` x ) = Z ) ) )
21 elfz2nn0
 |-  ( x e. ( 0 ... m ) <-> ( x e. NN0 /\ m e. NN0 /\ x <_ m ) )
22 nn0re
 |-  ( x e. NN0 -> x e. RR )
23 nn0re
 |-  ( m e. NN0 -> m e. RR )
24 lenlt
 |-  ( ( x e. RR /\ m e. RR ) -> ( x <_ m <-> -. m < x ) )
25 22 23 24 syl2an
 |-  ( ( x e. NN0 /\ m e. NN0 ) -> ( x <_ m <-> -. m < x ) )
26 pm2.21
 |-  ( -. m < x -> ( m < x -> ( f ` x ) = Z ) )
27 25 26 syl6bi
 |-  ( ( x e. NN0 /\ m e. NN0 ) -> ( x <_ m -> ( m < x -> ( f ` x ) = Z ) ) )
28 27 3impia
 |-  ( ( x e. NN0 /\ m e. NN0 /\ x <_ m ) -> ( m < x -> ( f ` x ) = Z ) )
29 28 a1d
 |-  ( ( x e. NN0 /\ m e. NN0 /\ x <_ m ) -> ( ( ( ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) /\ m e. NN0 ) /\ f e. M ) /\ x e. NN0 ) -> ( m < x -> ( f ` x ) = Z ) ) )
30 21 29 sylbi
 |-  ( x e. ( 0 ... m ) -> ( ( ( ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) /\ m e. NN0 ) /\ f e. M ) /\ x e. NN0 ) -> ( m < x -> ( f ` x ) = Z ) ) )
31 20 30 ja
 |-  ( ( ( f ` x ) =/= Z -> x e. ( 0 ... m ) ) -> ( ( ( ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) /\ m e. NN0 ) /\ f e. M ) /\ x e. NN0 ) -> ( m < x -> ( f ` x ) = Z ) ) )
32 31 com12
 |-  ( ( ( ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) /\ m e. NN0 ) /\ f e. M ) /\ x e. NN0 ) -> ( ( ( f ` x ) =/= Z -> x e. ( 0 ... m ) ) -> ( m < x -> ( f ` x ) = Z ) ) )
33 32 ralimdva
 |-  ( ( ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) /\ m e. NN0 ) /\ f e. M ) -> ( A. x e. NN0 ( ( f ` x ) =/= Z -> x e. ( 0 ... m ) ) -> A. x e. NN0 ( m < x -> ( f ` x ) = Z ) ) )
34 17 33 sylbid
 |-  ( ( ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) /\ m e. NN0 ) /\ f e. M ) -> ( ( f supp Z ) C_ ( 0 ... m ) -> A. x e. NN0 ( m < x -> ( f ` x ) = Z ) ) )
35 34 ralimdva
 |-  ( ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) /\ m e. NN0 ) -> ( A. f e. M ( f supp Z ) C_ ( 0 ... m ) -> A. f e. M A. x e. NN0 ( m < x -> ( f ` x ) = Z ) ) )
36 35 reximdva
 |-  ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) -> ( E. m e. NN0 A. f e. M ( f supp Z ) C_ ( 0 ... m ) -> E. m e. NN0 A. f e. M A. x e. NN0 ( m < x -> ( f ` x ) = Z ) ) )
37 1 36 syld
 |-  ( ( M C_ ( R ^m NN0 ) /\ M e. Fin /\ Z e. V ) -> ( A. f e. M f finSupp Z -> E. m e. NN0 A. f e. M A. x e. NN0 ( m < x -> ( f ` x ) = Z ) ) )