| Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > MPE Home > Th. List > ccatlid | Structured version Visualization version GIF version | ||
| Description: Concatenation of a word by the empty word on the left. (Contributed by Stefan O'Rear, 15-Aug-2015.) (Proof shortened by AV, 1-May-2020.) |
| Ref | Expression |
|---|---|
| ccatlid | ⊢ (𝑆 ∈ Word 𝐵 → (∅ ++ 𝑆) = 𝑆) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | wrd0 14546 | . . . 4 ⊢ ∅ ∈ Word 𝐵 | |
| 2 | ccatvalfn 14588 | . . . 4 ⊢ ((∅ ∈ Word 𝐵 ∧ 𝑆 ∈ Word 𝐵) → (∅ ++ 𝑆) Fn (0..^((♯‘∅) + (♯‘𝑆)))) | |
| 3 | 1, 2 | mpan 700 | . . 3 ⊢ (𝑆 ∈ Word 𝐵 → (∅ ++ 𝑆) Fn (0..^((♯‘∅) + (♯‘𝑆)))) |
| 4 | hash0 14374 | . . . . . . . 8 ⊢ (♯‘∅) = 0 | |
| 5 | 4 | oveq1i 7401 | . . . . . . 7 ⊢ ((♯‘∅) + (♯‘𝑆)) = (0 + (♯‘𝑆)) |
| 6 | lencl 14540 | . . . . . . . . 9 ⊢ (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ ℕ0) | |
| 7 | 6 | nn0cnd 12538 | . . . . . . . 8 ⊢ (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ ℂ) |
| 8 | 7 | addlidd 11378 | . . . . . . 7 ⊢ (𝑆 ∈ Word 𝐵 → (0 + (♯‘𝑆)) = (♯‘𝑆)) |
| 9 | 5, 8 | eqtrid 2808 | . . . . . 6 ⊢ (𝑆 ∈ Word 𝐵 → ((♯‘∅) + (♯‘𝑆)) = (♯‘𝑆)) |
| 10 | 9 | eqcomd 2767 | . . . . 5 ⊢ (𝑆 ∈ Word 𝐵 → (♯‘𝑆) = ((♯‘∅) + (♯‘𝑆))) |
| 11 | 10 | oveq2d 7407 | . . . 4 ⊢ (𝑆 ∈ Word 𝐵 → (0..^(♯‘𝑆)) = (0..^((♯‘∅) + (♯‘𝑆)))) |
| 12 | 11 | fneq2d 6610 | . . 3 ⊢ (𝑆 ∈ Word 𝐵 → ((∅ ++ 𝑆) Fn (0..^(♯‘𝑆)) ↔ (∅ ++ 𝑆) Fn (0..^((♯‘∅) + (♯‘𝑆))))) |
| 13 | 3, 12 | mpbird 259 | . 2 ⊢ (𝑆 ∈ Word 𝐵 → (∅ ++ 𝑆) Fn (0..^(♯‘𝑆))) |
| 14 | wrdfn 14535 | . 2 ⊢ (𝑆 ∈ Word 𝐵 → 𝑆 Fn (0..^(♯‘𝑆))) | |
| 15 | 4 | a1i 11 | . . . . . . 7 ⊢ (𝑆 ∈ Word 𝐵 → (♯‘∅) = 0) |
| 16 | 15, 9 | oveq12d 7409 | . . . . . 6 ⊢ (𝑆 ∈ Word 𝐵 → ((♯‘∅)..^((♯‘∅) + (♯‘𝑆))) = (0..^(♯‘𝑆))) |
| 17 | 16 | eleq2d 2847 | . . . . 5 ⊢ (𝑆 ∈ Word 𝐵 → (𝑥 ∈ ((♯‘∅)..^((♯‘∅) + (♯‘𝑆))) ↔ 𝑥 ∈ (0..^(♯‘𝑆)))) |
| 18 | 17 | biimpar 481 | . . . 4 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → 𝑥 ∈ ((♯‘∅)..^((♯‘∅) + (♯‘𝑆)))) |
| 19 | ccatval2 14585 | . . . . 5 ⊢ ((∅ ∈ Word 𝐵 ∧ 𝑆 ∈ Word 𝐵 ∧ 𝑥 ∈ ((♯‘∅)..^((♯‘∅) + (♯‘𝑆)))) → ((∅ ++ 𝑆)‘𝑥) = (𝑆‘(𝑥 − (♯‘∅)))) | |
| 20 | 1, 19 | mp3an1 1468 | . . . 4 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑥 ∈ ((♯‘∅)..^((♯‘∅) + (♯‘𝑆)))) → ((∅ ++ 𝑆)‘𝑥) = (𝑆‘(𝑥 − (♯‘∅)))) |
| 21 | 18, 20 | syldan 600 | . . 3 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → ((∅ ++ 𝑆)‘𝑥) = (𝑆‘(𝑥 − (♯‘∅)))) |
| 22 | 4 | oveq2i 7402 | . . . . 5 ⊢ (𝑥 − (♯‘∅)) = (𝑥 − 0) |
| 23 | elfzoelz 13658 | . . . . . . . 8 ⊢ (𝑥 ∈ (0..^(♯‘𝑆)) → 𝑥 ∈ ℤ) | |
| 24 | 23 | adantl 485 | . . . . . . 7 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → 𝑥 ∈ ℤ) |
| 25 | 24 | zcnd 12672 | . . . . . 6 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → 𝑥 ∈ ℂ) |
| 26 | 25 | subid1d 11525 | . . . . 5 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → (𝑥 − 0) = 𝑥) |
| 27 | 22, 26 | eqtrid 2808 | . . . 4 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → (𝑥 − (♯‘∅)) = 𝑥) |
| 28 | 27 | fveq2d 6866 | . . 3 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → (𝑆‘(𝑥 − (♯‘∅))) = (𝑆‘𝑥)) |
| 29 | 21, 28 | eqtrd 2796 | . 2 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → ((∅ ++ 𝑆)‘𝑥) = (𝑆‘𝑥)) |
| 30 | 13, 14, 29 | eqfnfvd 7009 | 1 ⊢ (𝑆 ∈ Word 𝐵 → (∅ ++ 𝑆) = 𝑆) |
| Colors of variables: wff setvar class |
| Syntax hints: → wi 4 ∧ wa 399 = wceq 1559 ∈ wcel 2141 ∅c0 4283 Fn wfn 6511 ‘cfv 6516 (class class class)co 7391 0cc0 11067 + caddc 11070 − cmin 11408 ℤcz 12562 ..^cfzo 13653 ♯chash 14337 Word cword 14520 ++ cconcat 14577 |
| This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1814 ax-4 1828 ax-5 1929 ax-6 1986 ax-7 2027 ax-8 2143 ax-9 2151 ax-10 2174 ax-11 2190 ax-12 2211 ax-ext 2733 ax-rep 5224 ax-sep 5243 ax-nul 5253 ax-pow 5319 ax-pr 5387 ax-un 7713 ax-cnex 11123 ax-resscn 11124 ax-1cn 11125 ax-icn 11126 ax-addcl 11127 ax-addrcl 11128 ax-mulcl 11129 ax-mulrcl 11130 ax-mulcom 11131 ax-addass 11132 ax-mulass 11133 ax-distr 11134 ax-i2m1 11135 ax-1ne0 11136 ax-1rid 11137 ax-rnegex 11138 ax-rrecex 11139 ax-cnre 11140 ax-pre-lttri 11141 ax-pre-lttrn 11142 ax-pre-ltadd 11143 ax-pre-mulgt0 11144 |
| This theorem depends on definitions: df-bi 209 df-an 400 df-or 859 df-3or 1098 df-3an 1099 df-tru 1562 df-fal 1572 df-ex 1799 df-nf 1803 df-sb 2090 df-mo 2565 df-eu 2595 df-clab 2740 df-cleq 2753 df-clel 2836 df-nfc 2910 df-ne 2957 df-nel 3061 df-ral 3076 df-rex 3086 df-reu 3367 df-rab 3414 df-v 3455 df-sbc 3743 df-csb 3851 df-dif 3905 df-un 3907 df-in 3909 df-ss 3919 df-pss 3922 df-nul 4284 df-if 4478 df-pw 4554 df-sn 4580 df-pr 4582 df-op 4586 df-uni 4863 df-int 4903 df-iun 4948 df-br 5098 df-opab 5160 df-mpt 5179 df-tr 5205 df-id 5538 df-eprel 5543 df-po 5551 df-so 5552 df-fr 5596 df-we 5598 df-xp 5649 df-rel 5650 df-cnv 5651 df-co 5652 df-dm 5653 df-rn 5654 df-res 5655 df-ima 5656 df-pred 6283 df-ord 6344 df-on 6345 df-lim 6346 df-suc 6347 df-iota 6472 df-fun 6518 df-fn 6519 df-f 6520 df-f1 6521 df-fo 6522 df-f1o 6523 df-fv 6524 df-riota 7348 df-ov 7394 df-oprab 7395 df-mpo 7396 df-om 7842 df-1st 7965 df-2nd 7966 df-frecs 8256 df-wrecs 8287 df-recs 8336 df-rdg 8375 df-1o 8431 df-er 8672 df-en 8922 df-dom 8923 df-sdom 8924 df-fin 8925 df-card 9891 df-pnf 11212 df-mnf 11213 df-xr 11214 df-ltxr 11215 df-le 11216 df-sub 11410 df-neg 11411 df-nn 12205 df-n0 12476 df-z 12563 df-uz 12834 df-fz 13507 df-fzo 13654 df-hash 14338 df-word 14521 df-concat 14578 |
| This theorem is referenced by: ccatidid 14598 ccat1st1st 14636 swrdccat 14742 s0s1 14929 gsumccat 18866 frmdmnd 18884 frmd0 18885 efgcpbl2 19788 frgp0 19791 frgpnabllem1 19904 signstfvneq0 34827 lpadlen1 34937 |
| Copyright terms: Public domain | W3C validator |