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

Theorem splfv2a 14567
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 14562 . . . 4 ((𝑆 ∈ Word 𝐴 ∧ (𝐹 ∈ (0...𝑇) ∧ 𝑇 ∈ (0...(♯‘𝑆)) ∧ 𝑅 ∈ Word 𝐴)) → (𝑆 splice ⟨𝐹, 𝑇, 𝑅⟩) = (((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩)))
61, 2, 3, 4, 5syl13anc 1371 . . 3 (𝜑 → (𝑆 splice ⟨𝐹, 𝑇, 𝑅⟩) = (((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩)))
7 elfznn0 13450 . . . . . . 7 (𝐹 ∈ (0...𝑇) → 𝐹 ∈ ℕ0)
82, 7syl 17 . . . . . 6 (𝜑𝐹 ∈ ℕ0)
98nn0cnd 12396 . . . . 5 (𝜑𝐹 ∈ ℂ)
10 splfv2a.x . . . . . . 7 (𝜑𝑋 ∈ (0..^(♯‘𝑅)))
11 elfzonn0 13533 . . . . . . 7 (𝑋 ∈ (0..^(♯‘𝑅)) → 𝑋 ∈ ℕ0)
1210, 11syl 17 . . . . . 6 (𝜑𝑋 ∈ ℕ0)
1312nn0cnd 12396 . . . . 5 (𝜑𝑋 ∈ ℂ)
149, 13addcomd 11278 . . . 4 (𝜑 → (𝐹 + 𝑋) = (𝑋 + 𝐹))
15 nn0uz 12721 . . . . . . . 8 0 = (ℤ‘0)
168, 15eleqtrdi 2847 . . . . . . 7 (𝜑𝐹 ∈ (ℤ‘0))
17 elfzuz3 13354 . . . . . . . . 9 (𝑇 ∈ (0...(♯‘𝑆)) → (♯‘𝑆) ∈ (ℤ𝑇))
183, 17syl 17 . . . . . . . 8 (𝜑 → (♯‘𝑆) ∈ (ℤ𝑇))
19 elfzuz3 13354 . . . . . . . . 9 (𝐹 ∈ (0...𝑇) → 𝑇 ∈ (ℤ𝐹))
202, 19syl 17 . . . . . . . 8 (𝜑𝑇 ∈ (ℤ𝐹))
21 uztrn 12701 . . . . . . . 8 (((♯‘𝑆) ∈ (ℤ𝑇) ∧ 𝑇 ∈ (ℤ𝐹)) → (♯‘𝑆) ∈ (ℤ𝐹))
2218, 20, 21syl2anc 584 . . . . . . 7 (𝜑 → (♯‘𝑆) ∈ (ℤ𝐹))
23 elfzuzb 13351 . . . . . . 7 (𝐹 ∈ (0...(♯‘𝑆)) ↔ (𝐹 ∈ (ℤ‘0) ∧ (♯‘𝑆) ∈ (ℤ𝐹)))
2416, 22, 23sylanbrc 583 . . . . . 6 (𝜑𝐹 ∈ (0...(♯‘𝑆)))
25 pfxlen 14494 . . . . . 6 ((𝑆 ∈ Word 𝐴𝐹 ∈ (0...(♯‘𝑆))) → (♯‘(𝑆 prefix 𝐹)) = 𝐹)
261, 24, 25syl2anc 584 . . . . 5 (𝜑 → (♯‘(𝑆 prefix 𝐹)) = 𝐹)
2726oveq2d 7353 . . . 4 (𝜑 → (𝑋 + (♯‘(𝑆 prefix 𝐹))) = (𝑋 + 𝐹))
2814, 27eqtr4d 2779 . . 3 (𝜑 → (𝐹 + 𝑋) = (𝑋 + (♯‘(𝑆 prefix 𝐹))))
296, 28fveq12d 6832 . 2 (𝜑 → ((𝑆 splice ⟨𝐹, 𝑇, 𝑅⟩)‘(𝐹 + 𝑋)) = ((((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩))‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))))
30 pfxcl 14488 . . . . 5 (𝑆 ∈ Word 𝐴 → (𝑆 prefix 𝐹) ∈ Word 𝐴)
311, 30syl 17 . . . 4 (𝜑 → (𝑆 prefix 𝐹) ∈ Word 𝐴)
32 ccatcl 14377 . . . 4 (((𝑆 prefix 𝐹) ∈ Word 𝐴𝑅 ∈ Word 𝐴) → ((𝑆 prefix 𝐹) ++ 𝑅) ∈ Word 𝐴)
3331, 4, 32syl2anc 584 . . 3 (𝜑 → ((𝑆 prefix 𝐹) ++ 𝑅) ∈ Word 𝐴)
34 swrdcl 14456 . . . 4 (𝑆 ∈ Word 𝐴 → (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩) ∈ Word 𝐴)
351, 34syl 17 . . 3 (𝜑 → (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩) ∈ Word 𝐴)
36 0nn0 12349 . . . . . . . 8 0 ∈ ℕ0
37 nn0addcl 12369 . . . . . . . 8 ((0 ∈ ℕ0𝐹 ∈ ℕ0) → (0 + 𝐹) ∈ ℕ0)
3836, 8, 37sylancr 587 . . . . . . 7 (𝜑 → (0 + 𝐹) ∈ ℕ0)
39 fzoss1 13515 . . . . . . . 8 ((0 + 𝐹) ∈ (ℤ‘0) → ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)) ⊆ (0..^((♯‘𝑅) + 𝐹)))
4039, 15eleq2s 2855 . . . . . . 7 ((0 + 𝐹) ∈ ℕ0 → ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)) ⊆ (0..^((♯‘𝑅) + 𝐹)))
4138, 40syl 17 . . . . . 6 (𝜑 → ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)) ⊆ (0..^((♯‘𝑅) + 𝐹)))
42 ccatlen 14378 . . . . . . . . 9 (((𝑆 prefix 𝐹) ∈ Word 𝐴𝑅 ∈ Word 𝐴) → (♯‘((𝑆 prefix 𝐹) ++ 𝑅)) = ((♯‘(𝑆 prefix 𝐹)) + (♯‘𝑅)))
4331, 4, 42syl2anc 584 . . . . . . . 8 (𝜑 → (♯‘((𝑆 prefix 𝐹) ++ 𝑅)) = ((♯‘(𝑆 prefix 𝐹)) + (♯‘𝑅)))
4426oveq1d 7352 . . . . . . . 8 (𝜑 → ((♯‘(𝑆 prefix 𝐹)) + (♯‘𝑅)) = (𝐹 + (♯‘𝑅)))
45 lencl 14336 . . . . . . . . . . 11 (𝑅 ∈ Word 𝐴 → (♯‘𝑅) ∈ ℕ0)
464, 45syl 17 . . . . . . . . . 10 (𝜑 → (♯‘𝑅) ∈ ℕ0)
4746nn0cnd 12396 . . . . . . . . 9 (𝜑 → (♯‘𝑅) ∈ ℂ)
489, 47addcomd 11278 . . . . . . . 8 (𝜑 → (𝐹 + (♯‘𝑅)) = ((♯‘𝑅) + 𝐹))
4943, 44, 483eqtrd 2780 . . . . . . 7 (𝜑 → (♯‘((𝑆 prefix 𝐹) ++ 𝑅)) = ((♯‘𝑅) + 𝐹))
5049oveq2d 7353 . . . . . 6 (𝜑 → (0..^(♯‘((𝑆 prefix 𝐹) ++ 𝑅))) = (0..^((♯‘𝑅) + 𝐹)))
5141, 50sseqtrrd 3973 . . . . 5 (𝜑 → ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)) ⊆ (0..^(♯‘((𝑆 prefix 𝐹) ++ 𝑅))))
528nn0zd 12525 . . . . . 6 (𝜑𝐹 ∈ ℤ)
53 fzoaddel 13541 . . . . . 6 ((𝑋 ∈ (0..^(♯‘𝑅)) ∧ 𝐹 ∈ ℤ) → (𝑋 + 𝐹) ∈ ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)))
5410, 52, 53syl2anc 584 . . . . 5 (𝜑 → (𝑋 + 𝐹) ∈ ((0 + 𝐹)..^((♯‘𝑅) + 𝐹)))
5551, 54sseldd 3933 . . . 4 (𝜑 → (𝑋 + 𝐹) ∈ (0..^(♯‘((𝑆 prefix 𝐹) ++ 𝑅))))
5627, 55eqeltrd 2837 . . 3 (𝜑 → (𝑋 + (♯‘(𝑆 prefix 𝐹))) ∈ (0..^(♯‘((𝑆 prefix 𝐹) ++ 𝑅))))
57 ccatval1 14380 . . 3 ((((𝑆 prefix 𝐹) ++ 𝑅) ∈ Word 𝐴 ∧ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩) ∈ Word 𝐴 ∧ (𝑋 + (♯‘(𝑆 prefix 𝐹))) ∈ (0..^(♯‘((𝑆 prefix 𝐹) ++ 𝑅)))) → ((((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩))‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))) = (((𝑆 prefix 𝐹) ++ 𝑅)‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))))
5833, 35, 56, 57syl3anc 1370 . 2 (𝜑 → ((((𝑆 prefix 𝐹) ++ 𝑅) ++ (𝑆 substr ⟨𝑇, (♯‘𝑆)⟩))‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))) = (((𝑆 prefix 𝐹) ++ 𝑅)‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))))
59 ccatval3 14383 . . 3 (((𝑆 prefix 𝐹) ∈ Word 𝐴𝑅 ∈ Word 𝐴𝑋 ∈ (0..^(♯‘𝑅))) → (((𝑆 prefix 𝐹) ++ 𝑅)‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))) = (𝑅𝑋))
6031, 4, 10, 59syl3anc 1370 . 2 (𝜑 → (((𝑆 prefix 𝐹) ++ 𝑅)‘(𝑋 + (♯‘(𝑆 prefix 𝐹)))) = (𝑅𝑋))
6129, 58, 603eqtrd 2780 1 (𝜑 → ((𝑆 splice ⟨𝐹, 𝑇, 𝑅⟩)‘(𝐹 + 𝑋)) = (𝑅𝑋))
Colors of variables: wff setvar class
Syntax hints:  wi 4   = wceq 1540  wcel 2105  wss 3898  cop 4579  cotp 4581  cfv 6479  (class class class)co 7337  0cc0 10972   + caddc 10975  0cn0 12334  cz 12420  cuz 12683  ...cfz 13340  ..^cfzo 13483  chash 14145  Word cword 14317   ++ cconcat 14373   substr csubstr 14451   prefix cpfx 14481   splice csplice 14560
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1912  ax-6 1970  ax-7 2010  ax-8 2107  ax-9 2115  ax-10 2136  ax-11 2153  ax-12 2170  ax-ext 2707  ax-rep 5229  ax-sep 5243  ax-nul 5250  ax-pow 5308  ax-pr 5372  ax-un 7650  ax-cnex 11028  ax-resscn 11029  ax-1cn 11030  ax-icn 11031  ax-addcl 11032  ax-addrcl 11033  ax-mulcl 11034  ax-mulrcl 11035  ax-mulcom 11036  ax-addass 11037  ax-mulass 11038  ax-distr 11039  ax-i2m1 11040  ax-1ne0 11041  ax-1rid 11042  ax-rnegex 11043  ax-rrecex 11044  ax-cnre 11045  ax-pre-lttri 11046  ax-pre-lttrn 11047  ax-pre-ltadd 11048  ax-pre-mulgt0 11049
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3or 1087  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1781  df-nf 1785  df-sb 2067  df-mo 2538  df-eu 2567  df-clab 2714  df-cleq 2728  df-clel 2814  df-nfc 2886  df-ne 2941  df-nel 3047  df-ral 3062  df-rex 3071  df-reu 3350  df-rab 3404  df-v 3443  df-sbc 3728  df-csb 3844  df-dif 3901  df-un 3903  df-in 3905  df-ss 3915  df-pss 3917  df-nul 4270  df-if 4474  df-pw 4549  df-sn 4574  df-pr 4576  df-op 4580  df-ot 4582  df-uni 4853  df-int 4895  df-iun 4943  df-br 5093  df-opab 5155  df-mpt 5176  df-tr 5210  df-id 5518  df-eprel 5524  df-po 5532  df-so 5533  df-fr 5575  df-we 5577  df-xp 5626  df-rel 5627  df-cnv 5628  df-co 5629  df-dm 5630  df-rn 5631  df-res 5632  df-ima 5633  df-pred 6238  df-ord 6305  df-on 6306  df-lim 6307  df-suc 6308  df-iota 6431  df-fun 6481  df-fn 6482  df-f 6483  df-f1 6484  df-fo 6485  df-f1o 6486  df-fv 6487  df-riota 7293  df-ov 7340  df-oprab 7341  df-mpo 7342  df-om 7781  df-1st 7899  df-2nd 7900  df-frecs 8167  df-wrecs 8198  df-recs 8272  df-rdg 8311  df-1o 8367  df-er 8569  df-en 8805  df-dom 8806  df-sdom 8807  df-fin 8808  df-card 9796  df-pnf 11112  df-mnf 11113  df-xr 11114  df-ltxr 11115  df-le 11116  df-sub 11308  df-neg 11309  df-nn 12075  df-n0 12335  df-z 12421  df-uz 12684  df-fz 13341  df-fzo 13484  df-hash 14146  df-word 14318  df-concat 14374  df-substr 14452  df-pfx 14482  df-splice 14561
This theorem is referenced by:  psgnunilem2  19199
  Copyright terms: Public domain W3C validator