Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
Mirrors > Home > MPE Home > Th. List > wrdred1hash | Structured version Visualization version GIF version |
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.) |
Ref | Expression |
---|---|
wrdred1hash | ⊢ ((𝐹 ∈ Word 𝑆 ∧ 1 ≤ (♯‘𝐹)) → (♯‘(𝐹 ↾ (0..^((♯‘𝐹) − 1)))) = ((♯‘𝐹) − 1)) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | lencl 14088 | . . 3 ⊢ (𝐹 ∈ Word 𝑆 → (♯‘𝐹) ∈ ℕ0) | |
2 | wrdf 14074 | . . . 4 ⊢ (𝐹 ∈ Word 𝑆 → 𝐹:(0..^(♯‘𝐹))⟶𝑆) | |
3 | ffn 6545 | . . . 4 ⊢ (𝐹:(0..^(♯‘𝐹))⟶𝑆 → 𝐹 Fn (0..^(♯‘𝐹))) | |
4 | nn0z 12200 | . . . . . . . . . . 11 ⊢ ((♯‘𝐹) ∈ ℕ0 → (♯‘𝐹) ∈ ℤ) | |
5 | fzossrbm1 13271 | . . . . . . . . . . 11 ⊢ ((♯‘𝐹) ∈ ℤ → (0..^((♯‘𝐹) − 1)) ⊆ (0..^(♯‘𝐹))) | |
6 | 4, 5 | syl 17 | . . . . . . . . . 10 ⊢ ((♯‘𝐹) ∈ ℕ0 → (0..^((♯‘𝐹) − 1)) ⊆ (0..^(♯‘𝐹))) |
7 | 6 | adantr 484 | . . . . . . . . 9 ⊢ (((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹)) → (0..^((♯‘𝐹) − 1)) ⊆ (0..^(♯‘𝐹))) |
8 | 7 | adantl 485 | . . . . . . . 8 ⊢ ((𝐹 Fn (0..^(♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹))) → (0..^((♯‘𝐹) − 1)) ⊆ (0..^(♯‘𝐹))) |
9 | fnssresb 6499 | . . . . . . . . 9 ⊢ (𝐹 Fn (0..^(♯‘𝐹)) → ((𝐹 ↾ (0..^((♯‘𝐹) − 1))) Fn (0..^((♯‘𝐹) − 1)) ↔ (0..^((♯‘𝐹) − 1)) ⊆ (0..^(♯‘𝐹)))) | |
10 | 9 | adantr 484 | . . . . . . . 8 ⊢ ((𝐹 Fn (0..^(♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹))) → ((𝐹 ↾ (0..^((♯‘𝐹) − 1))) Fn (0..^((♯‘𝐹) − 1)) ↔ (0..^((♯‘𝐹) − 1)) ⊆ (0..^(♯‘𝐹)))) |
11 | 8, 10 | mpbird 260 | . . . . . . 7 ⊢ ((𝐹 Fn (0..^(♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹))) → (𝐹 ↾ (0..^((♯‘𝐹) − 1))) Fn (0..^((♯‘𝐹) − 1))) |
12 | hashfn 13942 | . . . . . . 7 ⊢ ((𝐹 ↾ (0..^((♯‘𝐹) − 1))) Fn (0..^((♯‘𝐹) − 1)) → (♯‘(𝐹 ↾ (0..^((♯‘𝐹) − 1)))) = (♯‘(0..^((♯‘𝐹) − 1)))) | |
13 | 11, 12 | syl 17 | . . . . . 6 ⊢ ((𝐹 Fn (0..^(♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹))) → (♯‘(𝐹 ↾ (0..^((♯‘𝐹) − 1)))) = (♯‘(0..^((♯‘𝐹) − 1)))) |
14 | 1nn0 12106 | . . . . . . . . 9 ⊢ 1 ∈ ℕ0 | |
15 | nn0sub2 12238 | . . . . . . . . 9 ⊢ ((1 ∈ ℕ0 ∧ (♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹)) → ((♯‘𝐹) − 1) ∈ ℕ0) | |
16 | 14, 15 | mp3an1 1450 | . . . . . . . 8 ⊢ (((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹)) → ((♯‘𝐹) − 1) ∈ ℕ0) |
17 | hashfzo0 13997 | . . . . . . . 8 ⊢ (((♯‘𝐹) − 1) ∈ ℕ0 → (♯‘(0..^((♯‘𝐹) − 1))) = ((♯‘𝐹) − 1)) | |
18 | 16, 17 | syl 17 | . . . . . . 7 ⊢ (((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹)) → (♯‘(0..^((♯‘𝐹) − 1))) = ((♯‘𝐹) − 1)) |
19 | 18 | adantl 485 | . . . . . 6 ⊢ ((𝐹 Fn (0..^(♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹))) → (♯‘(0..^((♯‘𝐹) − 1))) = ((♯‘𝐹) − 1)) |
20 | 13, 19 | eqtrd 2777 | . . . . 5 ⊢ ((𝐹 Fn (0..^(♯‘𝐹)) ∧ ((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹))) → (♯‘(𝐹 ↾ (0..^((♯‘𝐹) − 1)))) = ((♯‘𝐹) − 1)) |
21 | 20 | ex 416 | . . . 4 ⊢ (𝐹 Fn (0..^(♯‘𝐹)) → (((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹)) → (♯‘(𝐹 ↾ (0..^((♯‘𝐹) − 1)))) = ((♯‘𝐹) − 1))) |
22 | 2, 3, 21 | 3syl 18 | . . 3 ⊢ (𝐹 ∈ Word 𝑆 → (((♯‘𝐹) ∈ ℕ0 ∧ 1 ≤ (♯‘𝐹)) → (♯‘(𝐹 ↾ (0..^((♯‘𝐹) − 1)))) = ((♯‘𝐹) − 1))) |
23 | 1, 22 | mpand 695 | . 2 ⊢ (𝐹 ∈ Word 𝑆 → (1 ≤ (♯‘𝐹) → (♯‘(𝐹 ↾ (0..^((♯‘𝐹) − 1)))) = ((♯‘𝐹) − 1))) |
24 | 23 | imp 410 | 1 ⊢ ((𝐹 ∈ Word 𝑆 ∧ 1 ≤ (♯‘𝐹)) → (♯‘(𝐹 ↾ (0..^((♯‘𝐹) − 1)))) = ((♯‘𝐹) − 1)) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ↔ wb 209 ∧ wa 399 = wceq 1543 ∈ wcel 2110 ⊆ wss 3866 class class class wbr 5053 ↾ cres 5553 Fn wfn 6375 ⟶wf 6376 ‘cfv 6380 (class class class)co 7213 0cc0 10729 1c1 10730 ≤ cle 10868 − cmin 11062 ℕ0cn0 12090 ℤcz 12176 ..^cfzo 13238 ♯chash 13896 Word cword 14069 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1803 ax-4 1817 ax-5 1918 ax-6 1976 ax-7 2016 ax-8 2112 ax-9 2120 ax-10 2141 ax-11 2158 ax-12 2175 ax-ext 2708 ax-rep 5179 ax-sep 5192 ax-nul 5199 ax-pow 5258 ax-pr 5322 ax-un 7523 ax-cnex 10785 ax-resscn 10786 ax-1cn 10787 ax-icn 10788 ax-addcl 10789 ax-addrcl 10790 ax-mulcl 10791 ax-mulrcl 10792 ax-mulcom 10793 ax-addass 10794 ax-mulass 10795 ax-distr 10796 ax-i2m1 10797 ax-1ne0 10798 ax-1rid 10799 ax-rnegex 10800 ax-rrecex 10801 ax-cnre 10802 ax-pre-lttri 10803 ax-pre-lttrn 10804 ax-pre-ltadd 10805 ax-pre-mulgt0 10806 |
This theorem depends on definitions: df-bi 210 df-an 400 df-or 848 df-3or 1090 df-3an 1091 df-tru 1546 df-fal 1556 df-ex 1788 df-nf 1792 df-sb 2071 df-mo 2539 df-eu 2568 df-clab 2715 df-cleq 2729 df-clel 2816 df-nfc 2886 df-ne 2941 df-nel 3047 df-ral 3066 df-rex 3067 df-reu 3068 df-rab 3070 df-v 3410 df-sbc 3695 df-csb 3812 df-dif 3869 df-un 3871 df-in 3873 df-ss 3883 df-pss 3885 df-nul 4238 df-if 4440 df-pw 4515 df-sn 4542 df-pr 4544 df-tp 4546 df-op 4548 df-uni 4820 df-int 4860 df-iun 4906 df-br 5054 df-opab 5116 df-mpt 5136 df-tr 5162 df-id 5455 df-eprel 5460 df-po 5468 df-so 5469 df-fr 5509 df-we 5511 df-xp 5557 df-rel 5558 df-cnv 5559 df-co 5560 df-dm 5561 df-rn 5562 df-res 5563 df-ima 5564 df-pred 6160 df-ord 6216 df-on 6217 df-lim 6218 df-suc 6219 df-iota 6338 df-fun 6382 df-fn 6383 df-f 6384 df-f1 6385 df-fo 6386 df-f1o 6387 df-fv 6388 df-riota 7170 df-ov 7216 df-oprab 7217 df-mpo 7218 df-om 7645 df-1st 7761 df-2nd 7762 df-wrecs 8047 df-recs 8108 df-rdg 8146 df-1o 8202 df-er 8391 df-en 8627 df-dom 8628 df-sdom 8629 df-fin 8630 df-card 9555 df-pnf 10869 df-mnf 10870 df-xr 10871 df-ltxr 10872 df-le 10873 df-sub 11064 df-neg 11065 df-nn 11831 df-n0 12091 df-z 12177 df-uz 12439 df-fz 13096 df-fzo 13239 df-hash 13897 df-word 14070 |
This theorem is referenced by: redwlklem 27759 redwlk 27760 |
Copyright terms: Public domain | W3C validator |