Metamath Proof Explorer < Previous   Next > Nearby theorems Mirrors  >  Home  >  MPE Home  >  Th. List  >  smupvallem Structured version   Visualization version   GIF version

Theorem smupvallem 15129
 Description: If 𝐴 only has elements less than 𝑁, then all elements of the partial sum sequence past 𝑁 already equal the final value. (Contributed by Mario Carneiro, 20-Sep-2016.)
Hypotheses
Ref Expression
smuval.a (𝜑𝐴 ⊆ ℕ0)
smuval.b (𝜑𝐵 ⊆ ℕ0)
smuval.p 𝑃 = seq0((𝑝 ∈ 𝒫 ℕ0, 𝑚 ∈ ℕ0 ↦ (𝑝 sadd {𝑛 ∈ ℕ0 ∣ (𝑚𝐴 ∧ (𝑛𝑚) ∈ 𝐵)})), (𝑛 ∈ ℕ0 ↦ if(𝑛 = 0, ∅, (𝑛 − 1))))
smuval.n (𝜑𝑁 ∈ ℕ0)
smupvallem.a (𝜑𝐴 ⊆ (0..^𝑁))
smupvallem.m (𝜑𝑀 ∈ (ℤ𝑁))
Assertion
Ref Expression
smupvallem (𝜑 → (𝑃𝑀) = (𝐴 smul 𝐵))
Distinct variable groups:   𝑚,𝑛,𝑝,𝐴   𝑛,𝑁   𝜑,𝑛   𝐵,𝑚,𝑛,𝑝
Allowed substitution hints:   𝜑(𝑚,𝑝)   𝑃(𝑚,𝑛,𝑝)   𝑀(𝑚,𝑛,𝑝)   𝑁(𝑚,𝑝)

Proof of Theorem smupvallem
Dummy variables 𝑘 𝑥 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 smuval.a . . . . . . 7 (𝜑𝐴 ⊆ ℕ0)
2 smuval.b . . . . . . 7 (𝜑𝐵 ⊆ ℕ0)
3 smuval.p . . . . . . 7 𝑃 = seq0((𝑝 ∈ 𝒫 ℕ0, 𝑚 ∈ ℕ0 ↦ (𝑝 sadd {𝑛 ∈ ℕ0 ∣ (𝑚𝐴 ∧ (𝑛𝑚) ∈ 𝐵)})), (𝑛 ∈ ℕ0 ↦ if(𝑛 = 0, ∅, (𝑛 − 1))))
41, 2, 3smupf 15124 . . . . . 6 (𝜑𝑃:ℕ0⟶𝒫 ℕ0)
5 smuval.n . . . . . . 7 (𝜑𝑁 ∈ ℕ0)
6 smupvallem.m . . . . . . 7 (𝜑𝑀 ∈ (ℤ𝑁))
7 eluznn0 11701 . . . . . . 7 ((𝑁 ∈ ℕ0𝑀 ∈ (ℤ𝑁)) → 𝑀 ∈ ℕ0)
85, 6, 7syl2anc 692 . . . . . 6 (𝜑𝑀 ∈ ℕ0)
94, 8ffvelrnd 6316 . . . . 5 (𝜑 → (𝑃𝑀) ∈ 𝒫 ℕ0)
109elpwid 4141 . . . 4 (𝜑 → (𝑃𝑀) ⊆ ℕ0)
1110sseld 3582 . . 3 (𝜑 → (𝑘 ∈ (𝑃𝑀) → 𝑘 ∈ ℕ0))
121, 2, 3smufval 15123 . . . . 5 (𝜑 → (𝐴 smul 𝐵) = {𝑘 ∈ ℕ0𝑘 ∈ (𝑃‘(𝑘 + 1))})
13 ssrab2 3666 . . . . 5 {𝑘 ∈ ℕ0𝑘 ∈ (𝑃‘(𝑘 + 1))} ⊆ ℕ0
1412, 13syl6eqss 3634 . . . 4 (𝜑 → (𝐴 smul 𝐵) ⊆ ℕ0)
1514sseld 3582 . . 3 (𝜑 → (𝑘 ∈ (𝐴 smul 𝐵) → 𝑘 ∈ ℕ0))
161ad2antrr 761 . . . . . . 7 (((𝜑𝑘 ∈ ℕ0) ∧ 𝑁 ∈ (ℤ‘(𝑘 + 1))) → 𝐴 ⊆ ℕ0)
172ad2antrr 761 . . . . . . 7 (((𝜑𝑘 ∈ ℕ0) ∧ 𝑁 ∈ (ℤ‘(𝑘 + 1))) → 𝐵 ⊆ ℕ0)
18 simplr 791 . . . . . . 7 (((𝜑𝑘 ∈ ℕ0) ∧ 𝑁 ∈ (ℤ‘(𝑘 + 1))) → 𝑘 ∈ ℕ0)
196adantr 481 . . . . . . . 8 ((𝜑𝑘 ∈ ℕ0) → 𝑀 ∈ (ℤ𝑁))
20 uztrn 11648 . . . . . . . 8 ((𝑀 ∈ (ℤ𝑁) ∧ 𝑁 ∈ (ℤ‘(𝑘 + 1))) → 𝑀 ∈ (ℤ‘(𝑘 + 1)))
2119, 20sylan 488 . . . . . . 7 (((𝜑𝑘 ∈ ℕ0) ∧ 𝑁 ∈ (ℤ‘(𝑘 + 1))) → 𝑀 ∈ (ℤ‘(𝑘 + 1)))
2216, 17, 3, 18, 21smuval2 15128 . . . . . 6 (((𝜑𝑘 ∈ ℕ0) ∧ 𝑁 ∈ (ℤ‘(𝑘 + 1))) → (𝑘 ∈ (𝐴 smul 𝐵) ↔ 𝑘 ∈ (𝑃𝑀)))
2322bicomd 213 . . . . 5 (((𝜑𝑘 ∈ ℕ0) ∧ 𝑁 ∈ (ℤ‘(𝑘 + 1))) → (𝑘 ∈ (𝑃𝑀) ↔ 𝑘 ∈ (𝐴 smul 𝐵)))
246ad2antrr 761 . . . . . . . . 9 (((𝜑𝑘 ∈ ℕ0) ∧ (𝑘 + 1) ∈ (ℤ𝑁)) → 𝑀 ∈ (ℤ𝑁))
25 simpll 789 . . . . . . . . 9 (((𝜑𝑘 ∈ ℕ0) ∧ (𝑘 + 1) ∈ (ℤ𝑁)) → 𝜑)
26 fveq2 6148 . . . . . . . . . . . 12 (𝑥 = 𝑁 → (𝑃𝑥) = (𝑃𝑁))
2726eqeq1d 2623 . . . . . . . . . . 11 (𝑥 = 𝑁 → ((𝑃𝑥) = (𝑃𝑁) ↔ (𝑃𝑁) = (𝑃𝑁)))
2827imbi2d 330 . . . . . . . . . 10 (𝑥 = 𝑁 → ((𝜑 → (𝑃𝑥) = (𝑃𝑁)) ↔ (𝜑 → (𝑃𝑁) = (𝑃𝑁))))
29 fveq2 6148 . . . . . . . . . . . 12 (𝑥 = 𝑘 → (𝑃𝑥) = (𝑃𝑘))
3029eqeq1d 2623 . . . . . . . . . . 11 (𝑥 = 𝑘 → ((𝑃𝑥) = (𝑃𝑁) ↔ (𝑃𝑘) = (𝑃𝑁)))
3130imbi2d 330 . . . . . . . . . 10 (𝑥 = 𝑘 → ((𝜑 → (𝑃𝑥) = (𝑃𝑁)) ↔ (𝜑 → (𝑃𝑘) = (𝑃𝑁))))
32 fveq2 6148 . . . . . . . . . . . 12 (𝑥 = (𝑘 + 1) → (𝑃𝑥) = (𝑃‘(𝑘 + 1)))
3332eqeq1d 2623 . . . . . . . . . . 11 (𝑥 = (𝑘 + 1) → ((𝑃𝑥) = (𝑃𝑁) ↔ (𝑃‘(𝑘 + 1)) = (𝑃𝑁)))
3433imbi2d 330 . . . . . . . . . 10 (𝑥 = (𝑘 + 1) → ((𝜑 → (𝑃𝑥) = (𝑃𝑁)) ↔ (𝜑 → (𝑃‘(𝑘 + 1)) = (𝑃𝑁))))
35 fveq2 6148 . . . . . . . . . . . 12 (𝑥 = 𝑀 → (𝑃𝑥) = (𝑃𝑀))
3635eqeq1d 2623 . . . . . . . . . . 11 (𝑥 = 𝑀 → ((𝑃𝑥) = (𝑃𝑁) ↔ (𝑃𝑀) = (𝑃𝑁)))
3736imbi2d 330 . . . . . . . . . 10 (𝑥 = 𝑀 → ((𝜑 → (𝑃𝑥) = (𝑃𝑁)) ↔ (𝜑 → (𝑃𝑀) = (𝑃𝑁))))
38 eqidd 2622 . . . . . . . . . . 11 (𝜑 → (𝑃𝑁) = (𝑃𝑁))
3938a1i 11 . . . . . . . . . 10 (𝑁 ∈ ℤ → (𝜑 → (𝑃𝑁) = (𝑃𝑁)))
401adantr 481 . . . . . . . . . . . . . . . 16 ((𝜑𝑘 ∈ (ℤ𝑁)) → 𝐴 ⊆ ℕ0)
412adantr 481 . . . . . . . . . . . . . . . 16 ((𝜑𝑘 ∈ (ℤ𝑁)) → 𝐵 ⊆ ℕ0)
42 eluznn0 11701 . . . . . . . . . . . . . . . . 17 ((𝑁 ∈ ℕ0𝑘 ∈ (ℤ𝑁)) → 𝑘 ∈ ℕ0)
435, 42sylan 488 . . . . . . . . . . . . . . . 16 ((𝜑𝑘 ∈ (ℤ𝑁)) → 𝑘 ∈ ℕ0)
4440, 41, 3, 43smupp1 15126 . . . . . . . . . . . . . . 15 ((𝜑𝑘 ∈ (ℤ𝑁)) → (𝑃‘(𝑘 + 1)) = ((𝑃𝑘) sadd {𝑛 ∈ ℕ0 ∣ (𝑘𝐴 ∧ (𝑛𝑘) ∈ 𝐵)}))
45 eluzle 11644 . . . . . . . . . . . . . . . . . . . . 21 (𝑘 ∈ (ℤ𝑁) → 𝑁𝑘)
4645adantl 482 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑘 ∈ (ℤ𝑁)) → 𝑁𝑘)
475nn0red 11296 . . . . . . . . . . . . . . . . . . . . . 22 (𝜑𝑁 ∈ ℝ)
4847adantr 481 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑘 ∈ (ℤ𝑁)) → 𝑁 ∈ ℝ)
4943nn0red 11296 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑘 ∈ (ℤ𝑁)) → 𝑘 ∈ ℝ)
5048, 49lenltd 10127 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑘 ∈ (ℤ𝑁)) → (𝑁𝑘 ↔ ¬ 𝑘 < 𝑁))
5146, 50mpbid 222 . . . . . . . . . . . . . . . . . . 19 ((𝜑𝑘 ∈ (ℤ𝑁)) → ¬ 𝑘 < 𝑁)
52 smupvallem.a . . . . . . . . . . . . . . . . . . . . . . 23 (𝜑𝐴 ⊆ (0..^𝑁))
5352adantr 481 . . . . . . . . . . . . . . . . . . . . . 22 ((𝜑𝑘 ∈ (ℤ𝑁)) → 𝐴 ⊆ (0..^𝑁))
5453sseld 3582 . . . . . . . . . . . . . . . . . . . . 21 ((𝜑𝑘 ∈ (ℤ𝑁)) → (𝑘𝐴𝑘 ∈ (0..^𝑁)))
55 elfzolt2 12420 . . . . . . . . . . . . . . . . . . . . 21 (𝑘 ∈ (0..^𝑁) → 𝑘 < 𝑁)
5654, 55syl6 35 . . . . . . . . . . . . . . . . . . . 20 ((𝜑𝑘 ∈ (ℤ𝑁)) → (𝑘𝐴𝑘 < 𝑁))
5756adantrd 484 . . . . . . . . . . . . . . . . . . 19 ((𝜑𝑘 ∈ (ℤ𝑁)) → ((𝑘𝐴 ∧ (𝑛𝑘) ∈ 𝐵) → 𝑘 < 𝑁))
5851, 57mtod 189 . . . . . . . . . . . . . . . . . 18 ((𝜑𝑘 ∈ (ℤ𝑁)) → ¬ (𝑘𝐴 ∧ (𝑛𝑘) ∈ 𝐵))
5958ralrimivw 2961 . . . . . . . . . . . . . . . . 17 ((𝜑𝑘 ∈ (ℤ𝑁)) → ∀𝑛 ∈ ℕ0 ¬ (𝑘𝐴 ∧ (𝑛𝑘) ∈ 𝐵))
60 rabeq0 3931 . . . . . . . . . . . . . . . . 17 ({𝑛 ∈ ℕ0 ∣ (𝑘𝐴 ∧ (𝑛𝑘) ∈ 𝐵)} = ∅ ↔ ∀𝑛 ∈ ℕ0 ¬ (𝑘𝐴 ∧ (𝑛𝑘) ∈ 𝐵))
6159, 60sylibr 224 . . . . . . . . . . . . . . . 16 ((𝜑𝑘 ∈ (ℤ𝑁)) → {𝑛 ∈ ℕ0 ∣ (𝑘𝐴 ∧ (𝑛𝑘) ∈ 𝐵)} = ∅)
6261oveq2d 6620 . . . . . . . . . . . . . . 15 ((𝜑𝑘 ∈ (ℤ𝑁)) → ((𝑃𝑘) sadd {𝑛 ∈ ℕ0 ∣ (𝑘𝐴 ∧ (𝑛𝑘) ∈ 𝐵)}) = ((𝑃𝑘) sadd ∅))
634adantr 481 . . . . . . . . . . . . . . . . . 18 ((𝜑𝑘 ∈ (ℤ𝑁)) → 𝑃:ℕ0⟶𝒫 ℕ0)
6463, 43ffvelrnd 6316 . . . . . . . . . . . . . . . . 17 ((𝜑𝑘 ∈ (ℤ𝑁)) → (𝑃𝑘) ∈ 𝒫 ℕ0)
6564elpwid 4141 . . . . . . . . . . . . . . . 16 ((𝜑𝑘 ∈ (ℤ𝑁)) → (𝑃𝑘) ⊆ ℕ0)
66 sadid1 15114 . . . . . . . . . . . . . . . 16 ((𝑃𝑘) ⊆ ℕ0 → ((𝑃𝑘) sadd ∅) = (𝑃𝑘))
6765, 66syl 17 . . . . . . . . . . . . . . 15 ((𝜑𝑘 ∈ (ℤ𝑁)) → ((𝑃𝑘) sadd ∅) = (𝑃𝑘))
6844, 62, 673eqtrd 2659 . . . . . . . . . . . . . 14 ((𝜑𝑘 ∈ (ℤ𝑁)) → (𝑃‘(𝑘 + 1)) = (𝑃𝑘))
6968eqeq1d 2623 . . . . . . . . . . . . 13 ((𝜑𝑘 ∈ (ℤ𝑁)) → ((𝑃‘(𝑘 + 1)) = (𝑃𝑁) ↔ (𝑃𝑘) = (𝑃𝑁)))
7069biimprd 238 . . . . . . . . . . . 12 ((𝜑𝑘 ∈ (ℤ𝑁)) → ((𝑃𝑘) = (𝑃𝑁) → (𝑃‘(𝑘 + 1)) = (𝑃𝑁)))
7170expcom 451 . . . . . . . . . . 11 (𝑘 ∈ (ℤ𝑁) → (𝜑 → ((𝑃𝑘) = (𝑃𝑁) → (𝑃‘(𝑘 + 1)) = (𝑃𝑁))))
7271a2d 29 . . . . . . . . . 10 (𝑘 ∈ (ℤ𝑁) → ((𝜑 → (𝑃𝑘) = (𝑃𝑁)) → (𝜑 → (𝑃‘(𝑘 + 1)) = (𝑃𝑁))))
7328, 31, 34, 37, 39, 72uzind4 11690 . . . . . . . . 9 (𝑀 ∈ (ℤ𝑁) → (𝜑 → (𝑃𝑀) = (𝑃𝑁)))
7424, 25, 73sylc 65 . . . . . . . 8 (((𝜑𝑘 ∈ ℕ0) ∧ (𝑘 + 1) ∈ (ℤ𝑁)) → (𝑃𝑀) = (𝑃𝑁))
75 simpr 477 . . . . . . . . 9 (((𝜑𝑘 ∈ ℕ0) ∧ (𝑘 + 1) ∈ (ℤ𝑁)) → (𝑘 + 1) ∈ (ℤ𝑁))
7628, 31, 34, 34, 39, 72uzind4 11690 . . . . . . . . 9 ((𝑘 + 1) ∈ (ℤ𝑁) → (𝜑 → (𝑃‘(𝑘 + 1)) = (𝑃𝑁)))
7775, 25, 76sylc 65 . . . . . . . 8 (((𝜑𝑘 ∈ ℕ0) ∧ (𝑘 + 1) ∈ (ℤ𝑁)) → (𝑃‘(𝑘 + 1)) = (𝑃𝑁))
7874, 77eqtr4d 2658 . . . . . . 7 (((𝜑𝑘 ∈ ℕ0) ∧ (𝑘 + 1) ∈ (ℤ𝑁)) → (𝑃𝑀) = (𝑃‘(𝑘 + 1)))
7978eleq2d 2684 . . . . . 6 (((𝜑𝑘 ∈ ℕ0) ∧ (𝑘 + 1) ∈ (ℤ𝑁)) → (𝑘 ∈ (𝑃𝑀) ↔ 𝑘 ∈ (𝑃‘(𝑘 + 1))))
801ad2antrr 761 . . . . . . 7 (((𝜑𝑘 ∈ ℕ0) ∧ (𝑘 + 1) ∈ (ℤ𝑁)) → 𝐴 ⊆ ℕ0)
812ad2antrr 761 . . . . . . 7 (((𝜑𝑘 ∈ ℕ0) ∧ (𝑘 + 1) ∈ (ℤ𝑁)) → 𝐵 ⊆ ℕ0)
82 simplr 791 . . . . . . 7 (((𝜑𝑘 ∈ ℕ0) ∧ (𝑘 + 1) ∈ (ℤ𝑁)) → 𝑘 ∈ ℕ0)
8380, 81, 3, 82smuval 15127 . . . . . 6 (((𝜑𝑘 ∈ ℕ0) ∧ (𝑘 + 1) ∈ (ℤ𝑁)) → (𝑘 ∈ (𝐴 smul 𝐵) ↔ 𝑘 ∈ (𝑃‘(𝑘 + 1))))
8479, 83bitr4d 271 . . . . 5 (((𝜑𝑘 ∈ ℕ0) ∧ (𝑘 + 1) ∈ (ℤ𝑁)) → (𝑘 ∈ (𝑃𝑀) ↔ 𝑘 ∈ (𝐴 smul 𝐵)))
85 simpr 477 . . . . . . . 8 ((𝜑𝑘 ∈ ℕ0) → 𝑘 ∈ ℕ0)
8685nn0zd 11424 . . . . . . 7 ((𝜑𝑘 ∈ ℕ0) → 𝑘 ∈ ℤ)
8786peano2zd 11429 . . . . . 6 ((𝜑𝑘 ∈ ℕ0) → (𝑘 + 1) ∈ ℤ)
885nn0zd 11424 . . . . . . 7 (𝜑𝑁 ∈ ℤ)
8988adantr 481 . . . . . 6 ((𝜑𝑘 ∈ ℕ0) → 𝑁 ∈ ℤ)
90 uztric 11653 . . . . . 6 (((𝑘 + 1) ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑁 ∈ (ℤ‘(𝑘 + 1)) ∨ (𝑘 + 1) ∈ (ℤ𝑁)))
9187, 89, 90syl2anc 692 . . . . 5 ((𝜑𝑘 ∈ ℕ0) → (𝑁 ∈ (ℤ‘(𝑘 + 1)) ∨ (𝑘 + 1) ∈ (ℤ𝑁)))
9223, 84, 91mpjaodan 826 . . . 4 ((𝜑𝑘 ∈ ℕ0) → (𝑘 ∈ (𝑃𝑀) ↔ 𝑘 ∈ (𝐴 smul 𝐵)))
9392ex 450 . . 3 (𝜑 → (𝑘 ∈ ℕ0 → (𝑘 ∈ (𝑃𝑀) ↔ 𝑘 ∈ (𝐴 smul 𝐵))))
9411, 15, 93pm5.21ndd 369 . 2 (𝜑 → (𝑘 ∈ (𝑃𝑀) ↔ 𝑘 ∈ (𝐴 smul 𝐵)))
9594eqrdv 2619 1 (𝜑 → (𝑃𝑀) = (𝐴 smul 𝐵))