Mathbox for Thierry Arnoux |
< Previous
Next >
Nearby theorems |
||
Mirrors > Home > MPE Home > Th. List > Mathboxes > wrdsplex | Structured version Visualization version GIF version |
Description: Existence of a split of a word at a given index. (Contributed by Thierry Arnoux, 11-Oct-2018.) (Proof shortened by AV, 3-Nov-2022.) |
Ref | Expression |
---|---|
wrdsplex | ⊢ ((𝑊 ∈ Word 𝑆 ∧ 𝑁 ∈ (0...(♯‘𝑊))) → ∃𝑣 ∈ Word 𝑆𝑊 = ((𝑊 ↾ (0..^𝑁)) ++ 𝑣)) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | swrdcl 14009 | . 2 ⊢ (𝑊 ∈ Word 𝑆 → (𝑊 substr 〈𝑁, (♯‘𝑊)〉) ∈ Word 𝑆) | |
2 | simpr 487 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝑆 ∧ 𝑁 ∈ (0...(♯‘𝑊))) → 𝑁 ∈ (0...(♯‘𝑊))) | |
3 | elfzuz2 12915 | . . . . 5 ⊢ (𝑁 ∈ (0...(♯‘𝑊)) → (♯‘𝑊) ∈ (ℤ≥‘0)) | |
4 | eluzfz2 12918 | . . . . 5 ⊢ ((♯‘𝑊) ∈ (ℤ≥‘0) → (♯‘𝑊) ∈ (0...(♯‘𝑊))) | |
5 | 2, 3, 4 | 3syl 18 | . . . 4 ⊢ ((𝑊 ∈ Word 𝑆 ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (♯‘𝑊) ∈ (0...(♯‘𝑊))) |
6 | ccatpfx 14065 | . . . 4 ⊢ ((𝑊 ∈ Word 𝑆 ∧ 𝑁 ∈ (0...(♯‘𝑊)) ∧ (♯‘𝑊) ∈ (0...(♯‘𝑊))) → ((𝑊 prefix 𝑁) ++ (𝑊 substr 〈𝑁, (♯‘𝑊)〉)) = (𝑊 prefix (♯‘𝑊))) | |
7 | 5, 6 | mpd3an3 1458 | . . 3 ⊢ ((𝑊 ∈ Word 𝑆 ∧ 𝑁 ∈ (0...(♯‘𝑊))) → ((𝑊 prefix 𝑁) ++ (𝑊 substr 〈𝑁, (♯‘𝑊)〉)) = (𝑊 prefix (♯‘𝑊))) |
8 | pfxres 14043 | . . . 4 ⊢ ((𝑊 ∈ Word 𝑆 ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (𝑊 prefix 𝑁) = (𝑊 ↾ (0..^𝑁))) | |
9 | 8 | oveq1d 7173 | . . 3 ⊢ ((𝑊 ∈ Word 𝑆 ∧ 𝑁 ∈ (0...(♯‘𝑊))) → ((𝑊 prefix 𝑁) ++ (𝑊 substr 〈𝑁, (♯‘𝑊)〉)) = ((𝑊 ↾ (0..^𝑁)) ++ (𝑊 substr 〈𝑁, (♯‘𝑊)〉))) |
10 | pfxid 14048 | . . . 4 ⊢ (𝑊 ∈ Word 𝑆 → (𝑊 prefix (♯‘𝑊)) = 𝑊) | |
11 | 10 | adantr 483 | . . 3 ⊢ ((𝑊 ∈ Word 𝑆 ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (𝑊 prefix (♯‘𝑊)) = 𝑊) |
12 | 7, 9, 11 | 3eqtr3rd 2867 | . 2 ⊢ ((𝑊 ∈ Word 𝑆 ∧ 𝑁 ∈ (0...(♯‘𝑊))) → 𝑊 = ((𝑊 ↾ (0..^𝑁)) ++ (𝑊 substr 〈𝑁, (♯‘𝑊)〉))) |
13 | oveq2 7166 | . . 3 ⊢ (𝑣 = (𝑊 substr 〈𝑁, (♯‘𝑊)〉) → ((𝑊 ↾ (0..^𝑁)) ++ 𝑣) = ((𝑊 ↾ (0..^𝑁)) ++ (𝑊 substr 〈𝑁, (♯‘𝑊)〉))) | |
14 | 13 | rspceeqv 3640 | . 2 ⊢ (((𝑊 substr 〈𝑁, (♯‘𝑊)〉) ∈ Word 𝑆 ∧ 𝑊 = ((𝑊 ↾ (0..^𝑁)) ++ (𝑊 substr 〈𝑁, (♯‘𝑊)〉))) → ∃𝑣 ∈ Word 𝑆𝑊 = ((𝑊 ↾ (0..^𝑁)) ++ 𝑣)) |
15 | 1, 12, 14 | syl2an2r 683 | 1 ⊢ ((𝑊 ∈ Word 𝑆 ∧ 𝑁 ∈ (0...(♯‘𝑊))) → ∃𝑣 ∈ Word 𝑆𝑊 = ((𝑊 ↾ (0..^𝑁)) ++ 𝑣)) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 398 = wceq 1537 ∈ wcel 2114 ∃wrex 3141 〈cop 4575 ↾ cres 5559 ‘cfv 6357 (class class class)co 7158 0cc0 10539 ℤ≥cuz 12246 ...cfz 12895 ..^cfzo 13036 ♯chash 13693 Word cword 13864 ++ cconcat 13924 substr csubstr 14004 prefix cpfx 14034 |
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 1970 ax-7 2015 ax-8 2116 ax-9 2124 ax-10 2145 ax-11 2161 ax-12 2177 ax-ext 2795 ax-rep 5192 ax-sep 5205 ax-nul 5212 ax-pow 5268 ax-pr 5332 ax-un 7463 ax-cnex 10595 ax-resscn 10596 ax-1cn 10597 ax-icn 10598 ax-addcl 10599 ax-addrcl 10600 ax-mulcl 10601 ax-mulrcl 10602 ax-mulcom 10603 ax-addass 10604 ax-mulass 10605 ax-distr 10606 ax-i2m1 10607 ax-1ne0 10608 ax-1rid 10609 ax-rnegex 10610 ax-rrecex 10611 ax-cnre 10612 ax-pre-lttri 10613 ax-pre-lttrn 10614 ax-pre-ltadd 10615 ax-pre-mulgt0 10616 |
This theorem depends on definitions: df-bi 209 df-an 399 df-or 844 df-3or 1084 df-3an 1085 df-tru 1540 df-ex 1781 df-nf 1785 df-sb 2070 df-mo 2622 df-eu 2654 df-clab 2802 df-cleq 2816 df-clel 2895 df-nfc 2965 df-ne 3019 df-nel 3126 df-ral 3145 df-rex 3146 df-reu 3147 df-rab 3149 df-v 3498 df-sbc 3775 df-csb 3886 df-dif 3941 df-un 3943 df-in 3945 df-ss 3954 df-pss 3956 df-nul 4294 df-if 4470 df-pw 4543 df-sn 4570 df-pr 4572 df-tp 4574 df-op 4576 df-uni 4841 df-int 4879 df-iun 4923 df-br 5069 df-opab 5131 df-mpt 5149 df-tr 5175 df-id 5462 df-eprel 5467 df-po 5476 df-so 5477 df-fr 5516 df-we 5518 df-xp 5563 df-rel 5564 df-cnv 5565 df-co 5566 df-dm 5567 df-rn 5568 df-res 5569 df-ima 5570 df-pred 6150 df-ord 6196 df-on 6197 df-lim 6198 df-suc 6199 df-iota 6316 df-fun 6359 df-fn 6360 df-f 6361 df-f1 6362 df-fo 6363 df-f1o 6364 df-fv 6365 df-riota 7116 df-ov 7161 df-oprab 7162 df-mpo 7163 df-om 7583 df-1st 7691 df-2nd 7692 df-wrecs 7949 df-recs 8010 df-rdg 8048 df-1o 8104 df-oadd 8108 df-er 8291 df-en 8512 df-dom 8513 df-sdom 8514 df-fin 8515 df-card 9370 df-pnf 10679 df-mnf 10680 df-xr 10681 df-ltxr 10682 df-le 10683 df-sub 10874 df-neg 10875 df-nn 11641 df-n0 11901 df-z 11985 df-uz 12247 df-fz 12896 df-fzo 13037 df-hash 13694 df-word 13865 df-concat 13925 df-substr 14005 df-pfx 14035 |
This theorem is referenced by: signstres 31847 |
Copyright terms: Public domain | W3C validator |