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

Theorem swrdid 13628
Description: A word is a subword of itself. (Contributed by Stefan O'Rear, 16-Aug-2015.) (Proof shortened by AV, 2-May-2020.)
Assertion
Ref Expression
swrdid (𝑆 ∈ Word 𝐴 → (𝑆 substr ⟨0, (♯‘𝑆)⟩) = 𝑆)

Proof of Theorem swrdid
Dummy variable 𝑥 is distinct from all other variables.
StepHypRef Expression
1 lencl 13510 . . . . 5 (𝑆 ∈ Word 𝐴 → (♯‘𝑆) ∈ ℕ0)
2 nn0fz0 12631 . . . . 5 ((♯‘𝑆) ∈ ℕ0 ↔ (♯‘𝑆) ∈ (0...(♯‘𝑆)))
31, 2sylib 208 . . . 4 (𝑆 ∈ Word 𝐴 → (♯‘𝑆) ∈ (0...(♯‘𝑆)))
4 swrd0f 13627 . . . 4 ((𝑆 ∈ Word 𝐴 ∧ (♯‘𝑆) ∈ (0...(♯‘𝑆))) → (𝑆 substr ⟨0, (♯‘𝑆)⟩):(0..^(♯‘𝑆))⟶𝐴)
53, 4mpdan 705 . . 3 (𝑆 ∈ Word 𝐴 → (𝑆 substr ⟨0, (♯‘𝑆)⟩):(0..^(♯‘𝑆))⟶𝐴)
6 ffn 6206 . . 3 ((𝑆 substr ⟨0, (♯‘𝑆)⟩):(0..^(♯‘𝑆))⟶𝐴 → (𝑆 substr ⟨0, (♯‘𝑆)⟩) Fn (0..^(♯‘𝑆)))
75, 6syl 17 . 2 (𝑆 ∈ Word 𝐴 → (𝑆 substr ⟨0, (♯‘𝑆)⟩) Fn (0..^(♯‘𝑆)))
8 wrdfn 13505 . 2 (𝑆 ∈ Word 𝐴𝑆 Fn (0..^(♯‘𝑆)))
9 simpl 474 . . . 4 ((𝑆 ∈ Word 𝐴𝑥 ∈ (0..^(♯‘𝑆))) → 𝑆 ∈ Word 𝐴)
10 0elfz 12630 . . . . . 6 ((♯‘𝑆) ∈ ℕ0 → 0 ∈ (0...(♯‘𝑆)))
111, 10syl 17 . . . . 5 (𝑆 ∈ Word 𝐴 → 0 ∈ (0...(♯‘𝑆)))
1211adantr 472 . . . 4 ((𝑆 ∈ Word 𝐴𝑥 ∈ (0..^(♯‘𝑆))) → 0 ∈ (0...(♯‘𝑆)))
133adantr 472 . . . 4 ((𝑆 ∈ Word 𝐴𝑥 ∈ (0..^(♯‘𝑆))) → (♯‘𝑆) ∈ (0...(♯‘𝑆)))
141nn0cnd 11545 . . . . . . . 8 (𝑆 ∈ Word 𝐴 → (♯‘𝑆) ∈ ℂ)
1514subid1d 10573 . . . . . . 7 (𝑆 ∈ Word 𝐴 → ((♯‘𝑆) − 0) = (♯‘𝑆))
1615oveq2d 6829 . . . . . 6 (𝑆 ∈ Word 𝐴 → (0..^((♯‘𝑆) − 0)) = (0..^(♯‘𝑆)))
1716eleq2d 2825 . . . . 5 (𝑆 ∈ Word 𝐴 → (𝑥 ∈ (0..^((♯‘𝑆) − 0)) ↔ 𝑥 ∈ (0..^(♯‘𝑆))))
1817biimpar 503 . . . 4 ((𝑆 ∈ Word 𝐴𝑥 ∈ (0..^(♯‘𝑆))) → 𝑥 ∈ (0..^((♯‘𝑆) − 0)))
19 swrdfv 13623 . . . 4 (((𝑆 ∈ Word 𝐴 ∧ 0 ∈ (0...(♯‘𝑆)) ∧ (♯‘𝑆) ∈ (0...(♯‘𝑆))) ∧ 𝑥 ∈ (0..^((♯‘𝑆) − 0))) → ((𝑆 substr ⟨0, (♯‘𝑆)⟩)‘𝑥) = (𝑆‘(𝑥 + 0)))
209, 12, 13, 18, 19syl31anc 1480 . . 3 ((𝑆 ∈ Word 𝐴𝑥 ∈ (0..^(♯‘𝑆))) → ((𝑆 substr ⟨0, (♯‘𝑆)⟩)‘𝑥) = (𝑆‘(𝑥 + 0)))
21 elfzoelz 12664 . . . . . . 7 (𝑥 ∈ (0..^(♯‘𝑆)) → 𝑥 ∈ ℤ)
2221zcnd 11675 . . . . . 6 (𝑥 ∈ (0..^(♯‘𝑆)) → 𝑥 ∈ ℂ)
2322addid1d 10428 . . . . 5 (𝑥 ∈ (0..^(♯‘𝑆)) → (𝑥 + 0) = 𝑥)
2423adantl 473 . . . 4 ((𝑆 ∈ Word 𝐴𝑥 ∈ (0..^(♯‘𝑆))) → (𝑥 + 0) = 𝑥)
2524fveq2d 6356 . . 3 ((𝑆 ∈ Word 𝐴𝑥 ∈ (0..^(♯‘𝑆))) → (𝑆‘(𝑥 + 0)) = (𝑆𝑥))
2620, 25eqtrd 2794 . 2 ((𝑆 ∈ Word 𝐴𝑥 ∈ (0..^(♯‘𝑆))) → ((𝑆 substr ⟨0, (♯‘𝑆)⟩)‘𝑥) = (𝑆𝑥))
277, 8, 26eqfnfvd 6477 1 (𝑆 ∈ Word 𝐴 → (𝑆 substr ⟨0, (♯‘𝑆)⟩) = 𝑆)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 383   = wceq 1632  wcel 2139  cop 4327   Fn wfn 6044  wf 6045  cfv 6049  (class class class)co 6813  0cc0 10128   + caddc 10131  cmin 10458  0cn0 11484  ...cfz 12519  ..^cfzo 12659  chash 13311  Word cword 13477   substr csubstr 13481
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1871  ax-4 1886  ax-5 1988  ax-6 2054  ax-7 2090  ax-8 2141  ax-9 2148  ax-10 2168  ax-11 2183  ax-12 2196  ax-13 2391  ax-ext 2740  ax-rep 4923  ax-sep 4933  ax-nul 4941  ax-pow 4992  ax-pr 5055  ax-un 7114  ax-cnex 10184  ax-resscn 10185  ax-1cn 10186  ax-icn 10187  ax-addcl 10188  ax-addrcl 10189  ax-mulcl 10190  ax-mulrcl 10191  ax-mulcom 10192  ax-addass 10193  ax-mulass 10194  ax-distr 10195  ax-i2m1 10196  ax-1ne0 10197  ax-1rid 10198  ax-rnegex 10199  ax-rrecex 10200  ax-cnre 10201  ax-pre-lttri 10202  ax-pre-lttrn 10203  ax-pre-ltadd 10204  ax-pre-mulgt0 10205
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-3or 1073  df-3an 1074  df-tru 1635  df-ex 1854  df-nf 1859  df-sb 2047  df-eu 2611  df-mo 2612  df-clab 2747  df-cleq 2753  df-clel 2756  df-nfc 2891  df-ne 2933  df-nel 3036  df-ral 3055  df-rex 3056  df-reu 3057  df-rab 3059  df-v 3342  df-sbc 3577  df-csb 3675  df-dif 3718  df-un 3720  df-in 3722  df-ss 3729  df-pss 3731  df-nul 4059  df-if 4231  df-pw 4304  df-sn 4322  df-pr 4324  df-tp 4326  df-op 4328  df-uni 4589  df-int 4628  df-iun 4674  df-br 4805  df-opab 4865  df-mpt 4882  df-tr 4905  df-id 5174  df-eprel 5179  df-po 5187  df-so 5188  df-fr 5225  df-we 5227  df-xp 5272  df-rel 5273  df-cnv 5274  df-co 5275  df-dm 5276  df-rn 5277  df-res 5278  df-ima 5279  df-pred 5841  df-ord 5887  df-on 5888  df-lim 5889  df-suc 5890  df-iota 6012  df-fun 6051  df-fn 6052  df-f 6053  df-f1 6054  df-fo 6055  df-f1o 6056  df-fv 6057  df-riota 6774  df-ov 6816  df-oprab 6817  df-mpt2 6818  df-om 7231  df-1st 7333  df-2nd 7334  df-wrecs 7576  df-recs 7637  df-rdg 7675  df-1o 7729  df-oadd 7733  df-er 7911  df-en 8122  df-dom 8123  df-sdom 8124  df-fin 8125  df-card 8955  df-pnf 10268  df-mnf 10269  df-xr 10270  df-ltxr 10271  df-le 10272  df-sub 10460  df-neg 10461  df-nn 11213  df-n0 11485  df-z 11570  df-uz 11880  df-fz 12520  df-fzo 12660  df-hash 13312  df-word 13485  df-substr 13489
This theorem is referenced by:  wrdcctswrd  13665  swrdccatwrd  13668  wrdeqs1cat  13674  swrdccat3a  13694  swrdccat3b  13696  swrdccatid  13697  splid  13704  splval2  13708  cshw0  13740  efgredleme  18356  efgredlemc  18358  efgcpbllemb  18368  frgpuplem  18385  wrdsplex  30927  pfxid  41902  pfxccatpfx2  41938
  Copyright terms: Public domain W3C validator