Metamath Proof Explorer


Theorem chnsubseqwl

Description: A subsequence of a chain has the same length as its indexing sequence. (Contributed by Ender Ting, 22-Jan-2026)

Ref Expression
Hypotheses chnsubseq.1 ( 𝜑𝑊 ∈ ( < Chain 𝐴 ) )
chnsubseq.2 ( 𝜑𝐼 ∈ ( < Chain ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) )
Assertion chnsubseqwl ( 𝜑 → ( ♯ ‘ ( 𝑊𝐼 ) ) = ( ♯ ‘ 𝐼 ) )

Proof

Step Hyp Ref Expression
1 chnsubseq.1 ( 𝜑𝑊 ∈ ( < Chain 𝐴 ) )
2 chnsubseq.2 ( 𝜑𝐼 ∈ ( < Chain ( 0 ..^ ( ♯ ‘ 𝑊 ) ) ) )
3 2 chnwrd ( 𝜑𝐼 ∈ Word ( 0 ..^ ( ♯ ‘ 𝑊 ) ) )
4 wrdf ( 𝐼 ∈ Word ( 0 ..^ ( ♯ ‘ 𝑊 ) ) → 𝐼 : ( 0 ..^ ( ♯ ‘ 𝐼 ) ) ⟶ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) )
5 3 4 syl ( 𝜑𝐼 : ( 0 ..^ ( ♯ ‘ 𝐼 ) ) ⟶ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) )
6 5 frnd ( 𝜑 → ran 𝐼 ⊆ ( 0 ..^ ( ♯ ‘ 𝑊 ) ) )
7 1 chnwrd ( 𝜑𝑊 ∈ Word 𝐴 )
8 wrddm ( 𝑊 ∈ Word 𝐴 → dom 𝑊 = ( 0 ..^ ( ♯ ‘ 𝑊 ) ) )
9 7 8 syl ( 𝜑 → dom 𝑊 = ( 0 ..^ ( ♯ ‘ 𝑊 ) ) )
10 6 9 sseqtrrd ( 𝜑 → ran 𝐼 ⊆ dom 𝑊 )
11 dmcosseq ( ran 𝐼 ⊆ dom 𝑊 → dom ( 𝑊𝐼 ) = dom 𝐼 )
12 10 11 syl ( 𝜑 → dom ( 𝑊𝐼 ) = dom 𝐼 )
13 1 2 chnsubseqword ( 𝜑 → ( 𝑊𝐼 ) ∈ Word 𝐴 )
14 wrddm ( ( 𝑊𝐼 ) ∈ Word 𝐴 → dom ( 𝑊𝐼 ) = ( 0 ..^ ( ♯ ‘ ( 𝑊𝐼 ) ) ) )
15 13 14 syl ( 𝜑 → dom ( 𝑊𝐼 ) = ( 0 ..^ ( ♯ ‘ ( 𝑊𝐼 ) ) ) )
16 wrddm ( 𝐼 ∈ Word ( 0 ..^ ( ♯ ‘ 𝑊 ) ) → dom 𝐼 = ( 0 ..^ ( ♯ ‘ 𝐼 ) ) )
17 3 16 syl ( 𝜑 → dom 𝐼 = ( 0 ..^ ( ♯ ‘ 𝐼 ) ) )
18 12 15 17 3eqtr3d ( 𝜑 → ( 0 ..^ ( ♯ ‘ ( 𝑊𝐼 ) ) ) = ( 0 ..^ ( ♯ ‘ 𝐼 ) ) )
19 0z 0 ∈ ℤ
20 lencl ( ( 𝑊𝐼 ) ∈ Word 𝐴 → ( ♯ ‘ ( 𝑊𝐼 ) ) ∈ ℕ0 )
21 13 20 syl ( 𝜑 → ( ♯ ‘ ( 𝑊𝐼 ) ) ∈ ℕ0 )
22 21 nn0zd ( 𝜑 → ( ♯ ‘ ( 𝑊𝐼 ) ) ∈ ℤ )
23 simpr ( ( 𝜑 ∧ 0 < ( ♯ ‘ ( 𝑊𝐼 ) ) ) → 0 < ( ♯ ‘ ( 𝑊𝐼 ) ) )
24 fzoopth ( ( 0 ∈ ℤ ∧ ( ♯ ‘ ( 𝑊𝐼 ) ) ∈ ℤ ∧ 0 < ( ♯ ‘ ( 𝑊𝐼 ) ) ) → ( ( 0 ..^ ( ♯ ‘ ( 𝑊𝐼 ) ) ) = ( 0 ..^ ( ♯ ‘ 𝐼 ) ) ↔ ( 0 = 0 ∧ ( ♯ ‘ ( 𝑊𝐼 ) ) = ( ♯ ‘ 𝐼 ) ) ) )
25 19 22 23 24 mp3an2ani ( ( 𝜑 ∧ 0 < ( ♯ ‘ ( 𝑊𝐼 ) ) ) → ( ( 0 ..^ ( ♯ ‘ ( 𝑊𝐼 ) ) ) = ( 0 ..^ ( ♯ ‘ 𝐼 ) ) ↔ ( 0 = 0 ∧ ( ♯ ‘ ( 𝑊𝐼 ) ) = ( ♯ ‘ 𝐼 ) ) ) )
26 eqid 0 = 0
27 26 biantrur ( ( ♯ ‘ ( 𝑊𝐼 ) ) = ( ♯ ‘ 𝐼 ) ↔ ( 0 = 0 ∧ ( ♯ ‘ ( 𝑊𝐼 ) ) = ( ♯ ‘ 𝐼 ) ) )
28 25 27 bitr4di ( ( 𝜑 ∧ 0 < ( ♯ ‘ ( 𝑊𝐼 ) ) ) → ( ( 0 ..^ ( ♯ ‘ ( 𝑊𝐼 ) ) ) = ( 0 ..^ ( ♯ ‘ 𝐼 ) ) ↔ ( ♯ ‘ ( 𝑊𝐼 ) ) = ( ♯ ‘ 𝐼 ) ) )
29 simpr ( ( 𝜑 ∧ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) → 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) )
30 29 oveq2d ( ( 𝜑 ∧ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) → ( 0 ..^ 0 ) = ( 0 ..^ ( ♯ ‘ ( 𝑊𝐼 ) ) ) )
31 fzo0 ( 0 ..^ 0 ) = ∅
32 30 31 eqtr3di ( ( 𝜑 ∧ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) → ( 0 ..^ ( ♯ ‘ ( 𝑊𝐼 ) ) ) = ∅ )
33 32 eqeq1d ( ( 𝜑 ∧ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) → ( ( 0 ..^ ( ♯ ‘ ( 𝑊𝐼 ) ) ) = ( 0 ..^ ( ♯ ‘ 𝐼 ) ) ↔ ∅ = ( 0 ..^ ( ♯ ‘ 𝐼 ) ) ) )
34 eqcom ( ∅ = ( 0 ..^ ( ♯ ‘ 𝐼 ) ) ↔ ( 0 ..^ ( ♯ ‘ 𝐼 ) ) = ∅ )
35 33 34 bitrdi ( ( 𝜑 ∧ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) → ( ( 0 ..^ ( ♯ ‘ ( 𝑊𝐼 ) ) ) = ( 0 ..^ ( ♯ ‘ 𝐼 ) ) ↔ ( 0 ..^ ( ♯ ‘ 𝐼 ) ) = ∅ ) )
36 0zd ( ( 𝜑 ∧ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) → 0 ∈ ℤ )
37 lencl ( 𝐼 ∈ Word ( 0 ..^ ( ♯ ‘ 𝑊 ) ) → ( ♯ ‘ 𝐼 ) ∈ ℕ0 )
38 3 37 syl ( 𝜑 → ( ♯ ‘ 𝐼 ) ∈ ℕ0 )
39 38 nn0zd ( 𝜑 → ( ♯ ‘ 𝐼 ) ∈ ℤ )
40 39 adantr ( ( 𝜑 ∧ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) → ( ♯ ‘ 𝐼 ) ∈ ℤ )
41 fzon ( ( 0 ∈ ℤ ∧ ( ♯ ‘ 𝐼 ) ∈ ℤ ) → ( ( ♯ ‘ 𝐼 ) ≤ 0 ↔ ( 0 ..^ ( ♯ ‘ 𝐼 ) ) = ∅ ) )
42 36 40 41 syl2anc ( ( 𝜑 ∧ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) → ( ( ♯ ‘ 𝐼 ) ≤ 0 ↔ ( 0 ..^ ( ♯ ‘ 𝐼 ) ) = ∅ ) )
43 nn0le0eq0 ( ( ♯ ‘ 𝐼 ) ∈ ℕ0 → ( ( ♯ ‘ 𝐼 ) ≤ 0 ↔ ( ♯ ‘ 𝐼 ) = 0 ) )
44 43 biimpa ( ( ( ♯ ‘ 𝐼 ) ∈ ℕ0 ∧ ( ♯ ‘ 𝐼 ) ≤ 0 ) → ( ♯ ‘ 𝐼 ) = 0 )
45 38 44 sylan ( ( 𝜑 ∧ ( ♯ ‘ 𝐼 ) ≤ 0 ) → ( ♯ ‘ 𝐼 ) = 0 )
46 45 adantlr ( ( ( 𝜑 ∧ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) ∧ ( ♯ ‘ 𝐼 ) ≤ 0 ) → ( ♯ ‘ 𝐼 ) = 0 )
47 id ( ( ♯ ‘ 𝐼 ) = 0 → ( ♯ ‘ 𝐼 ) = 0 )
48 0le0 0 ≤ 0
49 47 48 eqbrtrdi ( ( ♯ ‘ 𝐼 ) = 0 → ( ♯ ‘ 𝐼 ) ≤ 0 )
50 49 adantl ( ( ( 𝜑 ∧ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) ∧ ( ♯ ‘ 𝐼 ) = 0 ) → ( ♯ ‘ 𝐼 ) ≤ 0 )
51 46 50 impbida ( ( 𝜑 ∧ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) → ( ( ♯ ‘ 𝐼 ) ≤ 0 ↔ ( ♯ ‘ 𝐼 ) = 0 ) )
52 eqcom ( ( ♯ ‘ 𝐼 ) = 0 ↔ 0 = ( ♯ ‘ 𝐼 ) )
53 52 a1i ( ( 𝜑 ∧ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) → ( ( ♯ ‘ 𝐼 ) = 0 ↔ 0 = ( ♯ ‘ 𝐼 ) ) )
54 29 eqeq1d ( ( 𝜑 ∧ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) → ( 0 = ( ♯ ‘ 𝐼 ) ↔ ( ♯ ‘ ( 𝑊𝐼 ) ) = ( ♯ ‘ 𝐼 ) ) )
55 51 53 54 3bitrd ( ( 𝜑 ∧ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) → ( ( ♯ ‘ 𝐼 ) ≤ 0 ↔ ( ♯ ‘ ( 𝑊𝐼 ) ) = ( ♯ ‘ 𝐼 ) ) )
56 35 42 55 3bitr2d ( ( 𝜑 ∧ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) → ( ( 0 ..^ ( ♯ ‘ ( 𝑊𝐼 ) ) ) = ( 0 ..^ ( ♯ ‘ 𝐼 ) ) ↔ ( ♯ ‘ ( 𝑊𝐼 ) ) = ( ♯ ‘ 𝐼 ) ) )
57 21 nn0ge0d ( 𝜑 → 0 ≤ ( ♯ ‘ ( 𝑊𝐼 ) ) )
58 0red ( 𝜑 → 0 ∈ ℝ )
59 21 nn0red ( 𝜑 → ( ♯ ‘ ( 𝑊𝐼 ) ) ∈ ℝ )
60 58 59 leloed ( 𝜑 → ( 0 ≤ ( ♯ ‘ ( 𝑊𝐼 ) ) ↔ ( 0 < ( ♯ ‘ ( 𝑊𝐼 ) ) ∨ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) ) )
61 57 60 mpbid ( 𝜑 → ( 0 < ( ♯ ‘ ( 𝑊𝐼 ) ) ∨ 0 = ( ♯ ‘ ( 𝑊𝐼 ) ) ) )
62 28 56 61 mpjaodan ( 𝜑 → ( ( 0 ..^ ( ♯ ‘ ( 𝑊𝐼 ) ) ) = ( 0 ..^ ( ♯ ‘ 𝐼 ) ) ↔ ( ♯ ‘ ( 𝑊𝐼 ) ) = ( ♯ ‘ 𝐼 ) ) )
63 18 62 mpbid ( 𝜑 → ( ♯ ‘ ( 𝑊𝐼 ) ) = ( ♯ ‘ 𝐼 ) )