Users' Mathboxes Mathbox for Alexander van der Vekens < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  2elfz2melfz Structured version   Visualization version   GIF version

Theorem 2elfz2melfz 48357
Description: If the sum of two integers of a 0-based finite set of sequential integers is greater than the upper bound, the difference between one of the integers and the difference between the upper bound and the other integer is in the 0-based finite set of sequential integers with the first integer as upper bound. (Contributed by Alexander van der Vekens, 7-Apr-2018.) (Revised by Alexander van der Vekens, 31-May-2018.)
Assertion
Ref Expression
2elfz2melfz ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → (𝑁 < (𝐴 + 𝐵) → (𝐵 − (𝑁 − 𝐴)) ∈ (0...𝐴)))

Proof of Theorem 2elfz2melfz
StepHypRef Expression
1 elfzelz 13649 . . . . 5 (𝐴 ∈ (0...𝑁) → 𝐴 ∈ ℤ)
2 elfzel2 13647 . . . . . 6 (𝐵 ∈ (0...𝑁) → 𝑁 ∈ ℤ)
3 elfzelz 13649 . . . . . 6 (𝐵 ∈ (0...𝑁) → 𝐵 ∈ ℤ)
4 simplr 781 . . . . . . . . . 10 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → 𝐵 ∈ ℤ)
5 zsubcl 12731 . . . . . . . . . . 11 ((𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ) → (𝑁 − 𝐴) ∈ ℤ)
65adantlr 728 . . . . . . . . . 10 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → (𝑁 − 𝐴) ∈ ℤ)
74, 6zsubcld 12801 . . . . . . . . 9 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → (𝐵 − (𝑁 − 𝐴)) ∈ ℤ)
87adantr 486 . . . . . . . 8 ((((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) ∧ 𝑁 < (𝐴 + 𝐵)) → (𝐵 − (𝑁 − 𝐴)) ∈ ℤ)
9 zre 12690 . . . . . . . . . . . 12 (𝑁 ∈ ℤ → 𝑁 ∈ ℝ)
109ad2antrr 739 . . . . . . . . . . 11 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → 𝑁 ∈ ℝ)
11 zaddcl 12729 . . . . . . . . . . . . . . 15 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐴 + 𝐵) ∈ ℤ)
1211zred 12796 . . . . . . . . . . . . . 14 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐴 + 𝐵) ∈ ℝ)
1312expcom 419 . . . . . . . . . . . . 13 (𝐵 ∈ ℤ → (𝐴 ∈ ℤ → (𝐴 + 𝐵) ∈ ℝ))
1413adantl 487 . . . . . . . . . . . 12 ((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐴 ∈ ℤ → (𝐴 + 𝐵) ∈ ℝ))
1514imp 412 . . . . . . . . . . 11 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → (𝐴 + 𝐵) ∈ ℝ)
1610, 15, 10ltsub1d 11918 . . . . . . . . . 10 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → (𝑁 < (𝐴 + 𝐵) ↔ (𝑁 − 𝑁) < ((𝐴 + 𝐵) − 𝑁)))
17 zre 12690 . . . . . . . . . . . . . 14 (𝐵 ∈ ℤ → 𝐵 ∈ ℝ)
189, 17anim12i 625 . . . . . . . . . . . . 13 ((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝑁 ∈ ℝ ∧ 𝐵 ∈ ℝ))
19 zre 12690 . . . . . . . . . . . . 13 (𝐴 ∈ ℤ → 𝐴 ∈ ℝ)
2018, 19anim12i 625 . . . . . . . . . . . 12 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → ((𝑁 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ 𝐴 ∈ ℝ))
21 id 23 . . . . . . . . . . . . . . 15 (𝑁 ∈ ℝ → 𝑁 ∈ ℝ)
2221, 21resubcld 11737 . . . . . . . . . . . . . 14 (𝑁 ∈ ℝ → (𝑁 − 𝑁) ∈ ℝ)
2322ad2antrr 739 . . . . . . . . . . . . 13 (((𝑁 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ 𝐴 ∈ ℝ) → (𝑁 − 𝑁) ∈ ℝ)
24 readdcl 11276 . . . . . . . . . . . . . . . . 17 ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) → (𝐴 + 𝐵) ∈ ℝ)
2524expcom 419 . . . . . . . . . . . . . . . 16 (𝐵 ∈ ℝ → (𝐴 ∈ ℝ → (𝐴 + 𝐵) ∈ ℝ))
2625adantl 487 . . . . . . . . . . . . . . 15 ((𝑁 ∈ ℝ ∧ 𝐵 ∈ ℝ) → (𝐴 ∈ ℝ → (𝐴 + 𝐵) ∈ ℝ))
2726imp 412 . . . . . . . . . . . . . 14 (((𝑁 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ 𝐴 ∈ ℝ) → (𝐴 + 𝐵) ∈ ℝ)
28 simpll 779 . . . . . . . . . . . . . 14 (((𝑁 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ 𝐴 ∈ ℝ) → 𝑁 ∈ ℝ)
2927, 28resubcld 11737 . . . . . . . . . . . . 13 (((𝑁 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ 𝐴 ∈ ℝ) → ((𝐴 + 𝐵) − 𝑁) ∈ ℝ)
3023, 29jca 521 . . . . . . . . . . . 12 (((𝑁 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ 𝐴 ∈ ℝ) → ((𝑁 − 𝑁) ∈ ℝ ∧ ((𝐴 + 𝐵) − 𝑁) ∈ ℝ))
31 ltle 11391 . . . . . . . . . . . 12 (((𝑁 − 𝑁) ∈ ℝ ∧ ((𝐴 + 𝐵) − 𝑁) ∈ ℝ) → ((𝑁 − 𝑁) < ((𝐴 + 𝐵) − 𝑁) → (𝑁 − 𝑁) ≤ ((𝐴 + 𝐵) − 𝑁)))
3220, 30, 313syl 19 . . . . . . . . . . 11 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → ((𝑁 − 𝑁) < ((𝐴 + 𝐵) − 𝑁) → (𝑁 − 𝑁) ≤ ((𝐴 + 𝐵) − 𝑁)))
33 zcn 12691 . . . . . . . . . . . . . 14 (𝑁 ∈ ℤ → 𝑁 ∈ ℂ)
3433subidd 11650 . . . . . . . . . . . . 13 (𝑁 ∈ ℤ → (𝑁 − 𝑁) = 0)
3534ad2antrr 739 . . . . . . . . . . . 12 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → (𝑁 − 𝑁) = 0)
36 zcn 12691 . . . . . . . . . . . . . . 15 (𝐵 ∈ ℤ → 𝐵 ∈ ℂ)
3736adantl 487 . . . . . . . . . . . . . 14 ((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 𝐵 ∈ ℂ)
3837adantr 486 . . . . . . . . . . . . 13 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → 𝐵 ∈ ℂ)
3933ad2antrr 739 . . . . . . . . . . . . 13 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → 𝑁 ∈ ℂ)
40 zcn 12691 . . . . . . . . . . . . . 14 (𝐴 ∈ ℤ → 𝐴 ∈ ℂ)
4140adantl 487 . . . . . . . . . . . . 13 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → 𝐴 ∈ ℂ)
42 simp3 1156 . . . . . . . . . . . . . . . 16 ((𝐵 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ) → 𝐴 ∈ ℂ)
43 simp1 1154 . . . . . . . . . . . . . . . 16 ((𝐵 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ) → 𝐵 ∈ ℂ)
4442, 43addcomd 11505 . . . . . . . . . . . . . . 15 ((𝐵 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ) → (𝐴 + 𝐵) = (𝐵 + 𝐴))
4544oveq1d 7433 . . . . . . . . . . . . . 14 ((𝐵 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ) → ((𝐴 + 𝐵) − 𝑁) = ((𝐵 + 𝐴) − 𝑁))
46 subsub3 11583 . . . . . . . . . . . . . 14 ((𝐵 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ) → (𝐵 − (𝑁 − 𝐴)) = ((𝐵 + 𝐴) − 𝑁))
4745, 46eqtr4d 2799 . . . . . . . . . . . . 13 ((𝐵 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ) → ((𝐴 + 𝐵) − 𝑁) = (𝐵 − (𝑁 − 𝐴)))
4838, 39, 41, 47syl3anc 1398 . . . . . . . . . . . 12 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → ((𝐴 + 𝐵) − 𝑁) = (𝐵 − (𝑁 − 𝐴)))
4935, 48breq12d 5116 . . . . . . . . . . 11 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → ((𝑁 − 𝑁) ≤ ((𝐴 + 𝐵) − 𝑁) ↔ 0 ≤ (𝐵 − (𝑁 − 𝐴))))
5032, 49sylibd 242 . . . . . . . . . 10 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → ((𝑁 − 𝑁) < ((𝐴 + 𝐵) − 𝑁) → 0 ≤ (𝐵 − (𝑁 − 𝐴))))
5116, 50sylbid 243 . . . . . . . . 9 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → (𝑁 < (𝐴 + 𝐵) → 0 ≤ (𝐵 − (𝑁 − 𝐴))))
5251imp 412 . . . . . . . 8 ((((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) ∧ 𝑁 < (𝐴 + 𝐵)) → 0 ≤ (𝐵 − (𝑁 − 𝐴)))
53 elnn0z 12699 . . . . . . . 8 ((𝐵 − (𝑁 − 𝐴)) ∈ ℕ0 ↔ ((𝐵 − (𝑁 − 𝐴)) ∈ ℤ ∧ 0 ≤ (𝐵 − (𝑁 − 𝐴))))
548, 52, 53sylanbrc 595 . . . . . . 7 ((((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) ∧ 𝑁 < (𝐴 + 𝐵)) → (𝐵 − (𝑁 − 𝐴)) ∈ ℕ0)
5554exp31 425 . . . . . 6 ((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐴 ∈ ℤ → (𝑁 < (𝐴 + 𝐵) → (𝐵 − (𝑁 − 𝐴)) ∈ ℕ0)))
562, 3, 55syl2anc 596 . . . . 5 (𝐵 ∈ (0...𝑁) → (𝐴 ∈ ℤ → (𝑁 < (𝐴 + 𝐵) → (𝐵 − (𝑁 − 𝐴)) ∈ ℕ0)))
571, 56mpan9 516 . . . 4 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → (𝑁 < (𝐴 + 𝐵) → (𝐵 − (𝑁 − 𝐴)) ∈ ℕ0))
5857imp 412 . . 3 (((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) ∧ 𝑁 < (𝐴 + 𝐵)) → (𝐵 − (𝑁 − 𝐴)) ∈ ℕ0)
59 elfznn0 13747 . . . 4 (𝐴 ∈ (0...𝑁) → 𝐴 ∈ ℕ0)
6059ad2antrr 739 . . 3 (((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) ∧ 𝑁 < (𝐴 + 𝐵)) → 𝐴 ∈ ℕ0)
61 elfzle2 13654 . . . . . . 7 (𝐵 ∈ (0...𝑁) → 𝐵 ≤ 𝑁)
6261adantl 487 . . . . . 6 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → 𝐵 ≤ 𝑁)
63 elfzel2 13647 . . . . . . . . . 10 (𝐴 ∈ (0...𝑁) → 𝑁 ∈ ℤ)
6463zcnd 12797 . . . . . . . . 9 (𝐴 ∈ (0...𝑁) → 𝑁 ∈ ℂ)
651zcnd 12797 . . . . . . . . 9 (𝐴 ∈ (0...𝑁) → 𝐴 ∈ ℂ)
6664, 65jca 521 . . . . . . . 8 (𝐴 ∈ (0...𝑁) → (𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ))
6766adantr 486 . . . . . . 7 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → (𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ))
68 npcan 11559 . . . . . . 7 ((𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ) → ((𝑁 − 𝐴) + 𝐴) = 𝑁)
6967, 68syl 18 . . . . . 6 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → ((𝑁 − 𝐴) + 𝐴) = 𝑁)
7062, 69breqtrrd 5133 . . . . 5 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → 𝐵 ≤ ((𝑁 − 𝐴) + 𝐴))
713zred 12796 . . . . . . 7 (𝐵 ∈ (0...𝑁) → 𝐵 ∈ ℝ)
7271adantl 487 . . . . . 6 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → 𝐵 ∈ ℝ)
7363zred 12796 . . . . . . . 8 (𝐴 ∈ (0...𝑁) → 𝑁 ∈ ℝ)
741zred 12796 . . . . . . . 8 (𝐴 ∈ (0...𝑁) → 𝐴 ∈ ℝ)
7573, 74resubcld 11737 . . . . . . 7 (𝐴 ∈ (0...𝑁) → (𝑁 − 𝐴) ∈ ℝ)
7675adantr 486 . . . . . 6 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → (𝑁 − 𝐴) ∈ ℝ)
7774adantr 486 . . . . . 6 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → 𝐴 ∈ ℝ)
7872, 76, 77lesubadd2d 11908 . . . . 5 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → ((𝐵 − (𝑁 − 𝐴)) ≤ 𝐴 ↔ 𝐵 ≤ ((𝑁 − 𝐴) + 𝐴)))
7970, 78mpbird 260 . . . 4 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → (𝐵 − (𝑁 − 𝐴)) ≤ 𝐴)
8079adantr 486 . . 3 (((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) ∧ 𝑁 < (𝐴 + 𝐵)) → (𝐵 − (𝑁 − 𝐴)) ≤ 𝐴)
81 elfz2nn0 13745 . . 3 ((𝐵 − (𝑁 − 𝐴)) ∈ (0...𝐴) ↔ ((𝐵 − (𝑁 − 𝐴)) ∈ ℕ0 ∧ 𝐴 ∈ ℕ0 ∧ (𝐵 − (𝑁 − 𝐴)) ≤ 𝐴))
8258, 60, 80, 81syl3anbrc 1362 . 2 (((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) ∧ 𝑁 < (𝐴 + 𝐵)) → (𝐵 − (𝑁 − 𝐴)) ∈ (0...𝐴))
8382ex 418 1 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → (𝑁 < (𝐴 + 𝐵) → (𝐵 − (𝑁 − 𝐴)) ∈ (0...𝐴)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   ∧ w3a 1103   = wceq 1570   ∈ wcel 2145   class class class wbr 5103  (class class class)co 7418  ℂcc 11191  ℝcr 11192  0cc0 11193   + caddc 11196   < clt 11336   ≤ cle 11337   − cmin 11534  ℕ0cn0 12599  ℤcz 12686  ...cfz 13632
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2733  ax-sep 5249  ax-nul 5260  ax-pow 5327  ax-pr 5391  ax-un 7749  ax-cnex 11249  ax-resscn 11250  ax-1cn 11251  ax-icn 11252  ax-addcl 11253  ax-addrcl 11254  ax-mulcl 11255  ax-mulrcl 11256  ax-mulcom 11257  ax-addass 11258  ax-mulass 11259  ax-distr 11260  ax-i2m1 11261  ax-1ne0 11262  ax-1rid 11263  ax-rnegex 11264  ax-rrecex 11265  ax-cnre 11266  ax-pre-lttri 11267  ax-pre-lttrn 11268  ax-pre-ltadd 11269  ax-pre-mulgt0 11270
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-nel 3063  df-ral 3078  df-rex 3088  df-reu 3367  df-rab 3414  df-v 3453  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-pss 3919  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-tr 5213  df-id 5546  df-eprel 5551  df-po 5559  df-so 5560  df-fr 5604  df-we 5606  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-res 5663  df-ima 5664  df-pred 6303  df-ord 6364  df-on 6365  df-lim 6366  df-suc 6367  df-iota 6493  df-fun 6539  df-fn 6540  df-f 6541  df-f1 6542  df-fo 6543  df-f1o 6544  df-fv 6545  df-riota 7375  df-ov 7421  df-oprab 7422  df-mpo 7423  df-om 7876  df-1st 7999  df-2nd 8000  df-frecs 8292  df-wrecs 8323  df-recs 8372  df-rdg 8411  df-er 8710  df-en 8967  df-dom 8968  df-sdom 8969  df-pnf 11338  df-mnf 11339  df-xr 11340  df-ltxr 11341  df-le 11342  df-sub 11536  df-neg 11537  df-nn 12329  df-n0 12600  df-z 12687  df-uz 12959  df-fz 13633
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator