Metamath Proof Explorer


Theorem nn0diffz0

Description: Upper set of the nonnegative integers. (Contributed by Thierry Arnoux, 25-Jan-2026)

Ref Expression
Assertion nn0diffz0
|- ( N e. NN0 -> ( NN0 \ ( 0 ... N ) ) = ( ZZ>= ` ( N + 1 ) ) )

Proof

Step Hyp Ref Expression
1 nn0uz
 |-  NN0 = ( ZZ>= ` 0 )
2 peano2nn0
 |-  ( N e. NN0 -> ( N + 1 ) e. NN0 )
3 2 1 eleqtrdi
 |-  ( N e. NN0 -> ( N + 1 ) e. ( ZZ>= ` 0 ) )
4 fzouzsplit
 |-  ( ( N + 1 ) e. ( ZZ>= ` 0 ) -> ( ZZ>= ` 0 ) = ( ( 0 ..^ ( N + 1 ) ) u. ( ZZ>= ` ( N + 1 ) ) ) )
5 3 4 syl
 |-  ( N e. NN0 -> ( ZZ>= ` 0 ) = ( ( 0 ..^ ( N + 1 ) ) u. ( ZZ>= ` ( N + 1 ) ) ) )
6 1 5 eqtrid
 |-  ( N e. NN0 -> NN0 = ( ( 0 ..^ ( N + 1 ) ) u. ( ZZ>= ` ( N + 1 ) ) ) )
7 6 difeq1d
 |-  ( N e. NN0 -> ( NN0 \ ( 0 ... N ) ) = ( ( ( 0 ..^ ( N + 1 ) ) u. ( ZZ>= ` ( N + 1 ) ) ) \ ( 0 ... N ) ) )
8 uncom
 |-  ( ( ZZ>= ` ( N + 1 ) ) u. ( 0 ... N ) ) = ( ( 0 ... N ) u. ( ZZ>= ` ( N + 1 ) ) )
9 nn0z
 |-  ( N e. NN0 -> N e. ZZ )
10 fzval3
 |-  ( N e. ZZ -> ( 0 ... N ) = ( 0 ..^ ( N + 1 ) ) )
11 9 10 syl
 |-  ( N e. NN0 -> ( 0 ... N ) = ( 0 ..^ ( N + 1 ) ) )
12 11 uneq1d
 |-  ( N e. NN0 -> ( ( 0 ... N ) u. ( ZZ>= ` ( N + 1 ) ) ) = ( ( 0 ..^ ( N + 1 ) ) u. ( ZZ>= ` ( N + 1 ) ) ) )
13 8 12 eqtrid
 |-  ( N e. NN0 -> ( ( ZZ>= ` ( N + 1 ) ) u. ( 0 ... N ) ) = ( ( 0 ..^ ( N + 1 ) ) u. ( ZZ>= ` ( N + 1 ) ) ) )
14 13 difeq1d
 |-  ( N e. NN0 -> ( ( ( ZZ>= ` ( N + 1 ) ) u. ( 0 ... N ) ) \ ( 0 ... N ) ) = ( ( ( 0 ..^ ( N + 1 ) ) u. ( ZZ>= ` ( N + 1 ) ) ) \ ( 0 ... N ) ) )
15 11 ineq2d
 |-  ( N e. NN0 -> ( ( ZZ>= ` ( N + 1 ) ) i^i ( 0 ... N ) ) = ( ( ZZ>= ` ( N + 1 ) ) i^i ( 0 ..^ ( N + 1 ) ) ) )
16 fzouzdisj
 |-  ( ( 0 ..^ ( N + 1 ) ) i^i ( ZZ>= ` ( N + 1 ) ) ) = (/)
17 16 ineqcomi
 |-  ( ( ZZ>= ` ( N + 1 ) ) i^i ( 0 ..^ ( N + 1 ) ) ) = (/)
18 15 17 eqtrdi
 |-  ( N e. NN0 -> ( ( ZZ>= ` ( N + 1 ) ) i^i ( 0 ... N ) ) = (/) )
19 undif5
 |-  ( ( ( ZZ>= ` ( N + 1 ) ) i^i ( 0 ... N ) ) = (/) -> ( ( ( ZZ>= ` ( N + 1 ) ) u. ( 0 ... N ) ) \ ( 0 ... N ) ) = ( ZZ>= ` ( N + 1 ) ) )
20 18 19 syl
 |-  ( N e. NN0 -> ( ( ( ZZ>= ` ( N + 1 ) ) u. ( 0 ... N ) ) \ ( 0 ... N ) ) = ( ZZ>= ` ( N + 1 ) ) )
21 7 14 20 3eqtr2d
 |-  ( N e. NN0 -> ( NN0 \ ( 0 ... N ) ) = ( ZZ>= ` ( N + 1 ) ) )