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 48482
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 13660 . . . . 5 (𝐴 ∈ (0...𝑁) → 𝐴 ∈ ℤ)
2 elfzel2 13658 . . . . . 6 (𝐵 ∈ (0...𝑁) → 𝑁 ∈ ℤ)
3 elfzelz 13660 . . . . . 6 (𝐵 ∈ (0...𝑁) → 𝐵 ∈ ℤ)
4 simplr 781 . . . . . . . . . 10 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → 𝐵 ∈ ℤ)
5 zsubcl 12742 . . . . . . . . . . 11 ((𝑁 ∈ ℤ ∧ 𝐴 ∈ ℤ) → (𝑁 − 𝐴) ∈ ℤ)
65adantlr 728 . . . . . . . . . 10 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → (𝑁 − 𝐴) ∈ ℤ)
74, 6zsubcld 12812 . . . . . . . . 9 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → (𝐵 − (𝑁 − 𝐴)) ∈ ℤ)
87adantr 486 . . . . . . . 8 ((((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) ∧ 𝑁 < (𝐴 + 𝐵)) → (𝐵 − (𝑁 − 𝐴)) ∈ ℤ)
9 zre 12701 . . . . . . . . . . . 12 (𝑁 ∈ ℤ → 𝑁 ∈ ℝ)
109ad2antrr 739 . . . . . . . . . . 11 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → 𝑁 ∈ ℝ)
11 zaddcl 12740 . . . . . . . . . . . . . . 15 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐴 + 𝐵) ∈ ℤ)
1211zred 12807 . . . . . . . . . . . . . 14 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐴 + 𝐵) ∈ ℝ)
1312expcom 419 . . . . . . . . . . . . 13 (𝐵 ∈ ℤ → (𝐴 ∈ ℤ → (𝐴 + 𝐵) ∈ ℝ))
1413adantl 487 . . . . . . . . . . . 12 ((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐴 ∈ ℤ → (𝐴 + 𝐵) ∈ ℝ))
1514imp 412 . . . . . . . . . . 11 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → (𝐴 + 𝐵) ∈ ℝ)
1610, 15, 10ltsub1d 11929 . . . . . . . . . 10 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → (𝑁 < (𝐴 + 𝐵) ↔ (𝑁 − 𝑁) < ((𝐴 + 𝐵) − 𝑁)))
17 zre 12701 . . . . . . . . . . . . . 14 (𝐵 ∈ ℤ → 𝐵 ∈ ℝ)
189, 17anim12i 625 . . . . . . . . . . . . 13 ((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝑁 ∈ ℝ ∧ 𝐵 ∈ ℝ))
19 zre 12701 . . . . . . . . . . . . 13 (𝐴 ∈ ℤ → 𝐴 ∈ ℝ)
2018, 19anim12i 625 . . . . . . . . . . . 12 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → ((𝑁 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ 𝐴 ∈ ℝ))
21 id 23 . . . . . . . . . . . . . . 15 (𝑁 ∈ ℝ → 𝑁 ∈ ℝ)
2221, 21resubcld 11748 . . . . . . . . . . . . . 14 (𝑁 ∈ ℝ → (𝑁 − 𝑁) ∈ ℝ)
2322ad2antrr 739 . . . . . . . . . . . . 13 (((𝑁 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ 𝐴 ∈ ℝ) → (𝑁 − 𝑁) ∈ ℝ)
24 readdcl 11287 . . . . . . . . . . . . . . . . 17 ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) → (𝐴 + 𝐵) ∈ ℝ)
2524expcom 419 . . . . . . . . . . . . . . . 16 (𝐵 ∈ ℝ → (𝐴 ∈ ℝ → (𝐴 + 𝐵) ∈ ℝ))
2625adantl 487 . . . . . . . . . . . . . . 15 ((𝑁 ∈ ℝ ∧ 𝐵 ∈ ℝ) → (𝐴 ∈ ℝ → (𝐴 + 𝐵) ∈ ℝ))
2726imp 412 . . . . . . . . . . . . . 14 (((𝑁 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ 𝐴 ∈ ℝ) → (𝐴 + 𝐵) ∈ ℝ)
28 simpll 779 . . . . . . . . . . . . . 14 (((𝑁 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ 𝐴 ∈ ℝ) → 𝑁 ∈ ℝ)
2927, 28resubcld 11748 . . . . . . . . . . . . 13 (((𝑁 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ 𝐴 ∈ ℝ) → ((𝐴 + 𝐵) − 𝑁) ∈ ℝ)
3023, 29jca 521 . . . . . . . . . . . 12 (((𝑁 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ 𝐴 ∈ ℝ) → ((𝑁 − 𝑁) ∈ ℝ ∧ ((𝐴 + 𝐵) − 𝑁) ∈ ℝ))
31 ltle 11402 . . . . . . . . . . . 12 (((𝑁 − 𝑁) ∈ ℝ ∧ ((𝐴 + 𝐵) − 𝑁) ∈ ℝ) → ((𝑁 − 𝑁) < ((𝐴 + 𝐵) − 𝑁) → (𝑁 − 𝑁) ≤ ((𝐴 + 𝐵) − 𝑁)))
3220, 30, 313syl 19 . . . . . . . . . . 11 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → ((𝑁 − 𝑁) < ((𝐴 + 𝐵) − 𝑁) → (𝑁 − 𝑁) ≤ ((𝐴 + 𝐵) − 𝑁)))
33 zcn 12702 . . . . . . . . . . . . . 14 (𝑁 ∈ ℤ → 𝑁 ∈ ℂ)
3433subidd 11661 . . . . . . . . . . . . 13 (𝑁 ∈ ℤ → (𝑁 − 𝑁) = 0)
3534ad2antrr 739 . . . . . . . . . . . 12 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → (𝑁 − 𝑁) = 0)
36 zcn 12702 . . . . . . . . . . . . . . 15 (𝐵 ∈ ℤ → 𝐵 ∈ ℂ)
3736adantl 487 . . . . . . . . . . . . . 14 ((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) → 𝐵 ∈ ℂ)
3837adantr 486 . . . . . . . . . . . . 13 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → 𝐵 ∈ ℂ)
3933ad2antrr 739 . . . . . . . . . . . . 13 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → 𝑁 ∈ ℂ)
40 zcn 12702 . . . . . . . . . . . . . 14 (𝐴 ∈ ℤ → 𝐴 ∈ ℂ)
4140adantl 487 . . . . . . . . . . . . 13 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → 𝐴 ∈ ℂ)
42 simp3 1156 . . . . . . . . . . . . . . . 16 ((𝐵 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ) → 𝐴 ∈ ℂ)
43 simp1 1154 . . . . . . . . . . . . . . . 16 ((𝐵 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ) → 𝐵 ∈ ℂ)
4442, 43addcomd 11516 . . . . . . . . . . . . . . 15 ((𝐵 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ) → (𝐴 + 𝐵) = (𝐵 + 𝐴))
4544oveq1d 7436 . . . . . . . . . . . . . 14 ((𝐵 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ) → ((𝐴 + 𝐵) − 𝑁) = ((𝐵 + 𝐴) − 𝑁))
46 subsub3 11594 . . . . . . . . . . . . . 14 ((𝐵 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ) → (𝐵 − (𝑁 − 𝐴)) = ((𝐵 + 𝐴) − 𝑁))
4745, 46eqtr4d 2798 . . . . . . . . . . . . 13 ((𝐵 ∈ ℂ ∧ 𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ) → ((𝐴 + 𝐵) − 𝑁) = (𝐵 − (𝑁 − 𝐴)))
4838, 39, 41, 47syl3anc 1398 . . . . . . . . . . . 12 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → ((𝐴 + 𝐵) − 𝑁) = (𝐵 − (𝑁 − 𝐴)))
4935, 48breq12d 5115 . . . . . . . . . . 11 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → ((𝑁 − 𝑁) ≤ ((𝐴 + 𝐵) − 𝑁) ↔ 0 ≤ (𝐵 − (𝑁 − 𝐴))))
5032, 49sylibd 242 . . . . . . . . . 10 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → ((𝑁 − 𝑁) < ((𝐴 + 𝐵) − 𝑁) → 0 ≤ (𝐵 − (𝑁 − 𝐴))))
5116, 50sylbid 243 . . . . . . . . 9 (((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) → (𝑁 < (𝐴 + 𝐵) → 0 ≤ (𝐵 − (𝑁 − 𝐴))))
5251imp 412 . . . . . . . 8 ((((𝑁 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝐴 ∈ ℤ) ∧ 𝑁 < (𝐴 + 𝐵)) → 0 ≤ (𝐵 − (𝑁 − 𝐴)))
53 elnn0z 12710 . . . . . . . 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 13758 . . . 4 (𝐴 ∈ (0...𝑁) → 𝐴 ∈ ℕ0)
6059ad2antrr 739 . . 3 (((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) ∧ 𝑁 < (𝐴 + 𝐵)) → 𝐴 ∈ ℕ0)
61 elfzle2 13665 . . . . . . 7 (𝐵 ∈ (0...𝑁) → 𝐵 ≤ 𝑁)
6261adantl 487 . . . . . 6 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → 𝐵 ≤ 𝑁)
63 elfzel2 13658 . . . . . . . . . 10 (𝐴 ∈ (0...𝑁) → 𝑁 ∈ ℤ)
6463zcnd 12808 . . . . . . . . 9 (𝐴 ∈ (0...𝑁) → 𝑁 ∈ ℂ)
651zcnd 12808 . . . . . . . . 9 (𝐴 ∈ (0...𝑁) → 𝐴 ∈ ℂ)
6664, 65jca 521 . . . . . . . 8 (𝐴 ∈ (0...𝑁) → (𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ))
6766adantr 486 . . . . . . 7 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → (𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ))
68 npcan 11570 . . . . . . 7 ((𝑁 ∈ ℂ ∧ 𝐴 ∈ ℂ) → ((𝑁 − 𝐴) + 𝐴) = 𝑁)
6967, 68syl 18 . . . . . 6 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → ((𝑁 − 𝐴) + 𝐴) = 𝑁)
7062, 69breqtrrd 5132 . . . . 5 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → 𝐵 ≤ ((𝑁 − 𝐴) + 𝐴))
713zred 12807 . . . . . . 7 (𝐵 ∈ (0...𝑁) → 𝐵 ∈ ℝ)
7271adantl 487 . . . . . 6 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → 𝐵 ∈ ℝ)
7363zred 12807 . . . . . . . 8 (𝐴 ∈ (0...𝑁) → 𝑁 ∈ ℝ)
741zred 12807 . . . . . . . 8 (𝐴 ∈ (0...𝑁) → 𝐴 ∈ ℝ)
7573, 74resubcld 11748 . . . . . . 7 (𝐴 ∈ (0...𝑁) → (𝑁 − 𝐴) ∈ ℝ)
7675adantr 486 . . . . . 6 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → (𝑁 − 𝐴) ∈ ℝ)
7774adantr 486 . . . . . 6 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → 𝐴 ∈ ℝ)
7872, 76, 77lesubadd2d 11919 . . . . 5 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → ((𝐵 − (𝑁 − 𝐴)) ≤ 𝐴 ↔ 𝐵 ≤ ((𝑁 − 𝐴) + 𝐴)))
7970, 78mpbird 260 . . . 4 ((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) → (𝐵 − (𝑁 − 𝐴)) ≤ 𝐴)
8079adantr 486 . . 3 (((𝐴 ∈ (0...𝑁) ∧ 𝐵 ∈ (0...𝑁)) ∧ 𝑁 < (𝐴 + 𝐵)) → (𝐵 − (𝑁 − 𝐴)) ≤ 𝐴)
81 elfz2nn0 13756 . . 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 1569   ∈ wcel 2144   class class class wbr 5102  (class class class)co 7421  ℂcc 11202  ℝcr 11203  0cc0 11204   + caddc 11207   < clt 11347   ≤ cle 11348   − cmin 11545  ℕ0cn0 12610  ℤcz 12697  ...cfz 13643
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-sep 5248  ax-nul 5259  ax-pow 5326  ax-pr 5390  ax-un 7752  ax-cnex 11260  ax-resscn 11261  ax-1cn 11262  ax-icn 11263  ax-addcl 11264  ax-addrcl 11265  ax-mulcl 11266  ax-mulrcl 11267  ax-mulcom 11268  ax-addass 11269  ax-mulass 11270  ax-distr 11271  ax-i2m1 11272  ax-1ne0 11273  ax-1rid 11274  ax-rnegex 11275  ax-rrecex 11276  ax-cnre 11277  ax-pre-lttri 11278  ax-pre-lttrn 11279  ax-pre-ltadd 11280  ax-pre-mulgt0 11281
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-nel 3062  df-ral 3077  df-rex 3087  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-ss 3896  df-pss 4014  df-dif 4047  df-in 4091  df-un 4151  df-nul 4279  df-if 4482  df-pw 4558  df-sn 4585  df-pr 4587  df-op 4835  df-uni 4867  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-tr 5212  df-id 5545  df-eprel 5550  df-po 5558  df-so 5559  df-fr 5603  df-we 5605  df-xp 5656  df-rel 5657  df-cnv 5658  df-co 5659  df-dm 5660  df-rn 5661  df-res 5662  df-ima 5663  df-pred 6304  df-ord 6365  df-on 6366  df-lim 6367  df-suc 6368  df-iota 6494  df-fun 6541  df-fn 6542  df-f 6543  df-f1 6544  df-fo 6545  df-f1o 6546  df-fv 6547  df-riota 7378  df-ov 7424  df-oprab 7425  df-mpo 7426  df-om 7879  df-1st 8002  df-2nd 8003  df-frecs 8303  df-wrecs 8334  df-recs 8383  df-rdg 8422  df-er 8721  df-en 8978  df-dom 8979  df-sdom 8980  df-pnf 11349  df-mnf 11350  df-xr 11351  df-ltxr 11352  df-le 11353  df-sub 11547  df-neg 11548  df-nn 12340  df-n0 12611  df-z 12698  df-uz 12970  df-fz 13644
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator