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 ⊢ A ∈ 0 ..^ N ∧ I ∈ 0 ..^ N ∧ ¬ I < N − A → I − N − A ∈ 0 ..^ A

Proof

Step Hyp Ref Expression
1 elfzo0 ⊢ A ∈ 0 ..^ N ↔ A ∈ ℕ 0 ∧ N ∈ ℕ ∧ A < N
2 elfzo0 ⊢ I ∈ 0 ..^ N ↔ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N
3 nnre ⊢ N ∈ ℕ → N ∈ ℝ
4 3 3ad2ant2 ⊢ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → N ∈ ℝ
5 nn0re ⊢ A ∈ ℕ 0 → A ∈ ℝ
6 5 adantr ⊢ A ∈ ℕ 0 ∧ A < N → A ∈ ℝ
7 resubcl ⊢ N ∈ ℝ ∧ A ∈ ℝ → N − A ∈ ℝ
8 4 6 7 syl2anr ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → N − A ∈ ℝ
9 nn0re ⊢ I ∈ ℕ 0 → I ∈ ℝ
10 9 3ad2ant1 ⊢ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → I ∈ ℝ
11 10 adantl ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → I ∈ ℝ
12 lenlt ⊢ N − A ∈ ℝ ∧ I ∈ ℝ → N − A ≤ I ↔ ¬ I < N − A
13 12 bicomd ⊢ N − A ∈ ℝ ∧ I ∈ ℝ → ¬ I < N − A ↔ N − A ≤ I
14 8 11 13 syl2anc ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → ¬ I < N − A ↔ N − A ≤ I
15 14 biimpa ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N ∧ ¬ I < N − A → N − A ≤ I
16 nnz ⊢ N ∈ ℕ → N ∈ ℤ
17 16 3ad2ant2 ⊢ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → N ∈ ℤ
18 nn0z ⊢ A ∈ ℕ 0 → A ∈ ℤ
19 18 adantr ⊢ A ∈ ℕ 0 ∧ A < N → A ∈ ℤ
20 zsubcl ⊢ N ∈ ℤ ∧ A ∈ ℤ → N − A ∈ ℤ
21 17 19 20 syl2anr ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → N − A ∈ ℤ
22 ltle ⊢ A ∈ ℝ ∧ N ∈ ℝ → A < N → A ≤ N
23 5 4 22 syl2an ⊢ A ∈ ℕ 0 ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → A < N → A ≤ N
24 23 impancom ⊢ A ∈ ℕ 0 ∧ A < N → I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → A ≤ N
25 24 imp ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → A ≤ N
26 subge0 ⊢ N ∈ ℝ ∧ A ∈ ℝ → 0 ≤ N − A ↔ A ≤ N
27 4 6 26 syl2anr ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → 0 ≤ N − A ↔ A ≤ N
28 25 27 mpbird ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → 0 ≤ N − A
29 elnn0z ⊢ N − A ∈ ℕ 0 ↔ N − A ∈ ℤ ∧ 0 ≤ N − A
30 21 28 29 sylanbrc ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → N − A ∈ ℕ 0
31 30 adantr ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N ∧ ¬ I < N − A → N − A ∈ ℕ 0
32 simplr1 ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N ∧ ¬ I < N − A → I ∈ ℕ 0
33 nn0sub ⊢ N − A ∈ ℕ 0 ∧ I ∈ ℕ 0 → N − A ≤ I ↔ I − N − A ∈ ℕ 0
34 31 32 33 syl2anc ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N ∧ ¬ I < N − A → N − A ≤ I ↔ I − N − A ∈ ℕ 0
35 15 34 mpbid ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N ∧ ¬ I < N − A → I − N − A ∈ ℕ 0
36 elnn0uz ⊢ I − N − A ∈ ℕ 0 ↔ I − N − A ∈ ℤ ≥ 0
37 35 36 sylib ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N ∧ ¬ I < N − A → I − N − A ∈ ℤ ≥ 0
38 19 adantr ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → A ∈ ℤ
39 38 adantr ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N ∧ ¬ I < N − A → A ∈ ℤ
40 9 adantr ⊢ I ∈ ℕ 0 ∧ N ∈ ℕ → I ∈ ℝ
41 40 adantl ⊢ A ∈ ℕ 0 ∧ I ∈ ℕ 0 ∧ N ∈ ℕ → I ∈ ℝ
42 3 adantl ⊢ I ∈ ℕ 0 ∧ N ∈ ℕ → N ∈ ℝ
43 42 adantl ⊢ A ∈ ℕ 0 ∧ I ∈ ℕ 0 ∧ N ∈ ℕ → N ∈ ℝ
44 42 5 7 syl2anr ⊢ A ∈ ℕ 0 ∧ I ∈ ℕ 0 ∧ N ∈ ℕ → N − A ∈ ℝ
45 41 43 44 ltsub1d ⊢ A ∈ ℕ 0 ∧ I ∈ ℕ 0 ∧ N ∈ ℕ → I < N ↔ I − N − A < N − N − A
46 nncn ⊢ N ∈ ℕ → N ∈ ℂ
47 46 adantl ⊢ I ∈ ℕ 0 ∧ N ∈ ℕ → N ∈ ℂ
48 nn0cn ⊢ A ∈ ℕ 0 → A ∈ ℂ
49 nncan ⊢ N ∈ ℂ ∧ A ∈ ℂ → N − N − A = A
50 47 48 49 syl2anr ⊢ A ∈ ℕ 0 ∧ I ∈ ℕ 0 ∧ N ∈ ℕ → N − N − A = A
51 50 breq2d ⊢ A ∈ ℕ 0 ∧ I ∈ ℕ 0 ∧ N ∈ ℕ → I − N − A < N − N − A ↔ I − N − A < A
52 51 biimpd ⊢ A ∈ ℕ 0 ∧ I ∈ ℕ 0 ∧ N ∈ ℕ → I − N − A < N − N − A → I − N − A < A
53 45 52 sylbid ⊢ A ∈ ℕ 0 ∧ I ∈ ℕ 0 ∧ N ∈ ℕ → I < N → I − N − A < A
54 53 ex ⊢ A ∈ ℕ 0 → I ∈ ℕ 0 ∧ N ∈ ℕ → I < N → I − N − A < A
55 54 adantr ⊢ A ∈ ℕ 0 ∧ A < N → I ∈ ℕ 0 ∧ N ∈ ℕ → I < N → I − N − A < A
56 55 com3l ⊢ I ∈ ℕ 0 ∧ N ∈ ℕ → I < N → A ∈ ℕ 0 ∧ A < N → I − N − A < A
57 56 3impia ⊢ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → A ∈ ℕ 0 ∧ A < N → I − N − A < A
58 57 impcom ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → I − N − A < A
59 58 adantr ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N ∧ ¬ I < N − A → I − N − A < A
60 37 39 59 3jca ⊢ A ∈ ℕ 0 ∧ A < N ∧ I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N ∧ ¬ I < N − A → I − N − A ∈ ℤ ≥ 0 ∧ A ∈ ℤ ∧ I − N − A < A
61 60 exp31 ⊢ A ∈ ℕ 0 ∧ A < N → I ∈ ℕ 0 ∧ N ∈ ℕ ∧ I < N → ¬ I < N − A → I − N − A ∈ ℤ ≥ 0 ∧ A ∈ ℤ ∧ I − N − A < A
62 2 61 biimtrid ⊢ A ∈ ℕ 0 ∧ A < N → I ∈ 0 ..^ N → ¬ I < N − A → I − N − A ∈ ℤ ≥ 0 ∧ A ∈ ℤ ∧ I − N − A < A
63 62 3adant2 ⊢ A ∈ ℕ 0 ∧ N ∈ ℕ ∧ A < N → I ∈ 0 ..^ N → ¬ I < N − A → I − N − A ∈ ℤ ≥ 0 ∧ A ∈ ℤ ∧ I − N − A < A
64 1 63 sylbi ⊢ A ∈ 0 ..^ N → I ∈ 0 ..^ N → ¬ I < N − A → I − N − A ∈ ℤ ≥ 0 ∧ A ∈ ℤ ∧ I − N − A < A
65 64 3imp ⊢ A ∈ 0 ..^ N ∧ I ∈ 0 ..^ N ∧ ¬ I < N − A → I − N − A ∈ ℤ ≥ 0 ∧ A ∈ ℤ ∧ I − N − A < A
66 elfzo2 ⊢ I − N − A ∈ 0 ..^ A ↔ I − N − A ∈ ℤ ≥ 0 ∧ A ∈ ℤ ∧ I − N − A < A
67 65 66 sylibr ⊢ A ∈ 0 ..^ N ∧ I ∈ 0 ..^ N ∧ ¬ I < N − A → I − N − A ∈ 0 ..^ A