Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
Mirrors > Home > MPE Home > Th. List > swrdval2 | Structured version Visualization version GIF version |
Description: Value of the subword extractor in its intended domain. (Contributed by Stefan O'Rear, 15-Aug-2015.) (Proof shortened by AV, 2-May-2020.) |
Ref | Expression |
---|---|
swrdval2 | ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → (𝑆 substr 〈𝐹, 𝐿〉) = (𝑥 ∈ (0..^(𝐿 − 𝐹)) ↦ (𝑆‘(𝑥 + 𝐹)))) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | simp1 1135 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → 𝑆 ∈ Word 𝐴) | |
2 | elfzelz 13349 | . . . 4 ⊢ (𝐹 ∈ (0...𝐿) → 𝐹 ∈ ℤ) | |
3 | 2 | 3ad2ant2 1133 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → 𝐹 ∈ ℤ) |
4 | elfzelz 13349 | . . . 4 ⊢ (𝐿 ∈ (0...(♯‘𝑆)) → 𝐿 ∈ ℤ) | |
5 | 4 | 3ad2ant3 1134 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → 𝐿 ∈ ℤ) |
6 | swrdval 14446 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) → (𝑆 substr 〈𝐹, 𝐿〉) = if((𝐹..^𝐿) ⊆ dom 𝑆, (𝑥 ∈ (0..^(𝐿 − 𝐹)) ↦ (𝑆‘(𝑥 + 𝐹))), ∅)) | |
7 | 1, 3, 5, 6 | syl3anc 1370 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → (𝑆 substr 〈𝐹, 𝐿〉) = if((𝐹..^𝐿) ⊆ dom 𝑆, (𝑥 ∈ (0..^(𝐿 − 𝐹)) ↦ (𝑆‘(𝑥 + 𝐹))), ∅)) |
8 | elfzuz 13345 | . . . . . . 7 ⊢ (𝐹 ∈ (0...𝐿) → 𝐹 ∈ (ℤ≥‘0)) | |
9 | 8 | 3ad2ant2 1133 | . . . . . 6 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → 𝐹 ∈ (ℤ≥‘0)) |
10 | fzoss1 13507 | . . . . . 6 ⊢ (𝐹 ∈ (ℤ≥‘0) → (𝐹..^𝐿) ⊆ (0..^𝐿)) | |
11 | 9, 10 | syl 17 | . . . . 5 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → (𝐹..^𝐿) ⊆ (0..^𝐿)) |
12 | elfzuz3 13346 | . . . . . . 7 ⊢ (𝐿 ∈ (0...(♯‘𝑆)) → (♯‘𝑆) ∈ (ℤ≥‘𝐿)) | |
13 | 12 | 3ad2ant3 1134 | . . . . . 6 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → (♯‘𝑆) ∈ (ℤ≥‘𝐿)) |
14 | fzoss2 13508 | . . . . . 6 ⊢ ((♯‘𝑆) ∈ (ℤ≥‘𝐿) → (0..^𝐿) ⊆ (0..^(♯‘𝑆))) | |
15 | 13, 14 | syl 17 | . . . . 5 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → (0..^𝐿) ⊆ (0..^(♯‘𝑆))) |
16 | 11, 15 | sstrd 3941 | . . . 4 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → (𝐹..^𝐿) ⊆ (0..^(♯‘𝑆))) |
17 | wrddm 14316 | . . . . 5 ⊢ (𝑆 ∈ Word 𝐴 → dom 𝑆 = (0..^(♯‘𝑆))) | |
18 | 17 | 3ad2ant1 1132 | . . . 4 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → dom 𝑆 = (0..^(♯‘𝑆))) |
19 | 16, 18 | sseqtrrd 3972 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → (𝐹..^𝐿) ⊆ dom 𝑆) |
20 | 19 | iftrued 4480 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → if((𝐹..^𝐿) ⊆ dom 𝑆, (𝑥 ∈ (0..^(𝐿 − 𝐹)) ↦ (𝑆‘(𝑥 + 𝐹))), ∅) = (𝑥 ∈ (0..^(𝐿 − 𝐹)) ↦ (𝑆‘(𝑥 + 𝐹)))) |
21 | 7, 20 | eqtrd 2776 | 1 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → (𝑆 substr 〈𝐹, 𝐿〉) = (𝑥 ∈ (0..^(𝐿 − 𝐹)) ↦ (𝑆‘(𝑥 + 𝐹)))) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ w3a 1086 = wceq 1540 ∈ wcel 2105 ⊆ wss 3897 ∅c0 4268 ifcif 4472 〈cop 4578 ↦ cmpt 5172 dom cdm 5614 ‘cfv 6473 (class class class)co 7329 0cc0 10964 + caddc 10967 − cmin 11298 ℤcz 12412 ℤ≥cuz 12675 ...cfz 13332 ..^cfzo 13475 ♯chash 14137 Word cword 14309 substr csubstr 14443 |
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 5226 ax-sep 5240 ax-nul 5247 ax-pow 5305 ax-pr 5369 ax-un 7642 ax-cnex 11020 ax-resscn 11021 ax-1cn 11022 ax-icn 11023 ax-addcl 11024 ax-addrcl 11025 ax-mulcl 11026 ax-mulrcl 11027 ax-mulcom 11028 ax-addass 11029 ax-mulass 11030 ax-distr 11031 ax-i2m1 11032 ax-1ne0 11033 ax-1rid 11034 ax-rnegex 11035 ax-rrecex 11036 ax-cnre 11037 ax-pre-lttri 11038 ax-pre-lttrn 11039 ax-pre-ltadd 11040 ax-pre-mulgt0 11041 |
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 3727 df-csb 3843 df-dif 3900 df-un 3902 df-in 3904 df-ss 3914 df-pss 3916 df-nul 4269 df-if 4473 df-pw 4548 df-sn 4573 df-pr 4575 df-op 4579 df-uni 4852 df-int 4894 df-iun 4940 df-br 5090 df-opab 5152 df-mpt 5173 df-tr 5207 df-id 5512 df-eprel 5518 df-po 5526 df-so 5527 df-fr 5569 df-we 5571 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 6232 df-ord 6299 df-on 6300 df-lim 6301 df-suc 6302 df-iota 6425 df-fun 6475 df-fn 6476 df-f 6477 df-f1 6478 df-fo 6479 df-f1o 6480 df-fv 6481 df-riota 7286 df-ov 7332 df-oprab 7333 df-mpo 7334 df-om 7773 df-1st 7891 df-2nd 7892 df-frecs 8159 df-wrecs 8190 df-recs 8264 df-rdg 8303 df-1o 8359 df-er 8561 df-en 8797 df-dom 8798 df-sdom 8799 df-fin 8800 df-card 9788 df-pnf 11104 df-mnf 11105 df-xr 11106 df-ltxr 11107 df-le 11108 df-sub 11300 df-neg 11301 df-nn 12067 df-n0 12327 df-z 12413 df-uz 12676 df-fz 13333 df-fzo 13476 df-hash 14138 df-word 14310 df-substr 14444 |
This theorem is referenced by: swrdlen 14450 swrdfv 14451 swrdwrdsymb 14465 pfxmpt 14481 swrdswrd 14508 swrdrn2 31454 swrdrn3 31455 cshw1s2 31460 |
Copyright terms: Public domain | W3C validator |