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

Theorem splfv2a 14764
Description: Symbols within the replacement region of a splice, expressed using the coordinates of the replacement region. (Contributed by Stefan O'Rear, 23-Aug-2015.) (Proof shortened by AV, 15-Oct-2022.)
Hypotheses
Ref Expression
spllen.s (𝜑𝑆 ∈ Word 𝐴)
spllen.f (𝜑𝐹 ∈ (0...𝑇))
spllen.t (𝜑𝑇 ∈ (0...(♯‘𝑆)))
spllen.r (𝜑𝑅 ∈ Word 𝐴)
splfv2a.x (𝜑𝑋 ∈ (0..^(♯‘𝑅)))
Assertion
Ref Expression
splfv2a (𝜑 → ((𝑆 splice ⟨𝐹, 𝑇, 𝑅⟩)‘(𝐹 + 𝑋)) = (𝑅𝑋))

Proof of Theorem splfv2a
StepHypRef Expression
1 spllen.s . . . 4 (𝜑𝑆 ∈ Word 𝐴)
2 spllen.f . . . 4 (𝜑𝐹 ∈ (0...𝑇))
3 spllen.t . . . 4 (𝜑𝑇 ∈ (0...(♯‘𝑆)))
4 spllen.r . . . 4 (𝜑𝑅 ∈ Word 𝐴)
5 splval 14759 . . . 4 ((𝑆 ∈ Word 𝐴 ∧ (𝐹 ∈ (0...𝑇) ∧ 𝑇 ∈ (0...(♯‘𝑆)) ∧ 𝑅 ∈ Word 𝐴)) → (𝑆 splice ⟨𝐹, 𝑇, 𝑅⟩) = (((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩)))
61, 2, 3, 4, 5syl13anc 1369 . . 3 (𝜑 → (𝑆 splice ⟨𝐹, 𝑇, 𝑅⟩) = (((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩)))
7 elfznn0 13648 . . . . . . 7 (𝐹 ∈ (0...𝑇) → 𝐹 ∈ ℕ0)
82, 7syl 17 . . . . . 6 (𝜑𝐹 ∈ ℕ0)
98nn0cnd 12586 . . . . 5 (𝜑𝐹 ∈ ℂ)
10 splfv2a.x . . . . . . 7 (𝜑𝑋 ∈ (0..^(♯‘𝑅)))
11 elfzonn0 13731 . . . . . . 7 (𝑋 ∈ (0..^(♯‘𝑅)) → 𝑋 ∈ ℕ0)
1210, 11syl 17 . . . . . 6 (𝜑𝑋 ∈ ℕ0)
1312nn0cnd 12586 . . . . 5 (𝜑𝑋 ∈ ℂ)
149, 13addcomd 11466 . . . 4 (𝜑 → (𝐹 + 𝑋) = (𝑋 + 𝐹))
15 nn0uz 12916 . . . . . . . 8 0 = (ℤ‘0)
168, 15eleqtrdi 2836 . . . . . . 7 (𝜑𝐹 ∈ (ℤ‘0))
17 elfzuz3 13552 . . . . . . . . 9 (𝑇 ∈ (0...(♯‘𝑆)) → (♯‘𝑆) ∈ (ℤ𝑇))
183, 17syl 17 . . . . . . . 8 (𝜑 → (♯‘𝑆) ∈ (ℤ𝑇))
19 elfzuz3 13552 . . . . . . . . 9 (𝐹 ∈ (0...𝑇) → 𝑇 ∈ (ℤ𝐹))
202, 19syl 17 . . . . . . . 8 (𝜑𝑇 ∈ (ℤ𝐹))
21 uztrn 12892 . . . . . . . 8 (((♯‘𝑆) ∈ (ℤ𝑇) ∧ 𝑇 ∈ (ℤ𝐹)) → (♯‘𝑆) ∈ (ℤ𝐹))
2218, 20, 21syl2anc 582 . . . . . . 7 (𝜑 → (♯‘𝑆) ∈ (ℤ𝐹))
23 elfzuzb 13549 . . . . . . 7 (𝐹 ∈ (0...(♯‘𝑆)) ↔ (𝐹 ∈ (ℤ‘0) ∧ (♯‘𝑆) ∈ (ℤ𝐹)))
2416, 22, 23sylanbrc 581 . . . . . 6 (𝜑𝐹 ∈ (0...(♯‘𝑆)))
25 pfxlen 14691 . . . . . 6 ((𝑆 ∈ Word 𝐴𝐹 ∈ (0...(♯‘𝑆))) → (♯‘(𝑆 prefix 𝐹)) = 𝐹)
261, 24, 25syl2anc 582 . . . . 5 (𝜑 → (♯‘(𝑆 prefix 𝐹)) = 𝐹)
2726oveq2d 7440 . . . 4 (𝜑 → (𝑋 + (♯‘(𝑆 prefix 𝐹))) = (𝑋 + 𝐹))
2814, 27eqtr4d 2769 . . 3 (𝜑 → (𝐹 + 𝑋) = (𝑋 + (♯‘(𝑆 prefix 𝐹))))
296, 28fveq12d 6908 . 2 (𝜑 → ((𝑆 splice ⟨𝐹, 𝑇, 𝑅⟩)‘(𝐹 + 𝑋)) = ((((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩))‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))))
30 pfxcl 14685 . . . . 5 (𝑆 ∈ Word 𝐴 → (𝑆 prefix 𝐹) ∈ Word 𝐴)
311, 30syl 17 . . . 4 (𝜑 → (𝑆 prefix 𝐹) ∈ Word 𝐴)
32 ccatcl 14582 . . . 4 (((𝑆 prefix 𝐹) ∈ Word 𝐴𝑅 ∈ Word 𝐴) → ((𝑆 prefix 𝐹) ++ 𝑅) ∈ Word 𝐴)
3331, 4, 32syl2anc 582 . . 3 (𝜑 → ((𝑆 prefix 𝐹) ++ 𝑅) ∈ Word 𝐴)
34 swrdcl 14653 . . . 4 (𝑆 ∈ Word 𝐴 → (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩) ∈ Word 𝐴)
351, 34syl 17 . . 3 (𝜑 → (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩) ∈ Word 𝐴)
36 0nn0 12539 . . . . . . . 8 0 ∈ ℕ0
37 nn0addcl 12559 . . . . . . . 8 ((0 ∈ ℕ0𝐹 ∈ ℕ0) → (0 + 𝐹) ∈ ℕ0)
3836, 8, 37sylancr 585 . . . . . . 7 (𝜑 → (0 + 𝐹) ∈ ℕ0)
39 fzoss1 13713 . . . . . . . 8 ((0 + 𝐹) ∈ (ℤ‘0) → ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)) ⊆ (0..^((♯‘𝑅) + 𝐹)))
4039, 15eleq2s 2844 . . . . . . 7 ((0 + 𝐹) ∈ ℕ0 → ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)) ⊆ (0..^((♯‘𝑅) + 𝐹)))
4138, 40syl 17 . . . . . 6 (𝜑 → ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)) ⊆ (0..^((♯‘𝑅) + 𝐹)))
42 ccatlen 14583 . . . . . . . . 9 (((𝑆 prefix 𝐹) ∈ Word 𝐴𝑅 ∈ Word 𝐴) → (♯‘((𝑆 prefix 𝐹) ++ 𝑅)) = ((♯‘(𝑆 prefix 𝐹)) + (♯‘𝑅)))
4331, 4, 42syl2anc 582 . . . . . . . 8 (𝜑 → (♯‘((𝑆 prefix 𝐹) ++ 𝑅)) = ((♯‘(𝑆 prefix 𝐹)) + (♯‘𝑅)))
4426oveq1d 7439 . . . . . . . 8 (𝜑 → ((♯‘(𝑆 prefix 𝐹)) + (♯‘𝑅)) = (𝐹 + (♯‘𝑅)))
45 lencl 14541 . . . . . . . . . . 11 (𝑅 ∈ Word 𝐴 → (♯‘𝑅) ∈ ℕ0)
464, 45syl 17 . . . . . . . . . 10 (𝜑 → (♯‘𝑅) ∈ ℕ0)
4746nn0cnd 12586 . . . . . . . . 9 (𝜑 → (♯‘𝑅) ∈ ℂ)
489, 47addcomd 11466 . . . . . . . 8 (𝜑 → (𝐹 + (♯‘𝑅)) = ((♯‘𝑅) + 𝐹))
4943, 44, 483eqtrd 2770 . . . . . . 7 (𝜑 → (♯‘((𝑆 prefix 𝐹) ++ 𝑅)) = ((♯‘𝑅) + 𝐹))
5049oveq2d 7440 . . . . . 6 (𝜑 → (0..^(♯‘((𝑆 prefix 𝐹) ++ 𝑅))) = (0..^((♯‘𝑅) + 𝐹)))
5141, 50sseqtrrd 4021 . . . . 5 (𝜑 → ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)) ⊆ (0..^(♯‘((𝑆 prefix 𝐹) ++ 𝑅))))
528nn0zd 12636 . . . . . 6 (𝜑𝐹 ∈ ℤ)
53 fzoaddel 13739 . . . . . 6 ((𝑋 ∈ (0..^(♯‘𝑅)) ∧ 𝐹 ∈ ℤ) → (𝑋 + 𝐹) ∈ ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)))
5410, 52, 53syl2anc 582 . . . . 5 (𝜑 → (𝑋 + 𝐹) ∈ ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)))
5551, 54sseldd 3980 . . . 4 (𝜑 → (𝑋 + 𝐹) ∈ (0..^(♯‘((𝑆 prefix 𝐹) ++ 𝑅))))
5627, 55eqeltrd 2826 . . 3 (𝜑 → (𝑋 + (♯‘(𝑆 prefix 𝐹))) ∈ (0..^(♯‘((𝑆 prefix 𝐹) ++ 𝑅))))
57 ccatval1 14585 . . 3 ((((𝑆 prefix 𝐹) ++ 𝑅) ∈ Word 𝐴 ∧ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩) ∈ Word 𝐴 ∧ (𝑋 + (♯‘(𝑆 prefix 𝐹))) ∈ (0..^(♯‘((𝑆 prefix 𝐹) ++ 𝑅)))) → ((((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩))‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))) = (((𝑆 prefix 𝐹) ++ 𝑅)‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))))
5833, 35, 56, 57syl3anc 1368 . 2 (𝜑 → ((((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩))‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))) = (((𝑆 prefix 𝐹) ++ 𝑅)‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))))
59 ccatval3 14587 . . 3 (((𝑆 prefix 𝐹) ∈ Word 𝐴𝑅 ∈ Word 𝐴𝑋 ∈ (0..^(♯‘𝑅))) → (((𝑆 prefix 𝐹) ++ 𝑅)‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))) = (𝑅𝑋))
6031, 4, 10, 59syl3anc 1368 . 2 (𝜑 → (((𝑆 prefix 𝐹) ++ 𝑅)‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))) = (𝑅𝑋))
6129, 58, 603eqtrd 2770 1 (𝜑 → ((𝑆 splice ⟨𝐹, 𝑇, 𝑅⟩)‘(𝐹 + 𝑋)) = (𝑅𝑋))
Colors of variables: wff setvar class
Syntax hints:  wi 4   = wceq 1534  wcel 2099  wss 3947  cop 4639  cotp 4641  cfv 6554  (class class class)co 7424  0cc0 11158   + caddc 11161  0cn0 12524  cz 12610  cuz 12874  ...cfz 13538  ..^cfzo 13681  chash 14347  Word cword 14522   ++ cconcat 14578   substr csubstr 14648   prefix cpfx 14678   splice csplice 14757
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1790  ax-4 1804  ax-5 1906  ax-6 1964  ax-7 2004  ax-8 2101  ax-9 2109  ax-10 2130  ax-11 2147  ax-12 2167  ax-ext 2697  ax-rep 5290  ax-sep 5304  ax-nul 5311  ax-pow 5369  ax-pr 5433  ax-un 7746  ax-cnex 11214  ax-resscn 11215  ax-1cn 11216  ax-icn 11217  ax-addcl 11218  ax-addrcl 11219  ax-mulcl 11220  ax-mulrcl 11221  ax-mulcom 11222  ax-addass 11223  ax-mulass 11224  ax-distr 11225  ax-i2m1 11226  ax-1ne0 11227  ax-1rid 11228  ax-rnegex 11229  ax-rrecex 11230  ax-cnre 11231  ax-pre-lttri 11232  ax-pre-lttrn 11233  ax-pre-ltadd 11234  ax-pre-mulgt0 11235
This theorem depends on definitions:  df-bi 206  df-an 395  df-or 846  df-3or 1085  df-3an 1086  df-tru 1537  df-fal 1547  df-ex 1775  df-nf 1779  df-sb 2061  df-mo 2529  df-eu 2558  df-clab 2704  df-cleq 2718  df-clel 2803  df-nfc 2878  df-ne 2931  df-nel 3037  df-ral 3052  df-rex 3061  df-reu 3365  df-rab 3420  df-v 3464  df-sbc 3777  df-csb 3893  df-dif 3950  df-un 3952  df-in 3954  df-ss 3964  df-pss 3967  df-nul 4326  df-if 4534  df-pw 4609  df-sn 4634  df-pr 4636  df-op 4640  df-ot 4642  df-uni 4914  df-int 4955  df-iun 5003  df-br 5154  df-opab 5216  df-mpt 5237  df-tr 5271  df-id 5580  df-eprel 5586  df-po 5594  df-so 5595  df-fr 5637  df-we 5639  df-xp 5688  df-rel 5689  df-cnv 5690  df-co 5691  df-dm 5692  df-rn 5693  df-res 5694  df-ima 5695  df-pred 6312  df-ord 6379  df-on 6380  df-lim 6381  df-suc 6382  df-iota 6506  df-fun 6556  df-fn 6557  df-f 6558  df-f1 6559  df-fo 6560  df-f1o 6561  df-fv 6562  df-riota 7380  df-ov 7427  df-oprab 7428  df-mpo 7429  df-om 7877  df-1st 8003  df-2nd 8004  df-frecs 8296  df-wrecs 8327  df-recs 8401  df-rdg 8440  df-1o 8496  df-er 8734  df-en 8975  df-dom 8976  df-sdom 8977  df-fin 8978  df-card 9982  df-pnf 11300  df-mnf 11301  df-xr 11302  df-ltxr 11303  df-le 11304  df-sub 11496  df-neg 11497  df-nn 12265  df-n0 12525  df-z 12611  df-uz 12875  df-fz 13539  df-fzo 13682  df-hash 14348  df-word 14523  df-concat 14579  df-substr 14649  df-pfx 14679  df-splice 14758
This theorem is referenced by:  psgnunilem2  19493
  Copyright terms: Public domain W3C validator