Metamath Proof Explorer


Theorem fsuppmapnn0ub

Description: If a function over the nonnegative integers is finitely supported, then there is an upper bound for the arguments resulting in nonzero values. (Contributed by AV, 6-Oct-2019)

Ref Expression
Assertion fsuppmapnn0ub
|- ( ( F e. ( R ^m NN0 ) /\ Z e. V ) -> ( F finSupp Z -> E. m e. NN0 A. x e. NN0 ( m < x -> ( F ` x ) = Z ) ) )

Proof

Step Hyp Ref Expression
1 simpr
 |-  ( ( ( F e. ( R ^m NN0 ) /\ Z e. V ) /\ F finSupp Z ) -> F finSupp Z )
2 1 fsuppimpd
 |-  ( ( ( F e. ( R ^m NN0 ) /\ Z e. V ) /\ F finSupp Z ) -> ( F supp Z ) e. Fin )
3 2 ex
 |-  ( ( F e. ( R ^m NN0 ) /\ Z e. V ) -> ( F finSupp Z -> ( F supp Z ) e. Fin ) )
4 elmapfn
 |-  ( F e. ( R ^m NN0 ) -> F Fn NN0 )
5 4 adantr
 |-  ( ( F e. ( R ^m NN0 ) /\ Z e. V ) -> F Fn NN0 )
6 nn0ex
 |-  NN0 e. _V
7 6 a1i
 |-  ( ( F e. ( R ^m NN0 ) /\ Z e. V ) -> NN0 e. _V )
8 simpr
 |-  ( ( F e. ( R ^m NN0 ) /\ Z e. V ) -> Z e. V )
9 suppvalfn
 |-  ( ( F Fn NN0 /\ NN0 e. _V /\ Z e. V ) -> ( F supp Z ) = { x e. NN0 | ( F ` x ) =/= Z } )
10 5 7 8 9 syl3anc
 |-  ( ( F e. ( R ^m NN0 ) /\ Z e. V ) -> ( F supp Z ) = { x e. NN0 | ( F ` x ) =/= Z } )
11 10 eleq1d
 |-  ( ( F e. ( R ^m NN0 ) /\ Z e. V ) -> ( ( F supp Z ) e. Fin <-> { x e. NN0 | ( F ` x ) =/= Z } e. Fin ) )
12 rabssnn0fi
 |-  ( { x e. NN0 | ( F ` x ) =/= Z } e. Fin <-> E. m e. NN0 A. x e. NN0 ( m < x -> -. ( F ` x ) =/= Z ) )
13 nne
 |-  ( -. ( F ` x ) =/= Z <-> ( F ` x ) = Z )
14 13 imbi2i
 |-  ( ( m < x -> -. ( F ` x ) =/= Z ) <-> ( m < x -> ( F ` x ) = Z ) )
15 14 ralbii
 |-  ( A. x e. NN0 ( m < x -> -. ( F ` x ) =/= Z ) <-> A. x e. NN0 ( m < x -> ( F ` x ) = Z ) )
16 15 rexbii
 |-  ( E. m e. NN0 A. x e. NN0 ( m < x -> -. ( F ` x ) =/= Z ) <-> E. m e. NN0 A. x e. NN0 ( m < x -> ( F ` x ) = Z ) )
17 12 16 sylbb
 |-  ( { x e. NN0 | ( F ` x ) =/= Z } e. Fin -> E. m e. NN0 A. x e. NN0 ( m < x -> ( F ` x ) = Z ) )
18 11 17 syl6bi
 |-  ( ( F e. ( R ^m NN0 ) /\ Z e. V ) -> ( ( F supp Z ) e. Fin -> E. m e. NN0 A. x e. NN0 ( m < x -> ( F ` x ) = Z ) ) )
19 3 18 syld
 |-  ( ( F e. ( R ^m NN0 ) /\ Z e. V ) -> ( F finSupp Z -> E. m e. NN0 A. x e. NN0 ( m < x -> ( F ` x ) = Z ) ) )