| Intuitionistic Logic Explorer |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > ILE Home > Th. List > ccat0 | GIF version | ||
| Description: The concatenation of two words is empty iff the two words are empty. (Contributed by AV, 4-Mar-2022.) (Revised by JJ, 18-Jan-2024.) |
| Ref | Expression |
|---|---|
| ccat0 | ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → ((𝑆 ++ 𝑇) = ∅ ↔ (𝑆 = ∅ ∧ 𝑇 = ∅))) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | ccatlen 11385 | . . . 4 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (♯‘(𝑆 ++ 𝑇)) = ((♯‘𝑆) + (♯‘𝑇))) | |
| 2 | 1 | eqeq1d 2247 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → ((♯‘(𝑆 ++ 𝑇)) = 0 ↔ ((♯‘𝑆) + (♯‘𝑇)) = 0)) |
| 3 | ccatclab 11384 | . . . 4 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) ∈ Word (𝐴 ∪ 𝐵)) | |
| 4 | wrdfin 11345 | . . . 4 ⊢ ((𝑆 ++ 𝑇) ∈ Word (𝐴 ∪ 𝐵) → (𝑆 ++ 𝑇) ∈ Fin) | |
| 5 | fihasheq0 11254 | . . . 4 ⊢ ((𝑆 ++ 𝑇) ∈ Fin → ((♯‘(𝑆 ++ 𝑇)) = 0 ↔ (𝑆 ++ 𝑇) = ∅)) | |
| 6 | 3, 4, 5 | 3syl 17 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → ((♯‘(𝑆 ++ 𝑇)) = 0 ↔ (𝑆 ++ 𝑇) = ∅)) |
| 7 | lencl 11330 | . . . . 5 ⊢ (𝑆 ∈ Word 𝐴 → (♯‘𝑆) ∈ ℕ0) | |
| 8 | nn0re 9583 | . . . . . 6 ⊢ ((♯‘𝑆) ∈ ℕ0 → (♯‘𝑆) ∈ ℝ) | |
| 9 | nn0ge0 9599 | . . . . . 6 ⊢ ((♯‘𝑆) ∈ ℕ0 → 0 ≤ (♯‘𝑆)) | |
| 10 | 8, 9 | jca 306 | . . . . 5 ⊢ ((♯‘𝑆) ∈ ℕ0 → ((♯‘𝑆) ∈ ℝ ∧ 0 ≤ (♯‘𝑆))) |
| 11 | 7, 10 | syl 14 | . . . 4 ⊢ (𝑆 ∈ Word 𝐴 → ((♯‘𝑆) ∈ ℝ ∧ 0 ≤ (♯‘𝑆))) |
| 12 | lencl 11330 | . . . . 5 ⊢ (𝑇 ∈ Word 𝐵 → (♯‘𝑇) ∈ ℕ0) | |
| 13 | nn0re 9583 | . . . . . 6 ⊢ ((♯‘𝑇) ∈ ℕ0 → (♯‘𝑇) ∈ ℝ) | |
| 14 | nn0ge0 9599 | . . . . . 6 ⊢ ((♯‘𝑇) ∈ ℕ0 → 0 ≤ (♯‘𝑇)) | |
| 15 | 13, 14 | jca 306 | . . . . 5 ⊢ ((♯‘𝑇) ∈ ℕ0 → ((♯‘𝑇) ∈ ℝ ∧ 0 ≤ (♯‘𝑇))) |
| 16 | 12, 15 | syl 14 | . . . 4 ⊢ (𝑇 ∈ Word 𝐵 → ((♯‘𝑇) ∈ ℝ ∧ 0 ≤ (♯‘𝑇))) |
| 17 | add20 8809 | . . . 4 ⊢ ((((♯‘𝑆) ∈ ℝ ∧ 0 ≤ (♯‘𝑆)) ∧ ((♯‘𝑇) ∈ ℝ ∧ 0 ≤ (♯‘𝑇))) → (((♯‘𝑆) + (♯‘𝑇)) = 0 ↔ ((♯‘𝑆) = 0 ∧ (♯‘𝑇) = 0))) | |
| 18 | 11, 16, 17 | syl2an 289 | . . 3 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (((♯‘𝑆) + (♯‘𝑇)) = 0 ↔ ((♯‘𝑆) = 0 ∧ (♯‘𝑇) = 0))) |
| 19 | 2, 6, 18 | 3bitr3d 218 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → ((𝑆 ++ 𝑇) = ∅ ↔ ((♯‘𝑆) = 0 ∧ (♯‘𝑇) = 0))) |
| 20 | wrdfin 11345 | . . . 4 ⊢ (𝑆 ∈ Word 𝐴 → 𝑆 ∈ Fin) | |
| 21 | fihasheq0 11254 | . . . 4 ⊢ (𝑆 ∈ Fin → ((♯‘𝑆) = 0 ↔ 𝑆 = ∅)) | |
| 22 | 20, 21 | syl 14 | . . 3 ⊢ (𝑆 ∈ Word 𝐴 → ((♯‘𝑆) = 0 ↔ 𝑆 = ∅)) |
| 23 | wrdfin 11345 | . . . 4 ⊢ (𝑇 ∈ Word 𝐵 → 𝑇 ∈ Fin) | |
| 24 | fihasheq0 11254 | . . . 4 ⊢ (𝑇 ∈ Fin → ((♯‘𝑇) = 0 ↔ 𝑇 = ∅)) | |
| 25 | 23, 24 | syl 14 | . . 3 ⊢ (𝑇 ∈ Word 𝐵 → ((♯‘𝑇) = 0 ↔ 𝑇 = ∅)) |
| 26 | 22, 25 | bi2anan9 614 | . 2 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → (((♯‘𝑆) = 0 ∧ (♯‘𝑇) = 0) ↔ (𝑆 = ∅ ∧ 𝑇 = ∅))) |
| 27 | 19, 26 | bitrd 188 | 1 ⊢ ((𝑆 ∈ Word 𝐴 ∧ 𝑇 ∈ Word 𝐵) → ((𝑆 ++ 𝑇) = ∅ ↔ (𝑆 = ∅ ∧ 𝑇 = ∅))) |
| Colors of variables: wff set class |
| This proof depends on syntax axioms: → wi 4 ∧ wa 104 ↔ wb 105 = wceq 1402 ∈ wcel 2209 ∪ cun 3218 ∅c0 3520 class class class wbr 4131 ‘cfv 5380 (class class class)co 6088 Fincfn 7026 ℝcr 8184 0cc0 8185 + caddc 8188 ≤ cle 8367 ℕ0cn0 9574 ♯chash 11236 Word cword 11326 ++ cconcat 11380 |
| This proof depends on axioms: ax-mp 5 ax-1 6 ax-2 7 ax-ia1 106 ax-ia2 107 ax-ia3 108 ax-in1 623 ax-in2 624 ax-io 721 ax-5 1500 ax-7 1501 ax-gen 1502 ax-ie1 1546 ax-ie2 1547 ax-8 1557 ax-10 1558 ax-11 1559 ax-i12 1560 ax-bndl 1562 ax-4 1563 ax-17 1579 ax-i9 1583 ax-ial 1587 ax-i5r 1588 ax-14 2212 ax-ext 2220 ax-coll 4248 ax-sep 4251 ax-nul 4261 ax-pow 4313 ax-pr 4348 ax-un 4580 ax-setind 4686 ax-iinf 4737 ax-cnex 8276 ax-resscn 8277 ax-1cn 8278 ax-1re 8279 ax-icn 8280 ax-addcl 8281 ax-addrcl 8282 ax-mulcl 8283 ax-addcom 8285 ax-addass 8287 ax-distr 8289 ax-i2m1 8290 ax-0lt1 8291 ax-0id 8293 ax-rnegex 8294 ax-cnre 8296 ax-pre-ltirr 8297 ax-pre-ltwlin 8298 ax-pre-lttrn 8299 ax-pre-apti 8300 ax-pre-ltadd 8301 |
| This proof depends on definitions: df-bi 117 df-dc 847 df-3or 1010 df-3an 1011 df-tru 1405 df-fal 1408 df-nf 1514 df-sb 1816 df-eu 2089 df-mo 2090 df-clab 2225 df-cleq 2231 df-clel 2234 df-nfc 2381 df-ne 2421 df-nel 2516 df-ral 2533 df-rex 2534 df-reu 2535 df-rab 2537 df-v 2823 df-sbc 3052 df-csb 3148 df-dif 3222 df-un 3224 df-in 3226 df-ss 3233 df-nul 3521 df-if 3639 df-pw 3690 df-sn 3715 df-pr 3716 df-op 3718 df-uni 3936 df-int 3971 df-iun 4014 df-br 4132 df-opab 4194 df-mpt 4195 df-tr 4232 df-id 4440 df-iord 4513 df-on 4515 df-ilim 4516 df-suc 4518 df-iom 4740 df-xp 4782 df-rel 4783 df-cnv 4784 df-co 4785 df-dm 4786 df-rn 4787 df-res 4788 df-ima 4789 df-iota 5340 df-fun 5382 df-fn 5383 df-f 5384 df-f1 5385 df-fo 5386 df-f1o 5387 df-fv 5388 df-riota 6041 df-ov 6091 df-oprab 6092 df-mpo 6093 df-1st 6378 df-2nd 6379 df-recs 6580 df-frec 6666 df-1o 6691 df-er 6811 df-en 7027 df-dom 7028 df-fin 7029 df-pnf 8368 df-mnf 8369 df-xr 8370 df-ltxr 8371 df-le 8372 df-sub 8506 df-neg 8507 df-inn 9314 df-n0 9575 df-z 9656 df-uz 9938 df-fz 10429 df-fzo 10567 df-ihash 11237 df-word 11327 df-concat 11381 |
| This theorem is used by: clwwlkccat 16847 |
| Copyright terms: Public domain | W3C validator |