![]() |
Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
|
Mirrors > Home > MPE Home > Th. List > swrdcl | Structured version Visualization version GIF version |
Description: Closure of the subword extractor. (Contributed by Stefan O'Rear, 16-Aug-2015.) (Revised by Mario Carneiro, 26-Feb-2016.) |
Ref | Expression |
---|---|
swrdcl | ⊢ (𝑆 ∈ Word 𝐴 → (𝑆 substr 〈𝐹, 𝐿〉) ∈ Word 𝐴) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | eleq1 2894 | . 2 ⊢ ((𝑆 substr 〈𝐹, 𝐿〉) = ∅ → ((𝑆 substr 〈𝐹, 𝐿〉) ∈ Word 𝐴 ↔ ∅ ∈ Word 𝐴)) | |
2 | n0 4160 | . . . 4 ⊢ ((𝑆 substr 〈𝐹, 𝐿〉) ≠ ∅ ↔ ∃𝑥 𝑥 ∈ (𝑆 substr 〈𝐹, 𝐿〉)) | |
3 | df-substr 13701 | . . . . . . 7 ⊢ substr = (𝑠 ∈ V, 𝑏 ∈ (ℤ × ℤ) ↦ if(((1st ‘𝑏)..^(2nd ‘𝑏)) ⊆ dom 𝑠, (𝑥 ∈ (0..^((2nd ‘𝑏) − (1st ‘𝑏))) ↦ (𝑠‘(𝑥 + (1st ‘𝑏)))), ∅)) | |
4 | 3 | elmpt2cl2 7138 | . . . . . 6 ⊢ (𝑥 ∈ (𝑆 substr 〈𝐹, 𝐿〉) → 〈𝐹, 𝐿〉 ∈ (ℤ × ℤ)) |
5 | opelxp 5378 | . . . . . 6 ⊢ (〈𝐹, 𝐿〉 ∈ (ℤ × ℤ) ↔ (𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ)) | |
6 | 4, 5 | sylib 210 | . . . . 5 ⊢ (𝑥 ∈ (𝑆 substr 〈𝐹, 𝐿〉) → (𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ)) |
7 | 6 | exlimiv 2031 | . . . 4 ⊢ (∃𝑥 𝑥 ∈ (𝑆 substr 〈𝐹, 𝐿〉) → (𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ)) |
8 | 2, 7 | sylbi 209 | . . 3 ⊢ ((𝑆 substr 〈𝐹, 𝐿〉) ≠ ∅ → (𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ)) |
9 | swrdval 13703 | . . . . 5 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) → (𝑆 substr 〈𝐹, 𝐿〉) = if((𝐹..^𝐿) ⊆ dom 𝑆, (𝑥 ∈ (0..^(𝐿 − 𝐹)) ↦ (𝑆‘(𝑥 + 𝐹))), ∅)) | |
10 | wrdf 13579 | . . . . . . . . . . 11 ⊢ (𝑆 ∈ Word 𝐴 → 𝑆:(0..^(♯‘𝑆))⟶𝐴) | |
11 | 10 | 3ad2ant1 1169 | . . . . . . . . . 10 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) → 𝑆:(0..^(♯‘𝑆))⟶𝐴) |
12 | 11 | ad2antrr 719 | . . . . . . . . 9 ⊢ ((((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) ∧ (𝐹..^𝐿) ⊆ dom 𝑆) ∧ 𝑥 ∈ (0..^(𝐿 − 𝐹))) → 𝑆:(0..^(♯‘𝑆))⟶𝐴) |
13 | simplr 787 | . . . . . . . . . . 11 ⊢ ((((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) ∧ (𝐹..^𝐿) ⊆ dom 𝑆) ∧ 𝑥 ∈ (0..^(𝐿 − 𝐹))) → (𝐹..^𝐿) ⊆ dom 𝑆) | |
14 | simpr 479 | . . . . . . . . . . . 12 ⊢ ((((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) ∧ (𝐹..^𝐿) ⊆ dom 𝑆) ∧ 𝑥 ∈ (0..^(𝐿 − 𝐹))) → 𝑥 ∈ (0..^(𝐿 − 𝐹))) | |
15 | simpll3 1279 | . . . . . . . . . . . 12 ⊢ ((((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) ∧ (𝐹..^𝐿) ⊆ dom 𝑆) ∧ 𝑥 ∈ (0..^(𝐿 − 𝐹))) → 𝐿 ∈ ℤ) | |
16 | simpll2 1277 | . . . . . . . . . . . 12 ⊢ ((((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) ∧ (𝐹..^𝐿) ⊆ dom 𝑆) ∧ 𝑥 ∈ (0..^(𝐿 − 𝐹))) → 𝐹 ∈ ℤ) | |
17 | fzoaddel2 12819 | . . . . . . . . . . . 12 ⊢ ((𝑥 ∈ (0..^(𝐿 − 𝐹)) ∧ 𝐿 ∈ ℤ ∧ 𝐹 ∈ ℤ) → (𝑥 + 𝐹) ∈ (𝐹..^𝐿)) | |
18 | 14, 15, 16, 17 | syl3anc 1496 | . . . . . . . . . . 11 ⊢ ((((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) ∧ (𝐹..^𝐿) ⊆ dom 𝑆) ∧ 𝑥 ∈ (0..^(𝐿 − 𝐹))) → (𝑥 + 𝐹) ∈ (𝐹..^𝐿)) |
19 | 13, 18 | sseldd 3828 | . . . . . . . . . 10 ⊢ ((((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) ∧ (𝐹..^𝐿) ⊆ dom 𝑆) ∧ 𝑥 ∈ (0..^(𝐿 − 𝐹))) → (𝑥 + 𝐹) ∈ dom 𝑆) |
20 | 12 | fdmd 6287 | . . . . . . . . . 10 ⊢ ((((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) ∧ (𝐹..^𝐿) ⊆ dom 𝑆) ∧ 𝑥 ∈ (0..^(𝐿 − 𝐹))) → dom 𝑆 = (0..^(♯‘𝑆))) |
21 | 19, 20 | eleqtrd 2908 | . . . . . . . . 9 ⊢ ((((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) ∧ (𝐹..^𝐿) ⊆ dom 𝑆) ∧ 𝑥 ∈ (0..^(𝐿 − 𝐹))) → (𝑥 + 𝐹) ∈ (0..^(♯‘𝑆))) |
22 | 12, 21 | ffvelrnd 6609 | . . . . . . . 8 ⊢ ((((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) ∧ (𝐹..^𝐿) ⊆ dom 𝑆) ∧ 𝑥 ∈ (0..^(𝐿 − 𝐹))) → (𝑆‘(𝑥 + 𝐹)) ∈ 𝐴) |
23 | 22 | fmpttd 6634 | . . . . . . 7 ⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) ∧ (𝐹..^𝐿) ⊆ dom 𝑆) → (𝑥 ∈ (0..^(𝐿 − 𝐹)) ↦ (𝑆‘(𝑥 + 𝐹))):(0..^(𝐿 − 𝐹))⟶𝐴) |
24 | iswrdi 13578 | . . . . . . 7 ⊢ ((𝑥 ∈ (0..^(𝐿 − 𝐹)) ↦ (𝑆‘(𝑥 + 𝐹))):(0..^(𝐿 − 𝐹))⟶𝐴 → (𝑥 ∈ (0..^(𝐿 − 𝐹)) ↦ (𝑆‘(𝑥 + 𝐹))) ∈ Word 𝐴) | |
25 | 23, 24 | syl 17 | . . . . . 6 ⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) ∧ (𝐹..^𝐿) ⊆ dom 𝑆) → (𝑥 ∈ (0..^(𝐿 − 𝐹)) ↦ (𝑆‘(𝑥 + 𝐹))) ∈ Word 𝐴) |
26 | wrd0 13599 | . . . . . . 7 ⊢ ∅ ∈ Word 𝐴 | |
27 | 26 | a1i 11 | . . . . . 6 ⊢ (((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) ∧ ¬ (𝐹..^𝐿) ⊆ dom 𝑆) → ∅ ∈ Word 𝐴) |
28 | 25, 27 | ifclda 4340 | . . . . 5 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) → if((𝐹..^𝐿) ⊆ dom 𝑆, (𝑥 ∈ (0..^(𝐿 − 𝐹)) ↦ (𝑆‘(𝑥 + 𝐹))), ∅) ∈ Word 𝐴) |
29 | 9, 28 | eqeltrd 2906 | . . . 4 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) → (𝑆 substr 〈𝐹, 𝐿〉) ∈ Word 𝐴) |
30 | 29 | 3expb 1155 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ)) → (𝑆 substr 〈𝐹, 𝐿〉) ∈ Word 𝐴) |
31 | 8, 30 | sylan2 588 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ (𝑆 substr 〈𝐹, 𝐿〉) ≠ ∅) → (𝑆 substr 〈𝐹, 𝐿〉) ∈ Word 𝐴) |
32 | 26 | a1i 11 | . 2 ⊢ (𝑆 ∈ Word 𝐴 → ∅ ∈ Word 𝐴) |
33 | 1, 31, 32 | pm2.61ne 3084 | 1 ⊢ (𝑆 ∈ Word 𝐴 → (𝑆 substr 〈𝐹, 𝐿〉) ∈ Word 𝐴) |
Colors of variables: wff setvar class |
Syntax hints: ¬ wn 3 → wi 4 ∧ wa 386 ∧ w3a 1113 ∃wex 1880 ∈ wcel 2166 ≠ wne 2999 Vcvv 3414 ⊆ wss 3798 ∅c0 4144 ifcif 4306 〈cop 4403 ↦ cmpt 4952 × cxp 5340 dom cdm 5342 ⟶wf 6119 ‘cfv 6123 (class class class)co 6905 1st c1st 7426 2nd c2nd 7427 0cc0 10252 + caddc 10255 − cmin 10585 ℤcz 11704 ..^cfzo 12760 ♯chash 13410 Word cword 13574 substr csubstr 13700 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1896 ax-4 1910 ax-5 2011 ax-6 2077 ax-7 2114 ax-8 2168 ax-9 2175 ax-10 2194 ax-11 2209 ax-12 2222 ax-13 2391 ax-ext 2803 ax-rep 4994 ax-sep 5005 ax-nul 5013 ax-pow 5065 ax-pr 5127 ax-un 7209 ax-cnex 10308 ax-resscn 10309 ax-1cn 10310 ax-icn 10311 ax-addcl 10312 ax-addrcl 10313 ax-mulcl 10314 ax-mulrcl 10315 ax-mulcom 10316 ax-addass 10317 ax-mulass 10318 ax-distr 10319 ax-i2m1 10320 ax-1ne0 10321 ax-1rid 10322 ax-rnegex 10323 ax-rrecex 10324 ax-cnre 10325 ax-pre-lttri 10326 ax-pre-lttrn 10327 ax-pre-ltadd 10328 ax-pre-mulgt0 10329 |
This theorem depends on definitions: df-bi 199 df-an 387 df-or 881 df-3or 1114 df-3an 1115 df-tru 1662 df-ex 1881 df-nf 1885 df-sb 2070 df-mo 2605 df-eu 2640 df-clab 2812 df-cleq 2818 df-clel 2821 df-nfc 2958 df-ne 3000 df-nel 3103 df-ral 3122 df-rex 3123 df-reu 3124 df-rab 3126 df-v 3416 df-sbc 3663 df-csb 3758 df-dif 3801 df-un 3803 df-in 3805 df-ss 3812 df-pss 3814 df-nul 4145 df-if 4307 df-pw 4380 df-sn 4398 df-pr 4400 df-tp 4402 df-op 4404 df-uni 4659 df-int 4698 df-iun 4742 df-br 4874 df-opab 4936 df-mpt 4953 df-tr 4976 df-id 5250 df-eprel 5255 df-po 5263 df-so 5264 df-fr 5301 df-we 5303 df-xp 5348 df-rel 5349 df-cnv 5350 df-co 5351 df-dm 5352 df-rn 5353 df-res 5354 df-ima 5355 df-pred 5920 df-ord 5966 df-on 5967 df-lim 5968 df-suc 5969 df-iota 6086 df-fun 6125 df-fn 6126 df-f 6127 df-f1 6128 df-fo 6129 df-f1o 6130 df-fv 6131 df-riota 6866 df-ov 6908 df-oprab 6909 df-mpt2 6910 df-om 7327 df-1st 7428 df-2nd 7429 df-wrecs 7672 df-recs 7734 df-rdg 7772 df-1o 7826 df-er 8009 df-en 8223 df-dom 8224 df-sdom 8225 df-fin 8226 df-card 9078 df-pnf 10393 df-mnf 10394 df-xr 10395 df-ltxr 10396 df-le 10397 df-sub 10587 df-neg 10588 df-nn 11351 df-n0 11619 df-z 11705 df-uz 11969 df-fz 12620 df-fzo 12761 df-hash 13411 df-word 13575 df-substr 13701 |
This theorem is referenced by: swrdf 13712 addlenswrdOLD 13727 swrd0fvlswOLD 13732 swrdeqOLD 13733 swrdspsleq 13739 swrds1 13741 ccatswrd 13746 swrdccat2 13748 pfxcl 13756 ccatpfx 13780 swrdswrd 13784 lenrevpfxcctswrd 13797 lenrevcctswrdOLD 13798 wrdindOLD 13813 wrd2indOLD 13815 pfxccatin12 13831 swrdccatin12OLD 13832 swrdccat 13835 swrdccatOLD 13836 swrdccat3aOLD 13840 swrdccat3blem 13841 splcl 13862 splclOLD 13863 spllen 13866 spllenOLD 13867 splfv1 13868 splfv1OLD 13869 splfv2a 13870 splfv2aOLD 13871 splval2 13872 splval2OLD 13873 cshwcl 13919 cshwlen 13920 cshwidxmod 13924 gsumspl 17734 gsumsplOLD 17735 psgnunilem5OLD 18265 psgnunilem2 18266 efgsresOLD 18503 efgredleme 18508 efgredlemc 18510 efgcpbllemb 18521 frgpuplem 18538 wwlksm1edgOLD 27181 wwlksnredOLD 27203 wwlksnextwrdOLD 27216 clwlkclwwlkOLD 27332 clwwlkinwwlkOLD 27385 clwwlkfOLD 27392 wwlksubclwwlkOLD 27411 clwlksfclwwlkOLD 27438 wrdsplex 31164 wrdsplexOLD 31165 signsvtn0OLD 31195 signstfveq0OLD 31203 |
Copyright terms: Public domain | W3C validator |