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

Theorem splfv2a 14718
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 14713 . . . 4 ((𝑆 ∈ Word 𝐴 ∧ (𝐹 ∈ (0...𝑇) ∧ 𝑇 ∈ (0...(♯‘𝑆)) ∧ 𝑅 ∈ Word 𝐴)) → (𝑆 splice ⟨𝐹, 𝑇, 𝑅⟩) = (((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩)))
61, 2, 3, 4, 5syl13anc 1375 . . 3 (𝜑 → (𝑆 splice ⟨𝐹, 𝑇, 𝑅⟩) = (((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩)))
7 elfznn0 13574 . . . . . . 7 (𝐹 ∈ (0...𝑇) → 𝐹 ∈ ℕ0)
82, 7syl 17 . . . . . 6 (𝜑𝐹 ∈ ℕ0)
98nn0cnd 12500 . . . . 5 (𝜑𝐹 ∈ ℂ)
10 splfv2a.x . . . . . . 7 (𝜑𝑋 ∈ (0..^(♯‘𝑅)))
11 elfzonn0 13662 . . . . . . 7 (𝑋 ∈ (0..^(♯‘𝑅)) → 𝑋 ∈ ℕ0)
1210, 11syl 17 . . . . . 6 (𝜑𝑋 ∈ ℕ0)
1312nn0cnd 12500 . . . . 5 (𝜑𝑋 ∈ ℂ)
149, 13addcomd 11348 . . . 4 (𝜑 → (𝐹 + 𝑋) = (𝑋 + 𝐹))
15 nn0uz 12826 . . . . . . . 8 0 = (ℤ‘0)
168, 15eleqtrdi 2846 . . . . . . 7 (𝜑𝐹 ∈ (ℤ‘0))
17 elfzuz3 13475 . . . . . . . . 9 (𝑇 ∈ (0...(♯‘𝑆)) → (♯‘𝑆) ∈ (ℤ𝑇))
183, 17syl 17 . . . . . . . 8 (𝜑 → (♯‘𝑆) ∈ (ℤ𝑇))
19 elfzuz3 13475 . . . . . . . . 9 (𝐹 ∈ (0...𝑇) → 𝑇 ∈ (ℤ𝐹))
202, 19syl 17 . . . . . . . 8 (𝜑𝑇 ∈ (ℤ𝐹))
21 uztrn 12806 . . . . . . . 8 (((♯‘𝑆) ∈ (ℤ𝑇) ∧ 𝑇 ∈ (ℤ𝐹)) → (♯‘𝑆) ∈ (ℤ𝐹))
2218, 20, 21syl2anc 585 . . . . . . 7 (𝜑 → (♯‘𝑆) ∈ (ℤ𝐹))
23 elfzuzb 13472 . . . . . . 7 (𝐹 ∈ (0...(♯‘𝑆)) ↔ (𝐹 ∈ (ℤ‘0) ∧ (♯‘𝑆) ∈ (ℤ𝐹)))
2416, 22, 23sylanbrc 584 . . . . . 6 (𝜑𝐹 ∈ (0...(♯‘𝑆)))
25 pfxlen 14646 . . . . . 6 ((𝑆 ∈ Word 𝐴𝐹 ∈ (0...(♯‘𝑆))) → (♯‘(𝑆 prefix 𝐹)) = 𝐹)
261, 24, 25syl2anc 585 . . . . 5 (𝜑 → (♯‘(𝑆 prefix 𝐹)) = 𝐹)
2726oveq2d 7383 . . . 4 (𝜑 → (𝑋 + (♯‘(𝑆 prefix 𝐹))) = (𝑋 + 𝐹))
2814, 27eqtr4d 2774 . . 3 (𝜑 → (𝐹 + 𝑋) = (𝑋 + (♯‘(𝑆 prefix 𝐹))))
296, 28fveq12d 6847 . 2 (𝜑 → ((𝑆 splice ⟨𝐹, 𝑇, 𝑅⟩)‘(𝐹 + 𝑋)) = ((((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩))‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))))
30 pfxcl 14640 . . . . 5 (𝑆 ∈ Word 𝐴 → (𝑆 prefix 𝐹) ∈ Word 𝐴)
311, 30syl 17 . . . 4 (𝜑 → (𝑆 prefix 𝐹) ∈ Word 𝐴)
32 ccatcl 14536 . . . 4 (((𝑆 prefix 𝐹) ∈ Word 𝐴𝑅 ∈ Word 𝐴) → ((𝑆 prefix 𝐹) ++ 𝑅) ∈ Word 𝐴)
3331, 4, 32syl2anc 585 . . 3 (𝜑 → ((𝑆 prefix 𝐹) ++ 𝑅) ∈ Word 𝐴)
34 swrdcl 14608 . . . 4 (𝑆 ∈ Word 𝐴 → (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩) ∈ Word 𝐴)
351, 34syl 17 . . 3 (𝜑 → (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩) ∈ Word 𝐴)
36 0nn0 12452 . . . . . . . 8 0 ∈ ℕ0
37 nn0addcl 12472 . . . . . . . 8 ((0 ∈ ℕ0𝐹 ∈ ℕ0) → (0 + 𝐹) ∈ ℕ0)
3836, 8, 37sylancr 588 . . . . . . 7 (𝜑 → (0 + 𝐹) ∈ ℕ0)
39 fzoss1 13641 . . . . . . . 8 ((0 + 𝐹) ∈ (ℤ‘0) → ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)) ⊆ (0..^((♯‘𝑅) + 𝐹)))
4039, 15eleq2s 2854 . . . . . . 7 ((0 + 𝐹) ∈ ℕ0 → ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)) ⊆ (0..^((♯‘𝑅) + 𝐹)))
4138, 40syl 17 . . . . . 6 (𝜑 → ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)) ⊆ (0..^((♯‘𝑅) + 𝐹)))
42 ccatlen 14537 . . . . . . . . 9 (((𝑆 prefix 𝐹) ∈ Word 𝐴𝑅 ∈ Word 𝐴) → (♯‘((𝑆 prefix 𝐹) ++ 𝑅)) = ((♯‘(𝑆 prefix 𝐹)) + (♯‘𝑅)))
4331, 4, 42syl2anc 585 . . . . . . . 8 (𝜑 → (♯‘((𝑆 prefix 𝐹) ++ 𝑅)) = ((♯‘(𝑆 prefix 𝐹)) + (♯‘𝑅)))
4426oveq1d 7382 . . . . . . . 8 (𝜑 → ((♯‘(𝑆 prefix 𝐹)) + (♯‘𝑅)) = (𝐹 + (♯‘𝑅)))
45 lencl 14495 . . . . . . . . . . 11 (𝑅 ∈ Word 𝐴 → (♯‘𝑅) ∈ ℕ0)
464, 45syl 17 . . . . . . . . . 10 (𝜑 → (♯‘𝑅) ∈ ℕ0)
4746nn0cnd 12500 . . . . . . . . 9 (𝜑 → (♯‘𝑅) ∈ ℂ)
489, 47addcomd 11348 . . . . . . . 8 (𝜑 → (𝐹 + (♯‘𝑅)) = ((♯‘𝑅) + 𝐹))
4943, 44, 483eqtrd 2775 . . . . . . 7 (𝜑 → (♯‘((𝑆 prefix 𝐹) ++ 𝑅)) = ((♯‘𝑅) + 𝐹))
5049oveq2d 7383 . . . . . 6 (𝜑 → (0..^(♯‘((𝑆 prefix 𝐹) ++ 𝑅))) = (0..^((♯‘𝑅) + 𝐹)))
5141, 50sseqtrrd 3959 . . . . 5 (𝜑 → ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)) ⊆ (0..^(♯‘((𝑆 prefix 𝐹) ++ 𝑅))))
528nn0zd 12549 . . . . . 6 (𝜑𝐹 ∈ ℤ)
53 fzoaddel 13672 . . . . . 6 ((𝑋 ∈ (0..^(♯‘𝑅)) ∧ 𝐹 ∈ ℤ) → (𝑋 + 𝐹) ∈ ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)))
5410, 52, 53syl2anc 585 . . . . 5 (𝜑 → (𝑋 + 𝐹) ∈ ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)))
5551, 54sseldd 3922 . . . 4 (𝜑 → (𝑋 + 𝐹) ∈ (0..^(♯‘((𝑆 prefix 𝐹) ++ 𝑅))))
5627, 55eqeltrd 2836 . . 3 (𝜑 → (𝑋 + (♯‘(𝑆 prefix 𝐹))) ∈ (0..^(♯‘((𝑆 prefix 𝐹) ++ 𝑅))))
57 ccatval1 14539 . . 3 ((((𝑆 prefix 𝐹) ++ 𝑅) ∈ Word 𝐴 ∧ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩) ∈ Word 𝐴 ∧ (𝑋 + (♯‘(𝑆 prefix 𝐹))) ∈ (0..^(♯‘((𝑆 prefix 𝐹) ++ 𝑅)))) → ((((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩))‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))) = (((𝑆 prefix 𝐹) ++ 𝑅)‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))))
5833, 35, 56, 57syl3anc 1374 . 2 (𝜑 → ((((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩))‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))) = (((𝑆 prefix 𝐹) ++ 𝑅)‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))))
59 ccatval3 14541 . . 3 (((𝑆 prefix 𝐹) ∈ Word 𝐴𝑅 ∈ Word 𝐴𝑋 ∈ (0..^(♯‘𝑅))) → (((𝑆 prefix 𝐹) ++ 𝑅)‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))) = (𝑅𝑋))
6031, 4, 10, 59syl3anc 1374 . 2 (𝜑 → (((𝑆 prefix 𝐹) ++ 𝑅)‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))) = (𝑅𝑋))
6129, 58, 603eqtrd 2775 1 (𝜑 → ((𝑆 splice ⟨𝐹, 𝑇, 𝑅⟩)‘(𝐹 + 𝑋)) = (𝑅𝑋))
Colors of variables: wff setvar class
Syntax hints:  wi 4   = wceq 1542  wcel 2114  wss 3889  cop 4573  cotp 4575  cfv 6498  (class class class)co 7367  0cc0 11038   + caddc 11041  0cn0 12437  cz 12524  cuz 12788  ...cfz 13461  ..^cfzo 13608  chash 14292  Word cword 14475   ++ cconcat 14532   substr csubstr 14603   prefix cpfx 14633   splice csplice 14711
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2708  ax-rep 5212  ax-sep 5231  ax-nul 5241  ax-pow 5307  ax-pr 5375  ax-un 7689  ax-cnex 11094  ax-resscn 11095  ax-1cn 11096  ax-icn 11097  ax-addcl 11098  ax-addrcl 11099  ax-mulcl 11100  ax-mulrcl 11101  ax-mulcom 11102  ax-addass 11103  ax-mulass 11104  ax-distr 11105  ax-i2m1 11106  ax-1ne0 11107  ax-1rid 11108  ax-rnegex 11109  ax-rrecex 11110  ax-cnre 11111  ax-pre-lttri 11112  ax-pre-lttrn 11113  ax-pre-ltadd 11114  ax-pre-mulgt0 11115
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2539  df-eu 2569  df-clab 2715  df-cleq 2728  df-clel 2811  df-nfc 2885  df-ne 2933  df-nel 3037  df-ral 3052  df-rex 3062  df-reu 3343  df-rab 3390  df-v 3431  df-sbc 3729  df-csb 3838  df-dif 3892  df-un 3894  df-in 3896  df-ss 3906  df-pss 3909  df-nul 4274  df-if 4467  df-pw 4543  df-sn 4568  df-pr 4570  df-op 4574  df-ot 4576  df-uni 4851  df-int 4890  df-iun 4935  df-br 5086  df-opab 5148  df-mpt 5167  df-tr 5193  df-id 5526  df-eprel 5531  df-po 5539  df-so 5540  df-fr 5584  df-we 5586  df-xp 5637  df-rel 5638  df-cnv 5639  df-co 5640  df-dm 5641  df-rn 5642  df-res 5643  df-ima 5644  df-pred 6265  df-ord 6326  df-on 6327  df-lim 6328  df-suc 6329  df-iota 6454  df-fun 6500  df-fn 6501  df-f 6502  df-f1 6503  df-fo 6504  df-f1o 6505  df-fv 6506  df-riota 7324  df-ov 7370  df-oprab 7371  df-mpo 7372  df-om 7818  df-1st 7942  df-2nd 7943  df-frecs 8231  df-wrecs 8262  df-recs 8311  df-rdg 8349  df-1o 8405  df-er 8643  df-en 8894  df-dom 8895  df-sdom 8896  df-fin 8897  df-card 9863  df-pnf 11181  df-mnf 11182  df-xr 11183  df-ltxr 11184  df-le 11185  df-sub 11379  df-neg 11380  df-nn 12175  df-n0 12438  df-z 12525  df-uz 12789  df-fz 13462  df-fzo 13609  df-hash 14293  df-word 14476  df-concat 14533  df-substr 14604  df-pfx 14634  df-splice 14712
This theorem is referenced by:  psgnunilem2  19470
  Copyright terms: Public domain W3C validator