| Intuitionistic Logic Explorer |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > ILE Home > Th. List > lenrevpfxcctswrd | GIF version | ||
| Description: The length of the concatenation of the rest of a word and the prefix of the word is the length of the word. (Contributed by Alexander van der Vekens, 1-Apr-2018.) (Revised by AV, 9-May-2020.) |
| Ref | Expression |
|---|---|
| lenrevpfxcctswrd | ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → (♯‘((𝑊 substr 〈𝑀, (♯‘𝑊)〉) ++ (𝑊 prefix 𝑀))) = (♯‘𝑊)) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | simpl 109 | . . . 4 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → 𝑊 ∈ Word 𝑉) | |
| 2 | elfzelz 10162 | . . . . 5 ⊢ (𝑀 ∈ (0...(♯‘𝑊)) → 𝑀 ∈ ℤ) | |
| 3 | 2 | adantl 277 | . . . 4 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → 𝑀 ∈ ℤ) |
| 4 | lencl 11015 | . . . . . 6 ⊢ (𝑊 ∈ Word 𝑉 → (♯‘𝑊) ∈ ℕ0) | |
| 5 | 4 | nn0zd 9508 | . . . . 5 ⊢ (𝑊 ∈ Word 𝑉 → (♯‘𝑊) ∈ ℤ) |
| 6 | 5 | adantr 276 | . . . 4 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → (♯‘𝑊) ∈ ℤ) |
| 7 | swrdclg 11121 | . . . 4 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ ℤ ∧ (♯‘𝑊) ∈ ℤ) → (𝑊 substr 〈𝑀, (♯‘𝑊)〉) ∈ Word 𝑉) | |
| 8 | 1, 3, 6, 7 | syl3anc 1250 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → (𝑊 substr 〈𝑀, (♯‘𝑊)〉) ∈ Word 𝑉) |
| 9 | elfznn0 10251 | . . . . 5 ⊢ (𝑀 ∈ (0...(♯‘𝑊)) → 𝑀 ∈ ℕ0) | |
| 10 | 9 | adantl 277 | . . . 4 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → 𝑀 ∈ ℕ0) |
| 11 | pfxclg 11149 | . . . 4 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ ℕ0) → (𝑊 prefix 𝑀) ∈ Word 𝑉) | |
| 12 | 1, 10, 11 | syl2anc 411 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → (𝑊 prefix 𝑀) ∈ Word 𝑉) |
| 13 | ccatlen 11069 | . . 3 ⊢ (((𝑊 substr 〈𝑀, (♯‘𝑊)〉) ∈ Word 𝑉 ∧ (𝑊 prefix 𝑀) ∈ Word 𝑉) → (♯‘((𝑊 substr 〈𝑀, (♯‘𝑊)〉) ++ (𝑊 prefix 𝑀))) = ((♯‘(𝑊 substr 〈𝑀, (♯‘𝑊)〉)) + (♯‘(𝑊 prefix 𝑀)))) | |
| 14 | 8, 12, 13 | syl2anc 411 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → (♯‘((𝑊 substr 〈𝑀, (♯‘𝑊)〉) ++ (𝑊 prefix 𝑀))) = ((♯‘(𝑊 substr 〈𝑀, (♯‘𝑊)〉)) + (♯‘(𝑊 prefix 𝑀)))) |
| 15 | swrdrlen 11132 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → (♯‘(𝑊 substr 〈𝑀, (♯‘𝑊)〉)) = ((♯‘𝑊) − 𝑀)) | |
| 16 | fznn0sub 10194 | . . . . . 6 ⊢ (𝑀 ∈ (0...(♯‘𝑊)) → ((♯‘𝑊) − 𝑀) ∈ ℕ0) | |
| 17 | 16 | adantl 277 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → ((♯‘𝑊) − 𝑀) ∈ ℕ0) |
| 18 | 15, 17 | eqeltrd 2283 | . . . 4 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → (♯‘(𝑊 substr 〈𝑀, (♯‘𝑊)〉)) ∈ ℕ0) |
| 19 | 18 | nn0cnd 9365 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → (♯‘(𝑊 substr 〈𝑀, (♯‘𝑊)〉)) ∈ ℂ) |
| 20 | pfxlen 11156 | . . . . 5 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → (♯‘(𝑊 prefix 𝑀)) = 𝑀) | |
| 21 | 20, 10 | eqeltrd 2283 | . . . 4 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → (♯‘(𝑊 prefix 𝑀)) ∈ ℕ0) |
| 22 | 21 | nn0cnd 9365 | . . 3 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → (♯‘(𝑊 prefix 𝑀)) ∈ ℂ) |
| 23 | 19, 22 | addcomd 8238 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → ((♯‘(𝑊 substr 〈𝑀, (♯‘𝑊)〉)) + (♯‘(𝑊 prefix 𝑀))) = ((♯‘(𝑊 prefix 𝑀)) + (♯‘(𝑊 substr 〈𝑀, (♯‘𝑊)〉)))) |
| 24 | addlenpfx 11162 | . 2 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → ((♯‘(𝑊 prefix 𝑀)) + (♯‘(𝑊 substr 〈𝑀, (♯‘𝑊)〉))) = (♯‘𝑊)) | |
| 25 | 14, 23, 24 | 3eqtrd 2243 | 1 ⊢ ((𝑊 ∈ Word 𝑉 ∧ 𝑀 ∈ (0...(♯‘𝑊))) → (♯‘((𝑊 substr 〈𝑀, (♯‘𝑊)〉) ++ (𝑊 prefix 𝑀))) = (♯‘𝑊)) |
| Colors of variables: wff set class |
| Syntax hints: → wi 4 ∧ wa 104 = wceq 1373 ∈ wcel 2177 〈cop 3640 ‘cfv 5279 (class class class)co 5956 0cc0 7940 + caddc 7943 − cmin 8258 ℕ0cn0 9310 ℤcz 9387 ...cfz 10145 ♯chash 10937 Word cword 11011 ++ cconcat 11064 substr csubstr 11116 prefix cpfx 11143 |
| This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-ia1 106 ax-ia2 107 ax-ia3 108 ax-in1 615 ax-in2 616 ax-io 711 ax-5 1471 ax-7 1472 ax-gen 1473 ax-ie1 1517 ax-ie2 1518 ax-8 1528 ax-10 1529 ax-11 1530 ax-i12 1531 ax-bndl 1533 ax-4 1534 ax-17 1550 ax-i9 1554 ax-ial 1558 ax-i5r 1559 ax-13 2179 ax-14 2180 ax-ext 2188 ax-coll 4166 ax-sep 4169 ax-nul 4177 ax-pow 4225 ax-pr 4260 ax-un 4487 ax-setind 4592 ax-iinf 4643 ax-cnex 8031 ax-resscn 8032 ax-1cn 8033 ax-1re 8034 ax-icn 8035 ax-addcl 8036 ax-addrcl 8037 ax-mulcl 8038 ax-addcom 8040 ax-addass 8042 ax-distr 8044 ax-i2m1 8045 ax-0lt1 8046 ax-0id 8048 ax-rnegex 8049 ax-cnre 8051 ax-pre-ltirr 8052 ax-pre-ltwlin 8053 ax-pre-lttrn 8054 ax-pre-apti 8055 ax-pre-ltadd 8056 |
| This theorem depends on definitions: df-bi 117 df-dc 837 df-3or 982 df-3an 983 df-tru 1376 df-fal 1379 df-nf 1485 df-sb 1787 df-eu 2058 df-mo 2059 df-clab 2193 df-cleq 2199 df-clel 2202 df-nfc 2338 df-ne 2378 df-nel 2473 df-ral 2490 df-rex 2491 df-reu 2492 df-rab 2494 df-v 2775 df-sbc 3003 df-csb 3098 df-dif 3172 df-un 3174 df-in 3176 df-ss 3183 df-nul 3465 df-if 3576 df-pw 3622 df-sn 3643 df-pr 3644 df-op 3646 df-uni 3856 df-int 3891 df-iun 3934 df-br 4051 df-opab 4113 df-mpt 4114 df-tr 4150 df-id 4347 df-iord 4420 df-on 4422 df-ilim 4423 df-suc 4425 df-iom 4646 df-xp 4688 df-rel 4689 df-cnv 4690 df-co 4691 df-dm 4692 df-rn 4693 df-res 4694 df-ima 4695 df-iota 5240 df-fun 5281 df-fn 5282 df-f 5283 df-f1 5284 df-fo 5285 df-f1o 5286 df-fv 5287 df-riota 5911 df-ov 5959 df-oprab 5960 df-mpo 5961 df-1st 6238 df-2nd 6239 df-recs 6403 df-frec 6489 df-1o 6514 df-er 6632 df-en 6840 df-dom 6841 df-fin 6842 df-pnf 8124 df-mnf 8125 df-xr 8126 df-ltxr 8127 df-le 8128 df-sub 8260 df-neg 8261 df-inn 9052 df-n0 9311 df-z 9388 df-uz 9664 df-fz 10146 df-fzo 10280 df-ihash 10938 df-word 11012 df-concat 11065 df-substr 11117 df-pfx 11144 |
| This theorem is referenced by: (None) |
| Copyright terms: Public domain | W3C validator |