Users' Mathboxes Mathbox for Thierry Arnoux < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  iwrdsplit Structured version   Visualization version   GIF version

Theorem iwrdsplit 34645
Description: Lemma for sseqp1 34653. (Contributed by Thierry Arnoux, 25-Apr-2019.) (Proof shortened by AV, 14-Oct-2022.)
Hypotheses
Ref Expression
iwrdsplit.s (𝜑𝑆 ∈ V)
iwrdsplit.f (𝜑𝐹:ℕ0𝑆)
iwrdsplit.n (𝜑𝑁 ∈ ℕ0)
Assertion
Ref Expression
iwrdsplit (𝜑 → (𝐹 ↾ (0..^(𝑁 + 1))) = ((𝐹 ↾ (0..^𝑁)) ++ ⟨“(𝐹𝑁)”⟩))

Proof of Theorem iwrdsplit
StepHypRef Expression
1 iwrdsplit.s . . . 4 (𝜑𝑆 ∈ V)
2 iwrdsplit.f . . . 4 (𝜑𝐹:ℕ0𝑆)
3 iwrdsplit.n . . . . 5 (𝜑𝑁 ∈ ℕ0)
4 1nn0 12494 . . . . . 6 1 ∈ ℕ0
54a1i 11 . . . . 5 (𝜑 → 1 ∈ ℕ0)
63, 5nn0addcld 12543 . . . 4 (𝜑 → (𝑁 + 1) ∈ ℕ0)
71, 2, 6subiwrd 34643 . . 3 (𝜑 → (𝐹 ↾ (0..^(𝑁 + 1))) ∈ Word 𝑆)
8 1re 11178 . . . . . 6 1 ∈ ℝ
9 nn0addge2 12525 . . . . . 6 ((1 ∈ ℝ ∧ 𝑁 ∈ ℕ0) → 1 ≤ (𝑁 + 1))
108, 3, 9sylancr 596 . . . . 5 (𝜑 → 1 ≤ (𝑁 + 1))
111, 2, 6subiwrdlen 34644 . . . . 5 (𝜑 → (♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) = (𝑁 + 1))
1210, 11breqtrrd 5127 . . . 4 (𝜑 → 1 ≤ (♯‘(𝐹 ↾ (0..^(𝑁 + 1)))))
13 wrdlenge1n0 14560 . . . . 5 ((𝐹 ↾ (0..^(𝑁 + 1))) ∈ Word 𝑆 → ((𝐹 ↾ (0..^(𝑁 + 1))) ≠ ∅ ↔ 1 ≤ (♯‘(𝐹 ↾ (0..^(𝑁 + 1))))))
147, 13syl 17 . . . 4 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1))) ≠ ∅ ↔ 1 ≤ (♯‘(𝐹 ↾ (0..^(𝑁 + 1))))))
1512, 14mpbird 259 . . 3 (𝜑 → (𝐹 ↾ (0..^(𝑁 + 1))) ≠ ∅)
16 pfxlswccat 14723 . . 3 (((𝐹 ↾ (0..^(𝑁 + 1))) ∈ Word 𝑆 ∧ (𝐹 ↾ (0..^(𝑁 + 1))) ≠ ∅) → (((𝐹 ↾ (0..^(𝑁 + 1))) prefix ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) ++ ⟨“(lastS‘(𝐹 ↾ (0..^(𝑁 + 1))))”⟩) = (𝐹 ↾ (0..^(𝑁 + 1))))
177, 15, 16syl2anc 593 . 2 (𝜑 → (((𝐹 ↾ (0..^(𝑁 + 1))) prefix ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) ++ ⟨“(lastS‘(𝐹 ↾ (0..^(𝑁 + 1))))”⟩) = (𝐹 ↾ (0..^(𝑁 + 1))))
183nn0cnd 12541 . . . . . 6 (𝜑𝑁 ∈ ℂ)
19 1cnd 11172 . . . . . 6 (𝜑 → 1 ∈ ℂ)
2018, 19, 11mvrraddd 11596 . . . . 5 (𝜑 → ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1) = 𝑁)
2120oveq2d 7408 . . . 4 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1))) prefix ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) = ((𝐹 ↾ (0..^(𝑁 + 1))) prefix 𝑁))
22 nn0fz0 13627 . . . . . . . 8 (𝑁 ∈ ℕ0𝑁 ∈ (0...𝑁))
233, 22sylib 220 . . . . . . 7 (𝜑𝑁 ∈ (0...𝑁))
24 elfz0add 13628 . . . . . . . 8 ((𝑁 ∈ ℕ0 ∧ 1 ∈ ℕ0) → (𝑁 ∈ (0...𝑁) → 𝑁 ∈ (0...(𝑁 + 1))))
2524imp 410 . . . . . . 7 (((𝑁 ∈ ℕ0 ∧ 1 ∈ ℕ0) ∧ 𝑁 ∈ (0...𝑁)) → 𝑁 ∈ (0...(𝑁 + 1)))
263, 5, 23, 25syl21anc 848 . . . . . 6 (𝜑𝑁 ∈ (0...(𝑁 + 1)))
2711oveq2d 7408 . . . . . 6 (𝜑 → (0...(♯‘(𝐹 ↾ (0..^(𝑁 + 1))))) = (0...(𝑁 + 1)))
2826, 27eleqtrrd 2864 . . . . 5 (𝜑𝑁 ∈ (0...(♯‘(𝐹 ↾ (0..^(𝑁 + 1))))))
29 pfxres 14690 . . . . 5 (((𝐹 ↾ (0..^(𝑁 + 1))) ∈ Word 𝑆𝑁 ∈ (0...(♯‘(𝐹 ↾ (0..^(𝑁 + 1)))))) → ((𝐹 ↾ (0..^(𝑁 + 1))) prefix 𝑁) = ((𝐹 ↾ (0..^(𝑁 + 1))) ↾ (0..^𝑁)))
307, 28, 29syl2anc 593 . . . 4 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1))) prefix 𝑁) = ((𝐹 ↾ (0..^(𝑁 + 1))) ↾ (0..^𝑁)))
31 fzossfzop1 13746 . . . . 5 (𝑁 ∈ ℕ0 → (0..^𝑁) ⊆ (0..^(𝑁 + 1)))
32 resabs1 5990 . . . . 5 ((0..^𝑁) ⊆ (0..^(𝑁 + 1)) → ((𝐹 ↾ (0..^(𝑁 + 1))) ↾ (0..^𝑁)) = (𝐹 ↾ (0..^𝑁)))
333, 31, 323syl 18 . . . 4 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1))) ↾ (0..^𝑁)) = (𝐹 ↾ (0..^𝑁)))
3421, 30, 333eqtrd 2800 . . 3 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1))) prefix ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) = (𝐹 ↾ (0..^𝑁)))
35 lsw 14574 . . . . . 6 ((𝐹 ↾ (0..^(𝑁 + 1))) ∈ Word 𝑆 → (lastS‘(𝐹 ↾ (0..^(𝑁 + 1)))) = ((𝐹 ↾ (0..^(𝑁 + 1)))‘((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)))
367, 35syl 17 . . . . 5 (𝜑 → (lastS‘(𝐹 ↾ (0..^(𝑁 + 1)))) = ((𝐹 ↾ (0..^(𝑁 + 1)))‘((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)))
3720fveq2d 6867 . . . . 5 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1)))‘((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) = ((𝐹 ↾ (0..^(𝑁 + 1)))‘𝑁))
38 fzonn0p1 13745 . . . . . 6 (𝑁 ∈ ℕ0𝑁 ∈ (0..^(𝑁 + 1)))
39 fvres 6882 . . . . . 6 (𝑁 ∈ (0..^(𝑁 + 1)) → ((𝐹 ↾ (0..^(𝑁 + 1)))‘𝑁) = (𝐹𝑁))
403, 38, 393syl 18 . . . . 5 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1)))‘𝑁) = (𝐹𝑁))
4136, 37, 403eqtrd 2800 . . . 4 (𝜑 → (lastS‘(𝐹 ↾ (0..^(𝑁 + 1)))) = (𝐹𝑁))
4241s1eqd 14612 . . 3 (𝜑 → ⟨“(lastS‘(𝐹 ↾ (0..^(𝑁 + 1))))”⟩ = ⟨“(𝐹𝑁)”⟩)
4334, 42oveq12d 7410 . 2 (𝜑 → (((𝐹 ↾ (0..^(𝑁 + 1))) prefix ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) ++ ⟨“(lastS‘(𝐹 ↾ (0..^(𝑁 + 1))))”⟩) = ((𝐹 ↾ (0..^𝑁)) ++ ⟨“(𝐹𝑁)”⟩))
4417, 43eqtr3d 2798 1 (𝜑 → (𝐹 ↾ (0..^(𝑁 + 1))) = ((𝐹 ↾ (0..^𝑁)) ++ ⟨“(𝐹𝑁)”⟩))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 399   = wceq 1559  wcel 2141  wne 2956  Vcvv 3453  wss 3904  c0 4285   class class class wbr 5099  cres 5647  wf 6513  cfv 6517  (class class class)co 7392  cr 11069  0cc0 11070  1c1 11071   + caddc 11073  cle 11214  cmin 11411  0cn0 12478  ...cfz 13509  ..^cfzo 13656  chash 14340  Word cword 14523  lastSclsw 14572   ++ cconcat 14580  ⟨“cs1 14606   prefix cpfx 14681
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1814  ax-4 1828  ax-5 1929  ax-6 1986  ax-7 2027  ax-8 2143  ax-9 2151  ax-10 2174  ax-11 2190  ax-12 2211  ax-ext 2733  ax-rep 5226  ax-sep 5245  ax-nul 5255  ax-pow 5321  ax-pr 5389  ax-un 7714  ax-cnex 11126  ax-resscn 11127  ax-1cn 11128  ax-icn 11129  ax-addcl 11130  ax-addrcl 11131  ax-mulcl 11132  ax-mulrcl 11133  ax-mulcom 11134  ax-addass 11135  ax-mulass 11136  ax-distr 11137  ax-i2m1 11138  ax-1ne0 11139  ax-1rid 11140  ax-rnegex 11141  ax-rrecex 11142  ax-cnre 11143  ax-pre-lttri 11144  ax-pre-lttrn 11145  ax-pre-ltadd 11146  ax-pre-mulgt0 11147
This theorem depends on definitions:  df-bi 209  df-an 400  df-or 859  df-3or 1098  df-3an 1099  df-tru 1562  df-fal 1572  df-ex 1799  df-nf 1803  df-sb 2090  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-nel 3061  df-ral 3076  df-rex 3086  df-reu 3367  df-rab 3414  df-v 3455  df-sbc 3745  df-csb 3853  df-dif 3907  df-un 3909  df-in 3911  df-ss 3921  df-pss 3924  df-nul 4286  df-if 4480  df-pw 4556  df-sn 4582  df-pr 4584  df-op 4588  df-uni 4865  df-int 4905  df-iun 4950  df-br 5100  df-opab 5162  df-mpt 5181  df-tr 5207  df-id 5540  df-eprel 5545  df-po 5553  df-so 5554  df-fr 5598  df-we 5600  df-xp 5651  df-rel 5652  df-cnv 5653  df-co 5654  df-dm 5655  df-rn 5656  df-res 5657  df-ima 5658  df-pred 6284  df-ord 6345  df-on 6346  df-lim 6347  df-suc 6348  df-iota 6473  df-fun 6519  df-fn 6520  df-f 6521  df-f1 6522  df-fo 6523  df-f1o 6524  df-fv 6525  df-riota 7349  df-ov 7395  df-oprab 7396  df-mpo 7397  df-om 7843  df-1st 7966  df-2nd 7967  df-frecs 8257  df-wrecs 8288  df-recs 8337  df-rdg 8376  df-1o 8432  df-er 8673  df-en 8924  df-dom 8925  df-sdom 8926  df-fin 8927  df-card 9894  df-pnf 11215  df-mnf 11216  df-xr 11217  df-ltxr 11218  df-le 11219  df-sub 11413  df-neg 11414  df-nn 12208  df-n0 12479  df-xnn0 12552  df-z 12566  df-uz 12837  df-fz 13510  df-fzo 13657  df-hash 14341  df-word 14524  df-lsw 14573  df-concat 14581  df-s1 14607  df-substr 14652  df-pfx 14682
This theorem is referenced by:  sseqp1  34653
  Copyright terms: Public domain W3C validator