MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  ccats1pfxeq Structured version   Visualization version   GIF version

Theorem ccats1pfxeq 14660
Description: The last symbol of a word concatenated with the word with the last symbol removed results in the word itself. (Contributed by Alexander van der Vekens, 24-Oct-2018.) (Revised by AV, 9-May-2020.)
Assertion
Ref Expression
ccats1pfxeq ((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) β†’ (π‘Š = (π‘ˆ prefix (β™―β€˜π‘Š)) β†’ π‘ˆ = (π‘Š ++ βŸ¨β€œ(lastSβ€˜π‘ˆ)β€βŸ©)))

Proof of Theorem ccats1pfxeq
StepHypRef Expression
1 oveq1 7412 . . . 4 (π‘Š = (π‘ˆ prefix (β™―β€˜π‘Š)) β†’ (π‘Š ++ βŸ¨β€œ(lastSβ€˜π‘ˆ)β€βŸ©) = ((π‘ˆ prefix (β™―β€˜π‘Š)) ++ βŸ¨β€œ(lastSβ€˜π‘ˆ)β€βŸ©))
21adantl 482 . . 3 (((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) ∧ π‘Š = (π‘ˆ prefix (β™―β€˜π‘Š))) β†’ (π‘Š ++ βŸ¨β€œ(lastSβ€˜π‘ˆ)β€βŸ©) = ((π‘ˆ prefix (β™―β€˜π‘Š)) ++ βŸ¨β€œ(lastSβ€˜π‘ˆ)β€βŸ©))
3 lencl 14479 . . . . . . . . . . . 12 (π‘Š ∈ Word 𝑉 β†’ (β™―β€˜π‘Š) ∈ β„•0)
43nn0cnd 12530 . . . . . . . . . . 11 (π‘Š ∈ Word 𝑉 β†’ (β™―β€˜π‘Š) ∈ β„‚)
5 pncan1 11634 . . . . . . . . . . 11 ((β™―β€˜π‘Š) ∈ β„‚ β†’ (((β™―β€˜π‘Š) + 1) βˆ’ 1) = (β™―β€˜π‘Š))
64, 5syl 17 . . . . . . . . . 10 (π‘Š ∈ Word 𝑉 β†’ (((β™―β€˜π‘Š) + 1) βˆ’ 1) = (β™―β€˜π‘Š))
76eqcomd 2738 . . . . . . . . 9 (π‘Š ∈ Word 𝑉 β†’ (β™―β€˜π‘Š) = (((β™―β€˜π‘Š) + 1) βˆ’ 1))
873ad2ant1 1133 . . . . . . . 8 ((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) β†’ (β™―β€˜π‘Š) = (((β™―β€˜π‘Š) + 1) βˆ’ 1))
9 oveq1 7412 . . . . . . . . . 10 ((β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1) β†’ ((β™―β€˜π‘ˆ) βˆ’ 1) = (((β™―β€˜π‘Š) + 1) βˆ’ 1))
109eqcomd 2738 . . . . . . . . 9 ((β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1) β†’ (((β™―β€˜π‘Š) + 1) βˆ’ 1) = ((β™―β€˜π‘ˆ) βˆ’ 1))
11103ad2ant3 1135 . . . . . . . 8 ((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) β†’ (((β™―β€˜π‘Š) + 1) βˆ’ 1) = ((β™―β€˜π‘ˆ) βˆ’ 1))
128, 11eqtrd 2772 . . . . . . 7 ((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) β†’ (β™―β€˜π‘Š) = ((β™―β€˜π‘ˆ) βˆ’ 1))
1312oveq2d 7421 . . . . . 6 ((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) β†’ (π‘ˆ prefix (β™―β€˜π‘Š)) = (π‘ˆ prefix ((β™―β€˜π‘ˆ) βˆ’ 1)))
1413oveq1d 7420 . . . . 5 ((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) β†’ ((π‘ˆ prefix (β™―β€˜π‘Š)) ++ βŸ¨β€œ(lastSβ€˜π‘ˆ)β€βŸ©) = ((π‘ˆ prefix ((β™―β€˜π‘ˆ) βˆ’ 1)) ++ βŸ¨β€œ(lastSβ€˜π‘ˆ)β€βŸ©))
15 simp2 1137 . . . . . 6 ((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) β†’ π‘ˆ ∈ Word 𝑉)
16 nn0p1gt0 12497 . . . . . . . . . 10 ((β™―β€˜π‘Š) ∈ β„•0 β†’ 0 < ((β™―β€˜π‘Š) + 1))
173, 16syl 17 . . . . . . . . 9 (π‘Š ∈ Word 𝑉 β†’ 0 < ((β™―β€˜π‘Š) + 1))
18173ad2ant1 1133 . . . . . . . 8 ((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) β†’ 0 < ((β™―β€˜π‘Š) + 1))
19 breq2 5151 . . . . . . . . 9 ((β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1) β†’ (0 < (β™―β€˜π‘ˆ) ↔ 0 < ((β™―β€˜π‘Š) + 1)))
20193ad2ant3 1135 . . . . . . . 8 ((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) β†’ (0 < (β™―β€˜π‘ˆ) ↔ 0 < ((β™―β€˜π‘Š) + 1)))
2118, 20mpbird 256 . . . . . . 7 ((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) β†’ 0 < (β™―β€˜π‘ˆ))
22 hashneq0 14320 . . . . . . . 8 (π‘ˆ ∈ Word 𝑉 β†’ (0 < (β™―β€˜π‘ˆ) ↔ π‘ˆ β‰  βˆ…))
23223ad2ant2 1134 . . . . . . 7 ((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) β†’ (0 < (β™―β€˜π‘ˆ) ↔ π‘ˆ β‰  βˆ…))
2421, 23mpbid 231 . . . . . 6 ((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) β†’ π‘ˆ β‰  βˆ…)
25 pfxlswccat 14659 . . . . . 6 ((π‘ˆ ∈ Word 𝑉 ∧ π‘ˆ β‰  βˆ…) β†’ ((π‘ˆ prefix ((β™―β€˜π‘ˆ) βˆ’ 1)) ++ βŸ¨β€œ(lastSβ€˜π‘ˆ)β€βŸ©) = π‘ˆ)
2615, 24, 25syl2anc 584 . . . . 5 ((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) β†’ ((π‘ˆ prefix ((β™―β€˜π‘ˆ) βˆ’ 1)) ++ βŸ¨β€œ(lastSβ€˜π‘ˆ)β€βŸ©) = π‘ˆ)
2714, 26eqtrd 2772 . . . 4 ((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) β†’ ((π‘ˆ prefix (β™―β€˜π‘Š)) ++ βŸ¨β€œ(lastSβ€˜π‘ˆ)β€βŸ©) = π‘ˆ)
2827adantr 481 . . 3 (((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) ∧ π‘Š = (π‘ˆ prefix (β™―β€˜π‘Š))) β†’ ((π‘ˆ prefix (β™―β€˜π‘Š)) ++ βŸ¨β€œ(lastSβ€˜π‘ˆ)β€βŸ©) = π‘ˆ)
292, 28eqtr2d 2773 . 2 (((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) ∧ π‘Š = (π‘ˆ prefix (β™―β€˜π‘Š))) β†’ π‘ˆ = (π‘Š ++ βŸ¨β€œ(lastSβ€˜π‘ˆ)β€βŸ©))
3029ex 413 1 ((π‘Š ∈ Word 𝑉 ∧ π‘ˆ ∈ Word 𝑉 ∧ (β™―β€˜π‘ˆ) = ((β™―β€˜π‘Š) + 1)) β†’ (π‘Š = (π‘ˆ prefix (β™―β€˜π‘Š)) β†’ π‘ˆ = (π‘Š ++ βŸ¨β€œ(lastSβ€˜π‘ˆ)β€βŸ©)))
Colors of variables: wff setvar class
Syntax hints:   β†’ wi 4   ↔ wb 205   ∧ wa 396   ∧ w3a 1087   = wceq 1541   ∈ wcel 2106   β‰  wne 2940  βˆ…c0 4321   class class class wbr 5147  β€˜cfv 6540  (class class class)co 7405  β„‚cc 11104  0cc0 11106  1c1 11107   + caddc 11109   < clt 11244   βˆ’ cmin 11440  β„•0cn0 12468  β™―chash 14286  Word cword 14460  lastSclsw 14508   ++ cconcat 14516  βŸ¨β€œcs1 14541   prefix cpfx 14616
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2703  ax-rep 5284  ax-sep 5298  ax-nul 5305  ax-pow 5362  ax-pr 5426  ax-un 7721  ax-cnex 11162  ax-resscn 11163  ax-1cn 11164  ax-icn 11165  ax-addcl 11166  ax-addrcl 11167  ax-mulcl 11168  ax-mulrcl 11169  ax-mulcom 11170  ax-addass 11171  ax-mulass 11172  ax-distr 11173  ax-i2m1 11174  ax-1ne0 11175  ax-1rid 11176  ax-rnegex 11177  ax-rrecex 11178  ax-cnre 11179  ax-pre-lttri 11180  ax-pre-lttrn 11181  ax-pre-ltadd 11182  ax-pre-mulgt0 11183
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3or 1088  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2534  df-eu 2563  df-clab 2710  df-cleq 2724  df-clel 2810  df-nfc 2885  df-ne 2941  df-nel 3047  df-ral 3062  df-rex 3071  df-reu 3377  df-rab 3433  df-v 3476  df-sbc 3777  df-csb 3893  df-dif 3950  df-un 3952  df-in 3954  df-ss 3964  df-pss 3966  df-nul 4322  df-if 4528  df-pw 4603  df-sn 4628  df-pr 4630  df-op 4634  df-uni 4908  df-int 4950  df-iun 4998  df-br 5148  df-opab 5210  df-mpt 5231  df-tr 5265  df-id 5573  df-eprel 5579  df-po 5587  df-so 5588  df-fr 5630  df-we 5632  df-xp 5681  df-rel 5682  df-cnv 5683  df-co 5684  df-dm 5685  df-rn 5686  df-res 5687  df-ima 5688  df-pred 6297  df-ord 6364  df-on 6365  df-lim 6366  df-suc 6367  df-iota 6492  df-fun 6542  df-fn 6543  df-f 6544  df-f1 6545  df-fo 6546  df-f1o 6547  df-fv 6548  df-riota 7361  df-ov 7408  df-oprab 7409  df-mpo 7410  df-om 7852  df-1st 7971  df-2nd 7972  df-frecs 8262  df-wrecs 8293  df-recs 8367  df-rdg 8406  df-1o 8462  df-er 8699  df-en 8936  df-dom 8937  df-sdom 8938  df-fin 8939  df-card 9930  df-pnf 11246  df-mnf 11247  df-xr 11248  df-ltxr 11249  df-le 11250  df-sub 11442  df-neg 11443  df-nn 12209  df-n0 12469  df-xnn0 12541  df-z 12555  df-uz 12819  df-fz 13481  df-fzo 13624  df-hash 14287  df-word 14461  df-lsw 14509  df-concat 14517  df-s1 14542  df-substr 14587  df-pfx 14617
This theorem is referenced by:  ccats1pfxeqrex  14661  ccats1pfxeqbi  14688
  Copyright terms: Public domain W3C validator