Metamath Proof Explorer


Theorem swrdlen

Description: Length of an extracted subword. (Contributed by Stefan O'Rear, 16-Aug-2015)

Ref Expression
Assertion swrdlen ⊢ S ∈ Word A ∧ F ∈ 0 … L ∧ L ∈ 0 … S → S substr F L = L − F

Proof

Step Hyp Ref Expression
1 fvex ⊢ S ⁡ x + F ∈ V
2 eqid ⊢ x ∈ 0 ..^ L − F ⟼ S ⁡ x + F = x ∈ 0 ..^ L − F ⟼ S ⁡ x + F
3 1 2 fnmpti ⊢ x ∈ 0 ..^ L − F ⟼ S ⁡ x + F Fn 0 ..^ L − F
4 swrdval2 ⊢ S ∈ Word A ∧ F ∈ 0 … L ∧ L ∈ 0 … S → S substr F L = x ∈ 0 ..^ L − F ⟼ S ⁡ x + F
5 4 fneq1d ⊢ S ∈ Word A ∧ F ∈ 0 … L ∧ L ∈ 0 … S → S substr F L Fn 0 ..^ L − F ↔ x ∈ 0 ..^ L − F ⟼ S ⁡ x + F Fn 0 ..^ L − F
6 3 5 mpbiri ⊢ S ∈ Word A ∧ F ∈ 0 … L ∧ L ∈ 0 … S → S substr F L Fn 0 ..^ L − F
7 hashfn ⊢ S substr F L Fn 0 ..^ L − F → S substr F L = 0 ..^ L − F
8 6 7 syl ⊢ S ∈ Word A ∧ F ∈ 0 … L ∧ L ∈ 0 … S → S substr F L = 0 ..^ L − F
9 fznn0sub ⊢ F ∈ 0 … L → L − F ∈ ℕ 0
10 9 3ad2ant2 ⊢ S ∈ Word A ∧ F ∈ 0 … L ∧ L ∈ 0 … S → L − F ∈ ℕ 0
11 hashfzo0 ⊢ L − F ∈ ℕ 0 → 0 ..^ L − F = L − F
12 10 11 syl ⊢ S ∈ Word A ∧ F ∈ 0 … L ∧ L ∈ 0 … S → 0 ..^ L − F = L − F
13 8 12 eqtrd ⊢ S ∈ Word A ∧ F ∈ 0 … L ∧ L ∈ 0 … S → S substr F L = L − F