Metamath Proof Explorer


Theorem swrdrn2

Description: The range of a subword is a subset of the range of that word. Stronger version of swrdrn . (Contributed by Thierry Arnoux, 12-Dec-2023)

Ref Expression
Assertion swrdrn2 ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W → ran ⁡ W substr M N ⊆ ran ⁡ W

Proof

Step Hyp Ref Expression
1 swrdval2 ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W → W substr M N = x ∈ 0 ..^ N − M ⟼ W ⁡ x + M
2 1 rneqd ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W → ran ⁡ W substr M N = ran ⁡ x ∈ 0 ..^ N − M ⟼ W ⁡ x + M
3 eqidd ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → W = W
4 simpl1 ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → W ∈ Word V
5 3 4 wrdfd ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → W : 0 ..^ W ⟶ V
6 5 ffund ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → Fun ⁡ W
7 elfzuz3 ⊢ N ∈ 0 … W → W ∈ ℤ ≥ N
8 7 3ad2ant3 ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W → W ∈ ℤ ≥ N
9 8 adantr ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → W ∈ ℤ ≥ N
10 fzoss2 ⊢ W ∈ ℤ ≥ N → 0 ..^ N ⊆ 0 ..^ W
11 9 10 syl ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → 0 ..^ N ⊆ 0 ..^ W
12 elfzuz ⊢ M ∈ 0 … N → M ∈ ℤ ≥ 0
13 12 3ad2ant2 ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W → M ∈ ℤ ≥ 0
14 13 adantr ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → M ∈ ℤ ≥ 0
15 fzoss1 ⊢ M ∈ ℤ ≥ 0 → M ..^ N ⊆ 0 ..^ N
16 14 15 syl ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → M ..^ N ⊆ 0 ..^ N
17 simpr ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → x ∈ 0 ..^ N − M
18 simpl3 ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → N ∈ 0 … W
19 18 elfzelzd ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → N ∈ ℤ
20 simpl2 ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → M ∈ 0 … N
21 20 elfzelzd ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → M ∈ ℤ
22 fzoaddel2 ⊢ x ∈ 0 ..^ N − M ∧ N ∈ ℤ ∧ M ∈ ℤ → x + M ∈ M ..^ N
23 17 19 21 22 syl3anc ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → x + M ∈ M ..^ N
24 16 23 sseldd ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → x + M ∈ 0 ..^ N
25 11 24 sseldd ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → x + M ∈ 0 ..^ W
26 wrddm ⊢ W ∈ Word V → dom ⁡ W = 0 ..^ W
27 26 3ad2ant1 ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W → dom ⁡ W = 0 ..^ W
28 27 adantr ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → dom ⁡ W = 0 ..^ W
29 25 28 eleqtrrd ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → x + M ∈ dom ⁡ W
30 fvelrn ⊢ Fun ⁡ W ∧ x + M ∈ dom ⁡ W → W ⁡ x + M ∈ ran ⁡ W
31 6 29 30 syl2anc ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W ∧ x ∈ 0 ..^ N − M → W ⁡ x + M ∈ ran ⁡ W
32 31 ralrimiva ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W → ∀ x ∈ 0 ..^ N − M W ⁡ x + M ∈ ran ⁡ W
33 eqid ⊢ x ∈ 0 ..^ N − M ⟼ W ⁡ x + M = x ∈ 0 ..^ N − M ⟼ W ⁡ x + M
34 33 rnmptss ⊢ ∀ x ∈ 0 ..^ N − M W ⁡ x + M ∈ ran ⁡ W → ran ⁡ x ∈ 0 ..^ N − M ⟼ W ⁡ x + M ⊆ ran ⁡ W
35 32 34 syl ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W → ran ⁡ x ∈ 0 ..^ N − M ⟼ W ⁡ x + M ⊆ ran ⁡ W
36 2 35 eqsstrd ⊢ W ∈ Word V ∧ M ∈ 0 … N ∧ N ∈ 0 … W → ran ⁡ W substr M N ⊆ ran ⁡ W