Metamath Proof Explorer


Theorem subsubelfzo0

Description: Subtracting a difference from a number which is not less than the difference results in a bounded nonnegative integer. (Contributed by Alexander van der Vekens, 21-May-2018)

Ref Expression
Assertion subsubelfzo0 A0..^NI0..^N¬I<NAINA0..^A

Proof

Step Hyp Ref Expression
1 elfzo0 A0..^NA0NA<N
2 elfzo0 I0..^NI0NI<N
3 nnre NN
4 3 3ad2ant2 I0NI<NN
5 nn0re A0A
6 5 adantr A0A<NA
7 resubcl NANA
8 4 6 7 syl2anr A0A<NI0NI<NNA
9 nn0re I0I
10 9 3ad2ant1 I0NI<NI
11 10 adantl A0A<NI0NI<NI
12 lenlt NAINAI¬I<NA
13 12 bicomd NAI¬I<NANAI
14 8 11 13 syl2anc A0A<NI0NI<N¬I<NANAI
15 14 biimpa A0A<NI0NI<N¬I<NANAI
16 nnz NN
17 16 3ad2ant2 I0NI<NN
18 nn0z A0A
19 18 adantr A0A<NA
20 zsubcl NANA
21 17 19 20 syl2anr A0A<NI0NI<NNA
22 ltle ANA<NAN
23 5 4 22 syl2an A0I0NI<NA<NAN
24 23 impancom A0A<NI0NI<NAN
25 24 imp A0A<NI0NI<NAN
26 subge0 NA0NAAN
27 4 6 26 syl2anr A0A<NI0NI<N0NAAN
28 25 27 mpbird A0A<NI0NI<N0NA
29 elnn0z NA0NA0NA
30 21 28 29 sylanbrc A0A<NI0NI<NNA0
31 30 adantr A0A<NI0NI<N¬I<NANA0
32 simplr1 A0A<NI0NI<N¬I<NAI0
33 nn0sub NA0I0NAIINA0
34 31 32 33 syl2anc A0A<NI0NI<N¬I<NANAIINA0
35 15 34 mpbid A0A<NI0NI<N¬I<NAINA0
36 elnn0uz INA0INA0
37 35 36 sylib A0A<NI0NI<N¬I<NAINA0
38 19 adantr A0A<NI0NI<NA
39 38 adantr A0A<NI0NI<N¬I<NAA
40 9 adantr I0NI
41 40 adantl A0I0NI
42 3 adantl I0NN
43 42 adantl A0I0NN
44 42 5 7 syl2anr A0I0NNA
45 41 43 44 ltsub1d A0I0NI<NINA<NNA
46 nncn NN
47 46 adantl I0NN
48 nn0cn A0A
49 nncan NANNA=A
50 47 48 49 syl2anr A0I0NNNA=A
51 50 breq2d A0I0NINA<NNAINA<A
52 51 biimpd A0I0NINA<NNAINA<A
53 45 52 sylbid A0I0NI<NINA<A
54 53 ex A0I0NI<NINA<A
55 54 adantr A0A<NI0NI<NINA<A
56 55 com3l I0NI<NA0A<NINA<A
57 56 3impia I0NI<NA0A<NINA<A
58 57 impcom A0A<NI0NI<NINA<A
59 58 adantr A0A<NI0NI<N¬I<NAINA<A
60 37 39 59 3jca A0A<NI0NI<N¬I<NAINA0AINA<A
61 60 exp31 A0A<NI0NI<N¬I<NAINA0AINA<A
62 2 61 biimtrid A0A<NI0..^N¬I<NAINA0AINA<A
63 62 3adant2 A0NA<NI0..^N¬I<NAINA0AINA<A
64 1 63 sylbi A0..^NI0..^N¬I<NAINA0AINA<A
65 64 3imp A0..^NI0..^N¬I<NAINA0AINA<A
66 elfzo2 INA0..^AINA0AINA<A
67 65 66 sylibr A0..^NI0..^N¬I<NAINA0..^A