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

Theorem ccatval2 14485
Description: Value of a symbol in the right half of a concatenated word. (Contributed by Stefan O'Rear, 15-Aug-2015.) (Revised by Mario Carneiro, 22-Sep-2015.)
Assertion
Ref Expression
ccatval2 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘𝐼) = (𝑇‘(𝐼 − (♯‘𝑆))))

Proof of Theorem ccatval2
Dummy variable 𝑥 is distinct from all other variables.
StepHypRef Expression
1 ccatfval 14480 . . 3 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))
213adant3 1132 . 2 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (𝑆 ++ 𝑇) = (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↦ if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆))))))
3 eleq1 2819 . . . 4 (𝑥 = 𝐼 → (𝑥 ∈ (0..^(♯‘𝑆)) ↔ 𝐼 ∈ (0..^(♯‘𝑆))))
4 fveq2 6822 . . . 4 (𝑥 = 𝐼 → (𝑆𝑥) = (𝑆𝐼))
5 fvoveq1 7369 . . . 4 (𝑥 = 𝐼 → (𝑇‘(𝑥 − (♯‘𝑆))) = (𝑇‘(𝐼 − (♯‘𝑆))))
63, 4, 5ifbieq12d 4501 . . 3 (𝑥 = 𝐼 → if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))) = if(𝐼 ∈ (0..^(♯‘𝑆)), (𝑆𝐼), (𝑇‘(𝐼 − (♯‘𝑆)))))
7 fzodisj 13593 . . . . . 6 ((0..^(♯‘𝑆)) ∩ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) = ∅
8 minel 4413 . . . . . 6 ((𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) ∧ ((0..^(♯‘𝑆)) ∩ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) = ∅) → ¬ 𝐼 ∈ (0..^(♯‘𝑆)))
97, 8mpan2 691 . . . . 5 (𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → ¬ 𝐼 ∈ (0..^(♯‘𝑆)))
1093ad2ant3 1135 . . . 4 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ¬ 𝐼 ∈ (0..^(♯‘𝑆)))
1110iffalsed 4483 . . 3 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → if(𝐼 ∈ (0..^(♯‘𝑆)), (𝑆𝐼), (𝑇‘(𝐼 − (♯‘𝑆)))) = (𝑇‘(𝐼 − (♯‘𝑆))))
126, 11sylan9eqr 2788 . 2 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) ∧ 𝑥 = 𝐼) → if(𝑥 ∈ (0..^(♯‘𝑆)), (𝑆𝑥), (𝑇‘(𝑥 − (♯‘𝑆)))) = (𝑇‘(𝐼 − (♯‘𝑆))))
13 wrdfin 14439 . . . . . 6 (𝑆 ∈ Word 𝐵𝑆 ∈ Fin)
1413adantr 480 . . . . 5 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → 𝑆 ∈ Fin)
15 hashcl 14263 . . . . 5 (𝑆 ∈ Fin → (♯‘𝑆) ∈ ℕ0)
16 fzoss1 13586 . . . . . 6 ((♯‘𝑆) ∈ (ℤ‘0) → ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) ⊆ (0..^((♯‘𝑆) + (♯‘𝑇))))
17 nn0uz 12774 . . . . . 6 0 = (ℤ‘0)
1816, 17eleq2s 2849 . . . . 5 ((♯‘𝑆) ∈ ℕ0 → ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) ⊆ (0..^((♯‘𝑆) + (♯‘𝑇))))
1914, 15, 183syl 18 . . . 4 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) ⊆ (0..^((♯‘𝑆) + (♯‘𝑇))))
2019sseld 3928 . . 3 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → 𝐼 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))))
21203impia 1117 . 2 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → 𝐼 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))))
22 fvexd 6837 . 2 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (𝑇‘(𝐼 − (♯‘𝑆))) ∈ V)
232, 12, 21, 22fvmptd 6936 1 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵𝐼 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘𝐼) = (𝑇‘(𝐼 − (♯‘𝑆))))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wa 395  w3a 1086   = wceq 1541  wcel 2111  Vcvv 3436  cin 3896  wss 3897  c0 4280  ifcif 4472  cmpt 5170  cfv 6481  (class class class)co 7346  Fincfn 8869  0cc0 11006   + caddc 11009  cmin 11344  0cn0 12381  cuz 12732  ..^cfzo 13554  chash 14237  Word cword 14420   ++ cconcat 14477
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 1911  ax-6 1968  ax-7 2009  ax-8 2113  ax-9 2121  ax-10 2144  ax-11 2160  ax-12 2180  ax-ext 2703  ax-rep 5215  ax-sep 5232  ax-nul 5242  ax-pow 5301  ax-pr 5368  ax-un 7668  ax-cnex 11062  ax-resscn 11063  ax-1cn 11064  ax-icn 11065  ax-addcl 11066  ax-addrcl 11067  ax-mulcl 11068  ax-mulrcl 11069  ax-mulcom 11070  ax-addass 11071  ax-mulass 11072  ax-distr 11073  ax-i2m1 11074  ax-1ne0 11075  ax-1rid 11076  ax-rnegex 11077  ax-rrecex 11078  ax-cnre 11079  ax-pre-lttri 11080  ax-pre-lttrn 11081  ax-pre-ltadd 11082  ax-pre-mulgt0 11083
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2535  df-eu 2564  df-clab 2710  df-cleq 2723  df-clel 2806  df-nfc 2881  df-ne 2929  df-nel 3033  df-ral 3048  df-rex 3057  df-reu 3347  df-rab 3396  df-v 3438  df-sbc 3737  df-csb 3846  df-dif 3900  df-un 3902  df-in 3904  df-ss 3914  df-pss 3917  df-nul 4281  df-if 4473  df-pw 4549  df-sn 4574  df-pr 4576  df-op 4580  df-uni 4857  df-int 4896  df-iun 4941  df-br 5090  df-opab 5152  df-mpt 5171  df-tr 5197  df-id 5509  df-eprel 5514  df-po 5522  df-so 5523  df-fr 5567  df-we 5569  df-xp 5620  df-rel 5621  df-cnv 5622  df-co 5623  df-dm 5624  df-rn 5625  df-res 5626  df-ima 5627  df-pred 6248  df-ord 6309  df-on 6310  df-lim 6311  df-suc 6312  df-iota 6437  df-fun 6483  df-fn 6484  df-f 6485  df-f1 6486  df-fo 6487  df-f1o 6488  df-fv 6489  df-riota 7303  df-ov 7349  df-oprab 7350  df-mpo 7351  df-om 7797  df-1st 7921  df-2nd 7922  df-frecs 8211  df-wrecs 8242  df-recs 8291  df-rdg 8329  df-1o 8385  df-er 8622  df-en 8870  df-dom 8871  df-sdom 8872  df-fin 8873  df-card 9832  df-pnf 11148  df-mnf 11149  df-xr 11150  df-ltxr 11151  df-le 11152  df-sub 11346  df-neg 11347  df-nn 12126  df-n0 12382  df-z 12469  df-uz 12733  df-fz 13408  df-fzo 13555  df-hash 14238  df-word 14421  df-concat 14478
This theorem is referenced by:  ccatval3  14486  ccatsymb  14490  ccatval21sw  14493  ccatlid  14494  ccatass  14496  ccatrn  14497  lswccatn0lsw  14499  ccats1val2  14535  ccat2s1p2  14538  ccatswrd  14576  ccatpfx  14608  pfxccatin12lem2  14638  pfxccatin12  14640  revccat  14673  cshwidxmod  14710  chnccat  18532  clwwlkccatlem  29969  ccatf1  32930  cycpmco2lem2  33096  cycpmco2lem4  33098
  Copyright terms: Public domain W3C validator