![]() |
Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
|
Mirrors > Home > MPE Home > Th. List > ccat0 | Structured version Visualization version GIF version |
Description: The concatenation of two words is empty iff the two words are empty. (Contributed by AV, 4-Mar-2022.) |
Ref | Expression |
---|---|
ccat0 | ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → ((𝑆 ++ 𝑇) = ∅ ↔ (𝑆 = ∅ ∧ 𝑇 = ∅))) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | ccatcl 13641 | . . 3 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) ∈ Word 𝐵) | |
2 | hasheq0 13451 | . . 3 ⊢ ((𝑆 ++ 𝑇) ∈ Word 𝐵 → ((♯‘(𝑆 ++ 𝑇)) = 0 ↔ (𝑆 ++ 𝑇) = ∅)) | |
3 | 1, 2 | syl 17 | . 2 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → ((♯‘(𝑆 ++ 𝑇)) = 0 ↔ (𝑆 ++ 𝑇) = ∅)) |
4 | ccatlen 13642 | . . . 4 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = ((♯‘𝑆) + (♯‘𝑇))) | |
5 | 4 | eqeq1d 2827 | . . 3 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → ((♯‘(𝑆 ++ 𝑇)) = 0 ↔ ((♯‘𝑆) + (♯‘𝑇)) = 0)) |
6 | lencl 13600 | . . . . 5 ⊢ (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ ℕ0) | |
7 | nn0re 11635 | . . . . . 6 ⊢ ((♯‘𝑆) ∈ ℕ0 → (♯‘𝑆) ∈ ℝ) | |
8 | nn0ge0 11652 | . . . . . 6 ⊢ ((♯‘𝑆) ∈ ℕ0 → 0 ≤ (♯‘𝑆)) | |
9 | 7, 8 | jca 507 | . . . . 5 ⊢ ((♯‘𝑆) ∈ ℕ0 → ((♯‘𝑆) ∈ ℝ ∧ 0 ≤ (♯‘𝑆))) |
10 | 6, 9 | syl 17 | . . . 4 ⊢ (𝑆 ∈ Word 𝐵 → ((♯‘𝑆) ∈ ℝ ∧ 0 ≤ (♯‘𝑆))) |
11 | lencl 13600 | . . . . 5 ⊢ (𝑇 ∈ Word 𝐵 → (♯‘𝑇) ∈ ℕ0) | |
12 | nn0re 11635 | . . . . . 6 ⊢ ((♯‘𝑇) ∈ ℕ0 → (♯‘𝑇) ∈ ℝ) | |
13 | nn0ge0 11652 | . . . . . 6 ⊢ ((♯‘𝑇) ∈ ℕ0 → 0 ≤ (♯‘𝑇)) | |
14 | 12, 13 | jca 507 | . . . . 5 ⊢ ((♯‘𝑇) ∈ ℕ0 → ((♯‘𝑇) ∈ ℝ ∧ 0 ≤ (♯‘𝑇))) |
15 | 11, 14 | syl 17 | . . . 4 ⊢ (𝑇 ∈ Word 𝐵 → ((♯‘𝑇) ∈ ℝ ∧ 0 ≤ (♯‘𝑇))) |
16 | add20 10871 | . . . 4 ⊢ ((((♯‘𝑆) ∈ ℝ ∧ 0 ≤ (♯‘𝑆)) ∧ ((♯‘𝑇) ∈ ℝ ∧ 0 ≤ (♯‘𝑇))) → (((♯‘𝑆) + (♯‘𝑇)) = 0 ↔ ((♯‘𝑆) = 0 ∧ (♯‘𝑇) = 0))) | |
17 | 10, 15, 16 | syl2an 589 | . . 3 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (((♯‘𝑆) + (♯‘𝑇)) = 0 ↔ ((♯‘𝑆) = 0 ∧ (♯‘𝑇) = 0))) |
18 | hasheq0 13451 | . . . 4 ⊢ (𝑆 ∈ Word 𝐵 → ((♯‘𝑆) = 0 ↔ 𝑆 = ∅)) | |
19 | hasheq0 13451 | . . . 4 ⊢ (𝑇 ∈ Word 𝐵 → ((♯‘𝑇) = 0 ↔ 𝑇 = ∅)) | |
20 | 18, 19 | bi2anan9 629 | . . 3 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → (((♯‘𝑆) = 0 ∧ (♯‘𝑇) = 0) ↔ (𝑆 = ∅ ∧ 𝑇 = ∅))) |
21 | 5, 17, 20 | 3bitrd 297 | . 2 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → ((♯‘(𝑆 ++ 𝑇)) = 0 ↔ (𝑆 = ∅ ∧ 𝑇 = ∅))) |
22 | 3, 21 | bitr3d 273 | 1 ⊢ ((𝑆 ∈ Word 𝐵 ∧ 𝑇 ∈ Word 𝐵) → ((𝑆 ++ 𝑇) = ∅ ↔ (𝑆 = ∅ ∧ 𝑇 = ∅))) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ↔ wb 198 ∧ wa 386 = wceq 1656 ∈ wcel 2164 ∅c0 4146 class class class wbr 4875 ‘cfv 6127 (class class class)co 6910 ℝcr 10258 0cc0 10259 + caddc 10262 ≤ cle 10399 ℕ0cn0 11625 ♯chash 13417 Word cword 13581 ++ cconcat 13637 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1894 ax-4 1908 ax-5 2009 ax-6 2075 ax-7 2112 ax-8 2166 ax-9 2173 ax-10 2192 ax-11 2207 ax-12 2220 ax-13 2389 ax-ext 2803 ax-rep 4996 ax-sep 5007 ax-nul 5015 ax-pow 5067 ax-pr 5129 ax-un 7214 ax-cnex 10315 ax-resscn 10316 ax-1cn 10317 ax-icn 10318 ax-addcl 10319 ax-addrcl 10320 ax-mulcl 10321 ax-mulrcl 10322 ax-mulcom 10323 ax-addass 10324 ax-mulass 10325 ax-distr 10326 ax-i2m1 10327 ax-1ne0 10328 ax-1rid 10329 ax-rnegex 10330 ax-rrecex 10331 ax-cnre 10332 ax-pre-lttri 10333 ax-pre-lttrn 10334 ax-pre-ltadd 10335 ax-pre-mulgt0 10336 |
This theorem depends on definitions: df-bi 199 df-an 387 df-or 879 df-3or 1112 df-3an 1113 df-tru 1660 df-ex 1879 df-nf 1883 df-sb 2068 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 4147 df-if 4309 df-pw 4382 df-sn 4400 df-pr 4402 df-tp 4404 df-op 4406 df-uni 4661 df-int 4700 df-iun 4744 df-br 4876 df-opab 4938 df-mpt 4955 df-tr 4978 df-id 5252 df-eprel 5257 df-po 5265 df-so 5266 df-fr 5305 df-we 5307 df-xp 5352 df-rel 5353 df-cnv 5354 df-co 5355 df-dm 5356 df-rn 5357 df-res 5358 df-ima 5359 df-pred 5924 df-ord 5970 df-on 5971 df-lim 5972 df-suc 5973 df-iota 6090 df-fun 6129 df-fn 6130 df-f 6131 df-f1 6132 df-fo 6133 df-f1o 6134 df-fv 6135 df-riota 6871 df-ov 6913 df-oprab 6914 df-mpt2 6915 df-om 7332 df-1st 7433 df-2nd 7434 df-wrecs 7677 df-recs 7739 df-rdg 7777 df-1o 7831 df-oadd 7835 df-er 8014 df-en 8229 df-dom 8230 df-sdom 8231 df-fin 8232 df-card 9085 df-pnf 10400 df-mnf 10401 df-xr 10402 df-ltxr 10403 df-le 10404 df-sub 10594 df-neg 10595 df-nn 11358 df-n0 11626 df-z 11712 df-uz 11976 df-fz 12627 df-fzo 12768 df-hash 13418 df-word 13582 df-concat 13638 |
This theorem is referenced by: clwwlkccat 27326 clwwlkwwlksb 27406 |
Copyright terms: Public domain | W3C validator |