ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  wrdred1hash GIF version

Theorem wrdred1hash 11163
Description: The length of a word truncated by a symbol. (Contributed by Alexander van der Vekens, 1-Nov-2017.) (Revised by AV, 29-Jan-2021.)
Assertion
Ref Expression
wrdred1hash ((𝐹 ∈ Word 𝑆 ∧ 1 ≤ (♯‘𝐹)) → (♯‘(𝐹 ↾ (0..^((♯‘𝐹) − 1)))) = ((♯‘𝐹) − 1))

Proof of Theorem wrdred1hash
StepHypRef Expression
1 lencl 11123 . . 3 (𝐹 ∈ Word 𝑆 → (♯‘𝐹) ∈ ℕ0)
2 wrdf 11125 . . . 4 (𝐹 ∈ Word 𝑆𝐹:(0..^(♯‘𝐹))⟶𝑆)
3 ffn 5481 . . . 4 (𝐹:(0..^(♯‘𝐹))⟶𝑆𝐹 Fn (0..^(♯‘𝐹)))
4 nn0z 9501 . . . . . . . . . 10 ((♯‘𝐹) ∈ ℕ0 → (♯‘𝐹) ∈ ℤ)
5 fzossrbm1 10412 . . . . . . . . . 10 ((♯‘𝐹) ∈ ℤ → (0..^((♯‘𝐹) − 1)) ⊆ (0..^(♯‘𝐹)))
64, 5syl 14 . . . . . . . . 9 ((♯‘𝐹) ∈ ℕ0 → (0..^((♯‘𝐹) − 1)) ⊆ (0..^(♯‘𝐹)))
76ad2antrl 490 . . . . . . . 8 ((𝐹 Fn (0..^(♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹))) → (0..^((♯‘𝐹) − 1)) ⊆ (0..^(♯‘𝐹)))
8 fnssresb 5443 . . . . . . . . 9 (𝐹 Fn (0..^(♯‘𝐹)) → ((𝐹 ↾ (0..^((♯‘𝐹) − 1))) Fn (0..^((♯‘𝐹) − 1)) ↔ (0..^((♯‘𝐹) − 1)) ⊆ (0..^(♯‘𝐹))))
98adantr 276 . . . . . . . 8 ((𝐹 Fn (0..^(♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹))) → ((𝐹 ↾ (0..^((♯‘𝐹) − 1))) Fn (0..^((♯‘𝐹) − 1)) ↔ (0..^((♯‘𝐹) − 1)) ⊆ (0..^(♯‘𝐹))))
107, 9mpbird 167 . . . . . . 7 ((𝐹 Fn (0..^(♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹))) → (𝐹 ↾ (0..^((♯‘𝐹) − 1))) Fn (0..^((♯‘𝐹) − 1)))
11 0z 9492 . . . . . . . 8 0 ∈ ℤ
124ad2antrl 490 . . . . . . . . 9 ((𝐹 Fn (0..^(♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹))) → (♯‘𝐹) ∈ ℤ)
13 peano2zm 9519 . . . . . . . . 9 ((♯‘𝐹) ∈ ℤ → ((♯‘𝐹) − 1) ∈ ℤ)
1412, 13syl 14 . . . . . . . 8 ((𝐹 Fn (0..^(♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹))) → ((♯‘𝐹) − 1) ∈ ℤ)
15 fzofig 10697 . . . . . . . 8 ((0 ∈ ℤ ∧ ((♯‘𝐹) − 1) ∈ ℤ) → (0..^((♯‘𝐹) − 1)) ∈ Fin)
1611, 14, 15sylancr 414 . . . . . . 7 ((𝐹 Fn (0..^(♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹))) → (0..^((♯‘𝐹) − 1)) ∈ Fin)
17 fihashfn 11066 . . . . . . 7 (((𝐹 ↾ (0..^((♯‘𝐹) − 1))) Fn (0..^((♯‘𝐹) − 1)) ∧ (0..^((♯‘𝐹) − 1)) ∈ Fin) → (♯‘(𝐹 ↾ (0..^((♯‘𝐹) − 1)))) = (♯‘(0..^((♯‘𝐹) − 1))))
1810, 16, 17syl2anc 411 . . . . . 6 ((𝐹 Fn (0..^(♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹))) → (♯‘(𝐹 ↾ (0..^((♯‘𝐹) − 1)))) = (♯‘(0..^((♯‘𝐹) − 1))))
19 1nn0 9420 . . . . . . . . 9 1 ∈ ℕ0
20 nn0sub2 9555 . . . . . . . . 9 ((1 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹)) → ((♯‘𝐹) − 1) ∈ ℕ0)
2119, 20mp3an1 1360 . . . . . . . 8 (((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹)) → ((♯‘𝐹) − 1) ∈ ℕ0)
22 hashfzo0 11090 . . . . . . . 8 (((♯‘𝐹) − 1) ∈ ℕ0 → (♯‘(0..^((♯‘𝐹) − 1))) = ((♯‘𝐹) − 1))
2321, 22syl 14 . . . . . . 7 (((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹)) → (♯‘(0..^((♯‘𝐹) − 1))) = ((♯‘𝐹) − 1))
2423adantl 277 . . . . . 6 ((𝐹 Fn (0..^(♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹))) → (♯‘(0..^((♯‘𝐹) − 1))) = ((♯‘𝐹) − 1))
2518, 24eqtrd 2263 . . . . 5 ((𝐹 Fn (0..^(♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹))) → (♯‘(𝐹 ↾ (0..^((♯‘𝐹) − 1)))) = ((♯‘𝐹) − 1))
2625ex 115 . . . 4 (𝐹 Fn (0..^(♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹)) → (♯‘(𝐹 ↾ (0..^((♯‘𝐹) − 1)))) = ((♯‘𝐹) − 1)))
272, 3, 263syl 17 . . 3 (𝐹 ∈ Word 𝑆 → (((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹)) → (♯‘(𝐹 ↾ (0..^((♯‘𝐹) − 1)))) = ((♯‘𝐹) − 1)))
281, 27mpand 429 . 2 (𝐹 ∈ Word 𝑆 → (1 ≤ (♯‘𝐹) → (♯‘(𝐹 ↾ (0..^((♯‘𝐹) − 1)))) = ((♯‘𝐹) − 1)))
2928imp 124 1 ((𝐹 ∈ Word 𝑆 ∧ 1 ≤ (♯‘𝐹)) → (♯‘(𝐹 ↾ (0..^((♯‘𝐹) − 1)))) = ((♯‘𝐹) − 1))
Colors of variables: wff set class
Syntax hints:  wi 4  wa 104  wb 105   = wceq 1397  wcel 2201  wss 3199   class class class wbr 4087  cres 4726   Fn wfn 5320  wf 5321  cfv 5325  (class class class)co 6020  Fincfn 6911  0cc0 8034  1c1 8035  cle 8217  cmin 8352  0cn0 9404  cz 9481  ..^cfzo 10379  chash 11040  Word cword 11119
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 619  ax-in2 620  ax-io 716  ax-5 1495  ax-7 1496  ax-gen 1497  ax-ie1 1541  ax-ie2 1542  ax-8 1552  ax-10 1553  ax-11 1554  ax-i12 1555  ax-bndl 1557  ax-4 1558  ax-17 1574  ax-i9 1578  ax-ial 1582  ax-i5r 1583  ax-13 2203  ax-14 2204  ax-ext 2212  ax-coll 4203  ax-sep 4206  ax-nul 4214  ax-pow 4263  ax-pr 4298  ax-un 4529  ax-setind 4634  ax-iinf 4685  ax-cnex 8125  ax-resscn 8126  ax-1cn 8127  ax-1re 8128  ax-icn 8129  ax-addcl 8130  ax-addrcl 8131  ax-mulcl 8132  ax-addcom 8134  ax-addass 8136  ax-distr 8138  ax-i2m1 8139  ax-0lt1 8140  ax-0id 8142  ax-rnegex 8143  ax-cnre 8145  ax-pre-ltirr 8146  ax-pre-ltwlin 8147  ax-pre-lttrn 8148  ax-pre-apti 8149  ax-pre-ltadd 8150
This theorem depends on definitions:  df-bi 117  df-dc 842  df-3or 1005  df-3an 1006  df-tru 1400  df-fal 1403  df-nf 1509  df-sb 1810  df-eu 2081  df-mo 2082  df-clab 2217  df-cleq 2223  df-clel 2226  df-nfc 2362  df-ne 2402  df-nel 2497  df-ral 2514  df-rex 2515  df-reu 2516  df-rab 2518  df-v 2803  df-sbc 3031  df-csb 3127  df-dif 3201  df-un 3203  df-in 3205  df-ss 3212  df-nul 3494  df-if 3605  df-pw 3653  df-sn 3674  df-pr 3675  df-op 3677  df-uni 3893  df-int 3928  df-iun 3971  df-br 4088  df-opab 4150  df-mpt 4151  df-tr 4187  df-id 4389  df-iord 4462  df-on 4464  df-ilim 4465  df-suc 4467  df-iom 4688  df-xp 4730  df-rel 4731  df-cnv 4732  df-co 4733  df-dm 4734  df-rn 4735  df-res 4736  df-ima 4737  df-iota 5285  df-fun 5327  df-fn 5328  df-f 5329  df-f1 5330  df-fo 5331  df-f1o 5332  df-fv 5333  df-riota 5973  df-ov 6023  df-oprab 6024  df-mpo 6025  df-1st 6305  df-2nd 6306  df-recs 6473  df-frec 6559  df-1o 6584  df-er 6704  df-en 6912  df-dom 6913  df-fin 6914  df-pnf 8218  df-mnf 8219  df-xr 8220  df-ltxr 8221  df-le 8222  df-sub 8354  df-neg 8355  df-inn 9146  df-n0 9405  df-z 9482  df-uz 9758  df-fz 10246  df-fzo 10380  df-ihash 11041  df-word 11120
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator