Metamath Proof Explorer


Theorem efgsres

Description: An initial segment of an extension sequence is an extension sequence. (Contributed by Mario Carneiro, 1-Oct-2015) (Proof shortened by AV, 3-Nov-2022)

Ref Expression
Hypotheses efgval.w ⊢ W = I ⁡ Word I × 2 𝑜
efgval.r ⊢ ∼ ˙ = ~ FG ⁡ I
efgval2.m ⊢ M = y ∈ I , z ∈ 2 𝑜 ⟼ y 1 𝑜 ∖ z
efgval2.t ⊢ T = v ∈ W ⟼ n ∈ 0 … v , w ∈ I × 2 𝑜 ⟼ v splice n n ⟨“ w M ⁡ w ”⟩
efgred.d ⊢ D = W ∖ ⋃ x ∈ W ran ⁡ T ⁡ x
efgred.s ⊢ S = m ∈ t ∈ Word W ∖ ∅ | t ⁡ 0 ∈ D ∧ ∀ k ∈ 1 ..^ t t ⁡ k ∈ ran ⁡ T ⁡ t ⁡ k − 1 ⟼ m ⁡ m − 1
Assertion efgsres ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F ↾ 0 ..^ N ∈ dom ⁡ S

Proof

Step Hyp Ref Expression
1 efgval.w ⊢ W = I ⁡ Word I × 2 𝑜
2 efgval.r ⊢ ∼ ˙ = ~ FG ⁡ I
3 efgval2.m ⊢ M = y ∈ I , z ∈ 2 𝑜 ⟼ y 1 𝑜 ∖ z
4 efgval2.t ⊢ T = v ∈ W ⟼ n ∈ 0 … v , w ∈ I × 2 𝑜 ⟼ v splice n n ⟨“ w M ⁡ w ”⟩
5 efgred.d ⊢ D = W ∖ ⋃ x ∈ W ran ⁡ T ⁡ x
6 efgred.s ⊢ S = m ∈ t ∈ Word W ∖ ∅ | t ⁡ 0 ∈ D ∧ ∀ k ∈ 1 ..^ t t ⁡ k ∈ ran ⁡ T ⁡ t ⁡ k − 1 ⟼ m ⁡ m − 1
7 1 2 3 4 5 6 efgsdm ⊢ F ∈ dom ⁡ S ↔ F ∈ Word W ∖ ∅ ∧ F ⁡ 0 ∈ D ∧ ∀ i ∈ 1 ..^ F F ⁡ i ∈ ran ⁡ T ⁡ F ⁡ i − 1
8 7 simp1bi ⊢ F ∈ dom ⁡ S → F ∈ Word W ∖ ∅
9 8 adantr ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F ∈ Word W ∖ ∅
10 9 eldifad ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F ∈ Word W
11 fz1ssfz0 ⊢ 1 … F ⊆ 0 … F
12 simpr ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → N ∈ 1 … F
13 11 12 sselid ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → N ∈ 0 … F
14 pfxres ⊢ F ∈ Word W ∧ N ∈ 0 … F → F prefix N = F ↾ 0 ..^ N
15 10 13 14 syl2anc ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F prefix N = F ↾ 0 ..^ N
16 pfxcl ⊢ F ∈ Word W → F prefix N ∈ Word W
17 10 16 syl ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F prefix N ∈ Word W
18 15 17 eqeltrrd ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F ↾ 0 ..^ N ∈ Word W
19 pfxlen ⊢ F ∈ Word W ∧ N ∈ 0 … F → F prefix N = N
20 10 13 19 syl2anc ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F prefix N = N
21 elfznn ⊢ N ∈ 1 … F → N ∈ ℕ
22 21 adantl ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → N ∈ ℕ
23 20 22 eqeltrd ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F prefix N ∈ ℕ
24 wrdfin ⊢ F prefix N ∈ Word W → F prefix N ∈ Fin
25 hashnncl ⊢ F prefix N ∈ Fin → F prefix N ∈ ℕ ↔ F prefix N ≠ ∅
26 17 24 25 3syl ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F prefix N ∈ ℕ ↔ F prefix N ≠ ∅
27 23 26 mpbid ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F prefix N ≠ ∅
28 15 27 eqnetrrd ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F ↾ 0 ..^ N ≠ ∅
29 eldifsn ⊢ F ↾ 0 ..^ N ∈ Word W ∖ ∅ ↔ F ↾ 0 ..^ N ∈ Word W ∧ F ↾ 0 ..^ N ≠ ∅
30 18 28 29 sylanbrc ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F ↾ 0 ..^ N ∈ Word W ∖ ∅
31 lbfzo0 ⊢ 0 ∈ 0 ..^ N ↔ N ∈ ℕ
32 22 31 sylibr ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → 0 ∈ 0 ..^ N
33 32 fvresd ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F ↾ 0 ..^ N ⁡ 0 = F ⁡ 0
34 7 simp2bi ⊢ F ∈ dom ⁡ S → F ⁡ 0 ∈ D
35 34 adantr ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F ⁡ 0 ∈ D
36 33 35 eqeltrd ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F ↾ 0 ..^ N ⁡ 0 ∈ D
37 elfzuz3 ⊢ N ∈ 1 … F → F ∈ ℤ ≥ N
38 37 adantl ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F ∈ ℤ ≥ N
39 fzoss2 ⊢ F ∈ ℤ ≥ N → 1 ..^ N ⊆ 1 ..^ F
40 38 39 syl ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → 1 ..^ N ⊆ 1 ..^ F
41 7 simp3bi ⊢ F ∈ dom ⁡ S → ∀ i ∈ 1 ..^ F F ⁡ i ∈ ran ⁡ T ⁡ F ⁡ i − 1
42 41 adantr ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → ∀ i ∈ 1 ..^ F F ⁡ i ∈ ran ⁡ T ⁡ F ⁡ i − 1
43 ssralv ⊢ 1 ..^ N ⊆ 1 ..^ F → ∀ i ∈ 1 ..^ F F ⁡ i ∈ ran ⁡ T ⁡ F ⁡ i − 1 → ∀ i ∈ 1 ..^ N F ⁡ i ∈ ran ⁡ T ⁡ F ⁡ i − 1
44 40 42 43 sylc ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → ∀ i ∈ 1 ..^ N F ⁡ i ∈ ran ⁡ T ⁡ F ⁡ i − 1
45 fzo0ss1 ⊢ 1 ..^ N ⊆ 0 ..^ N
46 45 sseli ⊢ i ∈ 1 ..^ N → i ∈ 0 ..^ N
47 46 fvresd ⊢ i ∈ 1 ..^ N → F ↾ 0 ..^ N ⁡ i = F ⁡ i
48 elfzoel2 ⊢ i ∈ 1 ..^ N → N ∈ ℤ
49 peano2zm ⊢ N ∈ ℤ → N − 1 ∈ ℤ
50 48 49 syl ⊢ i ∈ 1 ..^ N → N − 1 ∈ ℤ
51 uzid ⊢ N ∈ ℤ → N ∈ ℤ ≥ N
52 48 51 syl ⊢ i ∈ 1 ..^ N → N ∈ ℤ ≥ N
53 48 zcnd ⊢ i ∈ 1 ..^ N → N ∈ ℂ
54 ax-1cn ⊢ 1 ∈ ℂ
55 npcan ⊢ N ∈ ℂ ∧ 1 ∈ ℂ → N - 1 + 1 = N
56 53 54 55 sylancl ⊢ i ∈ 1 ..^ N → N - 1 + 1 = N
57 56 fveq2d ⊢ i ∈ 1 ..^ N → ℤ ≥ N - 1 + 1 = ℤ ≥ N
58 52 57 eleqtrrd ⊢ i ∈ 1 ..^ N → N ∈ ℤ ≥ N - 1 + 1
59 peano2uzr ⊢ N − 1 ∈ ℤ ∧ N ∈ ℤ ≥ N - 1 + 1 → N ∈ ℤ ≥ N − 1
60 50 58 59 syl2anc ⊢ i ∈ 1 ..^ N → N ∈ ℤ ≥ N − 1
61 fzoss2 ⊢ N ∈ ℤ ≥ N − 1 → 0 ..^ N − 1 ⊆ 0 ..^ N
62 60 61 syl ⊢ i ∈ 1 ..^ N → 0 ..^ N − 1 ⊆ 0 ..^ N
63 elfzo1elm1fzo0 ⊢ i ∈ 1 ..^ N → i − 1 ∈ 0 ..^ N − 1
64 62 63 sseldd ⊢ i ∈ 1 ..^ N → i − 1 ∈ 0 ..^ N
65 64 fvresd ⊢ i ∈ 1 ..^ N → F ↾ 0 ..^ N ⁡ i − 1 = F ⁡ i − 1
66 65 fveq2d ⊢ i ∈ 1 ..^ N → T ⁡ F ↾ 0 ..^ N ⁡ i − 1 = T ⁡ F ⁡ i − 1
67 66 rneqd ⊢ i ∈ 1 ..^ N → ran ⁡ T ⁡ F ↾ 0 ..^ N ⁡ i − 1 = ran ⁡ T ⁡ F ⁡ i − 1
68 47 67 eleq12d ⊢ i ∈ 1 ..^ N → F ↾ 0 ..^ N ⁡ i ∈ ran ⁡ T ⁡ F ↾ 0 ..^ N ⁡ i − 1 ↔ F ⁡ i ∈ ran ⁡ T ⁡ F ⁡ i − 1
69 68 ralbiia ⊢ ∀ i ∈ 1 ..^ N F ↾ 0 ..^ N ⁡ i ∈ ran ⁡ T ⁡ F ↾ 0 ..^ N ⁡ i − 1 ↔ ∀ i ∈ 1 ..^ N F ⁡ i ∈ ran ⁡ T ⁡ F ⁡ i − 1
70 44 69 sylibr ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → ∀ i ∈ 1 ..^ N F ↾ 0 ..^ N ⁡ i ∈ ran ⁡ T ⁡ F ↾ 0 ..^ N ⁡ i − 1
71 15 fveq2d ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F prefix N = F ↾ 0 ..^ N
72 71 20 eqtr3d ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F ↾ 0 ..^ N = N
73 72 oveq2d ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → 1 ..^ F ↾ 0 ..^ N = 1 ..^ N
74 70 73 raleqtrrdv ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → ∀ i ∈ 1 ..^ F ↾ 0 ..^ N F ↾ 0 ..^ N ⁡ i ∈ ran ⁡ T ⁡ F ↾ 0 ..^ N ⁡ i − 1
75 1 2 3 4 5 6 efgsdm ⊢ F ↾ 0 ..^ N ∈ dom ⁡ S ↔ F ↾ 0 ..^ N ∈ Word W ∖ ∅ ∧ F ↾ 0 ..^ N ⁡ 0 ∈ D ∧ ∀ i ∈ 1 ..^ F ↾ 0 ..^ N F ↾ 0 ..^ N ⁡ i ∈ ran ⁡ T ⁡ F ↾ 0 ..^ N ⁡ i − 1
76 30 36 74 75 syl3anbrc ⊢ F ∈ dom ⁡ S ∧ N ∈ 1 … F → F ↾ 0 ..^ N ∈ dom ⁡ S