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 31290
Description: Lemma for sseqp1 31299. (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 11719 . . . . . 6 1 ∈ ℕ0
54a1i 11 . . . . 5 (𝜑 → 1 ∈ ℕ0)
63, 5nn0addcld 11765 . . . 4 (𝜑 → (𝑁 + 1) ∈ ℕ0)
71, 2, 6subiwrd 31288 . . 3 (𝜑 → (𝐹 ↾ (0..^(𝑁 + 1))) ∈ Word 𝑆)
8 1re 10433 . . . . . 6 1 ∈ ℝ
9 nn0addge2 11750 . . . . . 6 ((1 ∈ ℝ ∧ 𝑁 ∈ ℕ0) → 1 ≤ (𝑁 + 1))
108, 3, 9sylancr 578 . . . . 5 (𝜑 → 1 ≤ (𝑁 + 1))
111, 2, 6subiwrdlen 31289 . . . . 5 (𝜑 → (♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) = (𝑁 + 1))
1210, 11breqtrrd 4951 . . . 4 (𝜑 → 1 ≤ (♯‘(𝐹 ↾ (0..^(𝑁 + 1)))))
13 wrdlenge1n0 13707 . . . . 5 ((𝐹 ↾ (0..^(𝑁 + 1))) ∈ Word 𝑆 → ((𝐹 ↾ (0..^(𝑁 + 1))) ≠ ∅ ↔ 1 ≤ (♯‘(𝐹 ↾ (0..^(𝑁 + 1))))))
147, 13syl 17 . . . 4 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1))) ≠ ∅ ↔ 1 ≤ (♯‘(𝐹 ↾ (0..^(𝑁 + 1))))))
1512, 14mpbird 249 . . 3 (𝜑 → (𝐹 ↾ (0..^(𝑁 + 1))) ≠ ∅)
16 pfxlswccat 13896 . . 3 (((𝐹 ↾ (0..^(𝑁 + 1))) ∈ Word 𝑆 ∧ (𝐹 ↾ (0..^(𝑁 + 1))) ≠ ∅) → (((𝐹 ↾ (0..^(𝑁 + 1))) prefix ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) ++ ⟨“(lastS‘(𝐹 ↾ (0..^(𝑁 + 1))))”⟩) = (𝐹 ↾ (0..^(𝑁 + 1))))
177, 15, 16syl2anc 576 . 2 (𝜑 → (((𝐹 ↾ (0..^(𝑁 + 1))) prefix ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) ++ ⟨“(lastS‘(𝐹 ↾ (0..^(𝑁 + 1))))”⟩) = (𝐹 ↾ (0..^(𝑁 + 1))))
183nn0cnd 11763 . . . . . 6 (𝜑𝑁 ∈ ℂ)
19 1cnd 10428 . . . . . 6 (𝜑 → 1 ∈ ℂ)
2018, 19, 11mvrraddd 10847 . . . . 5 (𝜑 → ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1) = 𝑁)
2120oveq2d 6986 . . . 4 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1))) prefix ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) = ((𝐹 ↾ (0..^(𝑁 + 1))) prefix 𝑁))
22 nn0fz0 12815 . . . . . . . 8 (𝑁 ∈ ℕ0𝑁 ∈ (0...𝑁))
233, 22sylib 210 . . . . . . 7 (𝜑𝑁 ∈ (0...𝑁))
24 elfz0add 12816 . . . . . . . 8 ((𝑁 ∈ ℕ0 ∧ 1 ∈ ℕ0) → (𝑁 ∈ (0...𝑁) → 𝑁 ∈ (0...(𝑁 + 1))))
2524imp 398 . . . . . . 7 (((𝑁 ∈ ℕ0 ∧ 1 ∈ ℕ0) ∧ 𝑁 ∈ (0...𝑁)) → 𝑁 ∈ (0...(𝑁 + 1)))
263, 5, 23, 25syl21anc 825 . . . . . 6 (𝜑𝑁 ∈ (0...(𝑁 + 1)))
2711oveq2d 6986 . . . . . 6 (𝜑 → (0...(♯‘(𝐹 ↾ (0..^(𝑁 + 1))))) = (0...(𝑁 + 1)))
2826, 27eleqtrrd 2863 . . . . 5 (𝜑𝑁 ∈ (0...(♯‘(𝐹 ↾ (0..^(𝑁 + 1))))))
29 pfxres 13855 . . . . 5 (((𝐹 ↾ (0..^(𝑁 + 1))) ∈ Word 𝑆𝑁 ∈ (0...(♯‘(𝐹 ↾ (0..^(𝑁 + 1)))))) → ((𝐹 ↾ (0..^(𝑁 + 1))) prefix 𝑁) = ((𝐹 ↾ (0..^(𝑁 + 1))) ↾ (0..^𝑁)))
307, 28, 29syl2anc 576 . . . 4 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1))) prefix 𝑁) = ((𝐹 ↾ (0..^(𝑁 + 1))) ↾ (0..^𝑁)))
31 fzossfzop1 12924 . . . . 5 (𝑁 ∈ ℕ0 → (0..^𝑁) ⊆ (0..^(𝑁 + 1)))
32 resabs1 5722 . . . . 5 ((0..^𝑁) ⊆ (0..^(𝑁 + 1)) → ((𝐹 ↾ (0..^(𝑁 + 1))) ↾ (0..^𝑁)) = (𝐹 ↾ (0..^𝑁)))
333, 31, 323syl 18 . . . 4 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1))) ↾ (0..^𝑁)) = (𝐹 ↾ (0..^𝑁)))
3421, 30, 333eqtrd 2812 . . 3 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1))) prefix ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) = (𝐹 ↾ (0..^𝑁)))
35 lsw 13721 . . . . . 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 6497 . . . . 5 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1)))‘((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) = ((𝐹 ↾ (0..^(𝑁 + 1)))‘𝑁))
38 fzonn0p1 12923 . . . . . 6 (𝑁 ∈ ℕ0𝑁 ∈ (0..^(𝑁 + 1)))
39 fvres 6512 . . . . . 6 (𝑁 ∈ (0..^(𝑁 + 1)) → ((𝐹 ↾ (0..^(𝑁 + 1)))‘𝑁) = (𝐹𝑁))
403, 38, 393syl 18 . . . . 5 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1)))‘𝑁) = (𝐹𝑁))
4136, 37, 403eqtrd 2812 . . . 4 (𝜑 → (lastS‘(𝐹 ↾ (0..^(𝑁 + 1)))) = (𝐹𝑁))
4241s1eqd 13758 . . 3 (𝜑 → ⟨“(lastS‘(𝐹 ↾ (0..^(𝑁 + 1))))”⟩ = ⟨“(𝐹𝑁)”⟩)
4334, 42oveq12d 6988 . 2 (𝜑 → (((𝐹 ↾ (0..^(𝑁 + 1))) prefix ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) ++ ⟨“(lastS‘(𝐹 ↾ (0..^(𝑁 + 1))))”⟩) = ((𝐹 ↾ (0..^𝑁)) ++ ⟨“(𝐹𝑁)”⟩))
4417, 43eqtr3d 2810 1 (𝜑 → (𝐹 ↾ (0..^(𝑁 + 1))) = ((𝐹 ↾ (0..^𝑁)) ++ ⟨“(𝐹𝑁)”⟩))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 198  wa 387   = wceq 1507  wcel 2050  wne 2961  Vcvv 3409  wss 3823  c0 4172   class class class wbr 4923  cres 5403  wf 6178  cfv 6182  (class class class)co 6970  cr 10328  0cc0 10329  1c1 10330   + caddc 10332  cle 10469  cmin 10664  0cn0 11701  ...cfz 12702  ..^cfzo 12843  chash 13499  Word cword 13666  lastSclsw 13719   ++ cconcat 13727  ⟨“cs1 13752   prefix cpfx 13846
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1758  ax-4 1772  ax-5 1869  ax-6 1928  ax-7 1965  ax-8 2052  ax-9 2059  ax-10 2079  ax-11 2093  ax-12 2106  ax-13 2301  ax-ext 2744  ax-rep 5043  ax-sep 5054  ax-nul 5061  ax-pow 5113  ax-pr 5180  ax-un 7273  ax-cnex 10385  ax-resscn 10386  ax-1cn 10387  ax-icn 10388  ax-addcl 10389  ax-addrcl 10390  ax-mulcl 10391  ax-mulrcl 10392  ax-mulcom 10393  ax-addass 10394  ax-mulass 10395  ax-distr 10396  ax-i2m1 10397  ax-1ne0 10398  ax-1rid 10399  ax-rnegex 10400  ax-rrecex 10401  ax-cnre 10402  ax-pre-lttri 10403  ax-pre-lttrn 10404  ax-pre-ltadd 10405  ax-pre-mulgt0 10406
This theorem depends on definitions:  df-bi 199  df-an 388  df-or 834  df-3or 1069  df-3an 1070  df-tru 1510  df-ex 1743  df-nf 1747  df-sb 2016  df-mo 2547  df-eu 2584  df-clab 2753  df-cleq 2765  df-clel 2840  df-nfc 2912  df-ne 2962  df-nel 3068  df-ral 3087  df-rex 3088  df-reu 3089  df-rab 3091  df-v 3411  df-sbc 3676  df-csb 3781  df-dif 3826  df-un 3828  df-in 3830  df-ss 3837  df-pss 3839  df-nul 4173  df-if 4345  df-pw 4418  df-sn 4436  df-pr 4438  df-tp 4440  df-op 4442  df-uni 4707  df-int 4744  df-iun 4788  df-br 4924  df-opab 4986  df-mpt 5003  df-tr 5025  df-id 5306  df-eprel 5311  df-po 5320  df-so 5321  df-fr 5360  df-we 5362  df-xp 5407  df-rel 5408  df-cnv 5409  df-co 5410  df-dm 5411  df-rn 5412  df-res 5413  df-ima 5414  df-pred 5980  df-ord 6026  df-on 6027  df-lim 6028  df-suc 6029  df-iota 6146  df-fun 6184  df-fn 6185  df-f 6186  df-f1 6187  df-fo 6188  df-f1o 6189  df-fv 6190  df-riota 6931  df-ov 6973  df-oprab 6974  df-mpo 6975  df-om 7391  df-1st 7495  df-2nd 7496  df-wrecs 7744  df-recs 7806  df-rdg 7844  df-1o 7899  df-oadd 7903  df-er 8083  df-en 8301  df-dom 8302  df-sdom 8303  df-fin 8304  df-card 9156  df-pnf 10470  df-mnf 10471  df-xr 10472  df-ltxr 10473  df-le 10474  df-sub 10666  df-neg 10667  df-nn 11434  df-n0 11702  df-xnn0 11774  df-z 11788  df-uz 12053  df-fz 12703  df-fzo 12844  df-hash 13500  df-word 13667  df-lsw 13720  df-concat 13728  df-s1 13753  df-substr 13798  df-pfx 13847
This theorem is referenced by:  sseqp1  31299
  Copyright terms: Public domain W3C validator