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 34419
Description: Lemma for sseqp1 34427. (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 12517 . . . . . 6 1 ∈ ℕ0
54a1i 11 . . . . 5 (𝜑 → 1 ∈ ℕ0)
63, 5nn0addcld 12566 . . . 4 (𝜑 → (𝑁 + 1) ∈ ℕ0)
71, 2, 6subiwrd 34417 . . 3 (𝜑 → (𝐹 ↾ (0..^(𝑁 + 1))) ∈ Word 𝑆)
8 1re 11235 . . . . . 6 1 ∈ ℝ
9 nn0addge2 12548 . . . . . 6 ((1 ∈ ℝ ∧ 𝑁 ∈ ℕ0) → 1 ≤ (𝑁 + 1))
108, 3, 9sylancr 587 . . . . 5 (𝜑 → 1 ≤ (𝑁 + 1))
111, 2, 6subiwrdlen 34418 . . . . 5 (𝜑 → (♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) = (𝑁 + 1))
1210, 11breqtrrd 5147 . . . 4 (𝜑 → 1 ≤ (♯‘(𝐹 ↾ (0..^(𝑁 + 1)))))
13 wrdlenge1n0 14568 . . . . 5 ((𝐹 ↾ (0..^(𝑁 + 1))) ∈ Word 𝑆 → ((𝐹 ↾ (0..^(𝑁 + 1))) ≠ ∅ ↔ 1 ≤ (♯‘(𝐹 ↾ (0..^(𝑁 + 1))))))
147, 13syl 17 . . . 4 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1))) ≠ ∅ ↔ 1 ≤ (♯‘(𝐹 ↾ (0..^(𝑁 + 1))))))
1512, 14mpbird 257 . . 3 (𝜑 → (𝐹 ↾ (0..^(𝑁 + 1))) ≠ ∅)
16 pfxlswccat 14731 . . 3 (((𝐹 ↾ (0..^(𝑁 + 1))) ∈ Word 𝑆 ∧ (𝐹 ↾ (0..^(𝑁 + 1))) ≠ ∅) → (((𝐹 ↾ (0..^(𝑁 + 1))) prefix ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) ++ ⟨“(lastS‘(𝐹 ↾ (0..^(𝑁 + 1))))”⟩) = (𝐹 ↾ (0..^(𝑁 + 1))))
177, 15, 16syl2anc 584 . 2 (𝜑 → (((𝐹 ↾ (0..^(𝑁 + 1))) prefix ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) ++ ⟨“(lastS‘(𝐹 ↾ (0..^(𝑁 + 1))))”⟩) = (𝐹 ↾ (0..^(𝑁 + 1))))
183nn0cnd 12564 . . . . . 6 (𝜑𝑁 ∈ ℂ)
19 1cnd 11230 . . . . . 6 (𝜑 → 1 ∈ ℂ)
2018, 19, 11mvrraddd 11649 . . . . 5 (𝜑 → ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1) = 𝑁)
2120oveq2d 7421 . . . 4 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1))) prefix ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) = ((𝐹 ↾ (0..^(𝑁 + 1))) prefix 𝑁))
22 nn0fz0 13642 . . . . . . . 8 (𝑁 ∈ ℕ0𝑁 ∈ (0...𝑁))
233, 22sylib 218 . . . . . . 7 (𝜑𝑁 ∈ (0...𝑁))
24 elfz0add 13643 . . . . . . . 8 ((𝑁 ∈ ℕ0 ∧ 1 ∈ ℕ0) → (𝑁 ∈ (0...𝑁) → 𝑁 ∈ (0...(𝑁 + 1))))
2524imp 406 . . . . . . 7 (((𝑁 ∈ ℕ0 ∧ 1 ∈ ℕ0) ∧ 𝑁 ∈ (0...𝑁)) → 𝑁 ∈ (0...(𝑁 + 1)))
263, 5, 23, 25syl21anc 837 . . . . . 6 (𝜑𝑁 ∈ (0...(𝑁 + 1)))
2711oveq2d 7421 . . . . . 6 (𝜑 → (0...(♯‘(𝐹 ↾ (0..^(𝑁 + 1))))) = (0...(𝑁 + 1)))
2826, 27eleqtrrd 2837 . . . . 5 (𝜑𝑁 ∈ (0...(♯‘(𝐹 ↾ (0..^(𝑁 + 1))))))
29 pfxres 14697 . . . . 5 (((𝐹 ↾ (0..^(𝑁 + 1))) ∈ Word 𝑆𝑁 ∈ (0...(♯‘(𝐹 ↾ (0..^(𝑁 + 1)))))) → ((𝐹 ↾ (0..^(𝑁 + 1))) prefix 𝑁) = ((𝐹 ↾ (0..^(𝑁 + 1))) ↾ (0..^𝑁)))
307, 28, 29syl2anc 584 . . . 4 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1))) prefix 𝑁) = ((𝐹 ↾ (0..^(𝑁 + 1))) ↾ (0..^𝑁)))
31 fzossfzop1 13759 . . . . 5 (𝑁 ∈ ℕ0 → (0..^𝑁) ⊆ (0..^(𝑁 + 1)))
32 resabs1 5993 . . . . 5 ((0..^𝑁) ⊆ (0..^(𝑁 + 1)) → ((𝐹 ↾ (0..^(𝑁 + 1))) ↾ (0..^𝑁)) = (𝐹 ↾ (0..^𝑁)))
333, 31, 323syl 18 . . . 4 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1))) ↾ (0..^𝑁)) = (𝐹 ↾ (0..^𝑁)))
3421, 30, 333eqtrd 2774 . . 3 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1))) prefix ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) = (𝐹 ↾ (0..^𝑁)))
35 lsw 14582 . . . . . 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 6880 . . . . 5 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1)))‘((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) = ((𝐹 ↾ (0..^(𝑁 + 1)))‘𝑁))
38 fzonn0p1 13758 . . . . . 6 (𝑁 ∈ ℕ0𝑁 ∈ (0..^(𝑁 + 1)))
39 fvres 6895 . . . . . 6 (𝑁 ∈ (0..^(𝑁 + 1)) → ((𝐹 ↾ (0..^(𝑁 + 1)))‘𝑁) = (𝐹𝑁))
403, 38, 393syl 18 . . . . 5 (𝜑 → ((𝐹 ↾ (0..^(𝑁 + 1)))‘𝑁) = (𝐹𝑁))
4136, 37, 403eqtrd 2774 . . . 4 (𝜑 → (lastS‘(𝐹 ↾ (0..^(𝑁 + 1)))) = (𝐹𝑁))
4241s1eqd 14619 . . 3 (𝜑 → ⟨“(lastS‘(𝐹 ↾ (0..^(𝑁 + 1))))”⟩ = ⟨“(𝐹𝑁)”⟩)
4334, 42oveq12d 7423 . 2 (𝜑 → (((𝐹 ↾ (0..^(𝑁 + 1))) prefix ((♯‘(𝐹 ↾ (0..^(𝑁 + 1)))) − 1)) ++ ⟨“(lastS‘(𝐹 ↾ (0..^(𝑁 + 1))))”⟩) = ((𝐹 ↾ (0..^𝑁)) ++ ⟨“(𝐹𝑁)”⟩))
4417, 43eqtr3d 2772 1 (𝜑 → (𝐹 ↾ (0..^(𝑁 + 1))) = ((𝐹 ↾ (0..^𝑁)) ++ ⟨“(𝐹𝑁)”⟩))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395   = wceq 1540  wcel 2108  wne 2932  Vcvv 3459  wss 3926  c0 4308   class class class wbr 5119  cres 5656  wf 6527  cfv 6531  (class class class)co 7405  cr 11128  0cc0 11129  1c1 11130   + caddc 11132  cle 11270  cmin 11466  0cn0 12501  ...cfz 13524  ..^cfzo 13671  chash 14348  Word cword 14531  lastSclsw 14580   ++ cconcat 14588  ⟨“cs1 14613   prefix cpfx 14688
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2157  ax-12 2177  ax-ext 2707  ax-rep 5249  ax-sep 5266  ax-nul 5276  ax-pow 5335  ax-pr 5402  ax-un 7729  ax-cnex 11185  ax-resscn 11186  ax-1cn 11187  ax-icn 11188  ax-addcl 11189  ax-addrcl 11190  ax-mulcl 11191  ax-mulrcl 11192  ax-mulcom 11193  ax-addass 11194  ax-mulass 11195  ax-distr 11196  ax-i2m1 11197  ax-1ne0 11198  ax-1rid 11199  ax-rnegex 11200  ax-rrecex 11201  ax-cnre 11202  ax-pre-lttri 11203  ax-pre-lttrn 11204  ax-pre-ltadd 11205  ax-pre-mulgt0 11206
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2065  df-mo 2539  df-eu 2568  df-clab 2714  df-cleq 2727  df-clel 2809  df-nfc 2885  df-ne 2933  df-nel 3037  df-ral 3052  df-rex 3061  df-reu 3360  df-rab 3416  df-v 3461  df-sbc 3766  df-csb 3875  df-dif 3929  df-un 3931  df-in 3933  df-ss 3943  df-pss 3946  df-nul 4309  df-if 4501  df-pw 4577  df-sn 4602  df-pr 4604  df-op 4608  df-uni 4884  df-int 4923  df-iun 4969  df-br 5120  df-opab 5182  df-mpt 5202  df-tr 5230  df-id 5548  df-eprel 5553  df-po 5561  df-so 5562  df-fr 5606  df-we 5608  df-xp 5660  df-rel 5661  df-cnv 5662  df-co 5663  df-dm 5664  df-rn 5665  df-res 5666  df-ima 5667  df-pred 6290  df-ord 6355  df-on 6356  df-lim 6357  df-suc 6358  df-iota 6484  df-fun 6533  df-fn 6534  df-f 6535  df-f1 6536  df-fo 6537  df-f1o 6538  df-fv 6539  df-riota 7362  df-ov 7408  df-oprab 7409  df-mpo 7410  df-om 7862  df-1st 7988  df-2nd 7989  df-frecs 8280  df-wrecs 8311  df-recs 8385  df-rdg 8424  df-1o 8480  df-er 8719  df-en 8960  df-dom 8961  df-sdom 8962  df-fin 8963  df-card 9953  df-pnf 11271  df-mnf 11272  df-xr 11273  df-ltxr 11274  df-le 11275  df-sub 11468  df-neg 11469  df-nn 12241  df-n0 12502  df-xnn0 12575  df-z 12589  df-uz 12853  df-fz 13525  df-fzo 13672  df-hash 14349  df-word 14532  df-lsw 14581  df-concat 14589  df-s1 14614  df-substr 14659  df-pfx 14689
This theorem is referenced by:  sseqp1  34427
  Copyright terms: Public domain W3C validator