Step | Hyp | Ref
| Expression |
1 | | efgval.w |
. . . . . . . . 9
⊢ 𝑊 = ( I ‘Word (𝐼 ×
2𝑜)) |
2 | | efgval.r |
. . . . . . . . 9
⊢ ∼ = (
~FG ‘𝐼) |
3 | | efgval2.m |
. . . . . . . . 9
⊢ 𝑀 = (𝑦 ∈ 𝐼, 𝑧 ∈ 2𝑜 ↦
〈𝑦,
(1𝑜 ∖ 𝑧)〉) |
4 | | efgval2.t |
. . . . . . . . 9
⊢ 𝑇 = (𝑣 ∈ 𝑊 ↦ (𝑛 ∈ (0...(♯‘𝑣)), 𝑤 ∈ (𝐼 × 2𝑜) ↦
(𝑣 splice 〈𝑛, 𝑛, 〈“𝑤(𝑀‘𝑤)”〉〉))) |
5 | | efgred.d |
. . . . . . . . 9
⊢ 𝐷 = (𝑊 ∖ ∪
𝑥 ∈ 𝑊 ran (𝑇‘𝑥)) |
6 | | efgred.s |
. . . . . . . . 9
⊢ 𝑆 = (𝑚 ∈ {𝑡 ∈ (Word 𝑊 ∖ {∅}) ∣ ((𝑡‘0) ∈ 𝐷 ∧ ∀𝑘 ∈
(1..^(♯‘𝑡))(𝑡‘𝑘) ∈ ran (𝑇‘(𝑡‘(𝑘 − 1))))} ↦ (𝑚‘((♯‘𝑚) − 1))) |
7 | 1, 2, 3, 4, 5, 6 | efgsdm 18456 |
. . . . . . . 8
⊢ (𝐹 ∈ dom 𝑆 ↔ (𝐹 ∈ (Word 𝑊 ∖ {∅}) ∧ (𝐹‘0) ∈ 𝐷 ∧ ∀𝑖 ∈ (1..^(♯‘𝐹))(𝐹‘𝑖) ∈ ran (𝑇‘(𝐹‘(𝑖 − 1))))) |
8 | 7 | simp1bi 1176 |
. . . . . . 7
⊢ (𝐹 ∈ dom 𝑆 → 𝐹 ∈ (Word 𝑊 ∖ {∅})) |
9 | 8 | adantr 473 |
. . . . . 6
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → 𝐹 ∈ (Word 𝑊 ∖ {∅})) |
10 | 9 | eldifad 3781 |
. . . . 5
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → 𝐹 ∈ Word 𝑊) |
11 | | fz1ssfz0 12690 |
. . . . . 6
⊢
(1...(♯‘𝐹)) ⊆ (0...(♯‘𝐹)) |
12 | | simpr 478 |
. . . . . 6
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → 𝑁 ∈ (1...(♯‘𝐹))) |
13 | 11, 12 | sseldi 3796 |
. . . . 5
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → 𝑁 ∈ (0...(♯‘𝐹))) |
14 | | swrd0valOLD 13671 |
. . . . 5
⊢ ((𝐹 ∈ Word 𝑊 ∧ 𝑁 ∈ (0...(♯‘𝐹))) → (𝐹 substr 〈0, 𝑁〉) = (𝐹 ↾ (0..^𝑁))) |
15 | 10, 13, 14 | syl2anc 580 |
. . . 4
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → (𝐹 substr 〈0, 𝑁〉) = (𝐹 ↾ (0..^𝑁))) |
16 | | swrdcl 13669 |
. . . . 5
⊢ (𝐹 ∈ Word 𝑊 → (𝐹 substr 〈0, 𝑁〉) ∈ Word 𝑊) |
17 | 10, 16 | syl 17 |
. . . 4
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → (𝐹 substr 〈0, 𝑁〉) ∈ Word 𝑊) |
18 | 15, 17 | eqeltrrd 2879 |
. . 3
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → (𝐹 ↾ (0..^𝑁)) ∈ Word 𝑊) |
19 | | swrd0lenOLD 13672 |
. . . . . . 7
⊢ ((𝐹 ∈ Word 𝑊 ∧ 𝑁 ∈ (0...(♯‘𝐹))) → (♯‘(𝐹 substr 〈0, 𝑁〉)) = 𝑁) |
20 | 10, 13, 19 | syl2anc 580 |
. . . . . 6
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → (♯‘(𝐹 substr 〈0, 𝑁〉)) = 𝑁) |
21 | | elfznn 12624 |
. . . . . . 7
⊢ (𝑁 ∈
(1...(♯‘𝐹))
→ 𝑁 ∈
ℕ) |
22 | 21 | adantl 474 |
. . . . . 6
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → 𝑁 ∈ ℕ) |
23 | 20, 22 | eqeltrd 2878 |
. . . . 5
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → (♯‘(𝐹 substr 〈0, 𝑁〉)) ∈
ℕ) |
24 | | wrdfin 13552 |
. . . . . 6
⊢ ((𝐹 substr 〈0, 𝑁〉) ∈ Word 𝑊 → (𝐹 substr 〈0, 𝑁〉) ∈ Fin) |
25 | | hashnncl 13407 |
. . . . . 6
⊢ ((𝐹 substr 〈0, 𝑁〉) ∈ Fin →
((♯‘(𝐹 substr
〈0, 𝑁〉)) ∈
ℕ ↔ (𝐹 substr
〈0, 𝑁〉) ≠
∅)) |
26 | 17, 24, 25 | 3syl 18 |
. . . . 5
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) →
((♯‘(𝐹 substr
〈0, 𝑁〉)) ∈
ℕ ↔ (𝐹 substr
〈0, 𝑁〉) ≠
∅)) |
27 | 23, 26 | mpbid 224 |
. . . 4
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → (𝐹 substr 〈0, 𝑁〉) ≠ ∅) |
28 | 15, 27 | eqnetrrd 3039 |
. . 3
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → (𝐹 ↾ (0..^𝑁)) ≠ ∅) |
29 | | eldifsn 4506 |
. . 3
⊢ ((𝐹 ↾ (0..^𝑁)) ∈ (Word 𝑊 ∖ {∅}) ↔ ((𝐹 ↾ (0..^𝑁)) ∈ Word 𝑊 ∧ (𝐹 ↾ (0..^𝑁)) ≠ ∅)) |
30 | 18, 28, 29 | sylanbrc 579 |
. 2
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → (𝐹 ↾ (0..^𝑁)) ∈ (Word 𝑊 ∖ {∅})) |
31 | | lbfzo0 12763 |
. . . . 5
⊢ (0 ∈
(0..^𝑁) ↔ 𝑁 ∈
ℕ) |
32 | 22, 31 | sylibr 226 |
. . . 4
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → 0 ∈ (0..^𝑁)) |
33 | | fvres 6430 |
. . . 4
⊢ (0 ∈
(0..^𝑁) → ((𝐹 ↾ (0..^𝑁))‘0) = (𝐹‘0)) |
34 | 32, 33 | syl 17 |
. . 3
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → ((𝐹 ↾ (0..^𝑁))‘0) = (𝐹‘0)) |
35 | 7 | simp2bi 1177 |
. . . 4
⊢ (𝐹 ∈ dom 𝑆 → (𝐹‘0) ∈ 𝐷) |
36 | 35 | adantr 473 |
. . 3
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → (𝐹‘0) ∈ 𝐷) |
37 | 34, 36 | eqeltrd 2878 |
. 2
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → ((𝐹 ↾ (0..^𝑁))‘0) ∈ 𝐷) |
38 | | elfzuz3 12593 |
. . . . . . 7
⊢ (𝑁 ∈
(1...(♯‘𝐹))
→ (♯‘𝐹)
∈ (ℤ≥‘𝑁)) |
39 | 38 | adantl 474 |
. . . . . 6
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → (♯‘𝐹) ∈
(ℤ≥‘𝑁)) |
40 | | fzoss2 12751 |
. . . . . 6
⊢
((♯‘𝐹)
∈ (ℤ≥‘𝑁) → (1..^𝑁) ⊆ (1..^(♯‘𝐹))) |
41 | 39, 40 | syl 17 |
. . . . 5
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → (1..^𝑁) ⊆
(1..^(♯‘𝐹))) |
42 | 7 | simp3bi 1178 |
. . . . . 6
⊢ (𝐹 ∈ dom 𝑆 → ∀𝑖 ∈ (1..^(♯‘𝐹))(𝐹‘𝑖) ∈ ran (𝑇‘(𝐹‘(𝑖 − 1)))) |
43 | 42 | adantr 473 |
. . . . 5
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → ∀𝑖 ∈
(1..^(♯‘𝐹))(𝐹‘𝑖) ∈ ran (𝑇‘(𝐹‘(𝑖 − 1)))) |
44 | | ssralv 3862 |
. . . . 5
⊢
((1..^𝑁) ⊆
(1..^(♯‘𝐹))
→ (∀𝑖 ∈
(1..^(♯‘𝐹))(𝐹‘𝑖) ∈ ran (𝑇‘(𝐹‘(𝑖 − 1))) → ∀𝑖 ∈ (1..^𝑁)(𝐹‘𝑖) ∈ ran (𝑇‘(𝐹‘(𝑖 − 1))))) |
45 | 41, 43, 44 | sylc 65 |
. . . 4
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → ∀𝑖 ∈ (1..^𝑁)(𝐹‘𝑖) ∈ ran (𝑇‘(𝐹‘(𝑖 − 1)))) |
46 | | fzo0ss1 12753 |
. . . . . . . 8
⊢
(1..^𝑁) ⊆
(0..^𝑁) |
47 | 46 | sseli 3794 |
. . . . . . 7
⊢ (𝑖 ∈ (1..^𝑁) → 𝑖 ∈ (0..^𝑁)) |
48 | | fvres 6430 |
. . . . . . 7
⊢ (𝑖 ∈ (0..^𝑁) → ((𝐹 ↾ (0..^𝑁))‘𝑖) = (𝐹‘𝑖)) |
49 | 47, 48 | syl 17 |
. . . . . 6
⊢ (𝑖 ∈ (1..^𝑁) → ((𝐹 ↾ (0..^𝑁))‘𝑖) = (𝐹‘𝑖)) |
50 | | elfzoel2 12724 |
. . . . . . . . . . . . 13
⊢ (𝑖 ∈ (1..^𝑁) → 𝑁 ∈ ℤ) |
51 | | peano2zm 11710 |
. . . . . . . . . . . . 13
⊢ (𝑁 ∈ ℤ → (𝑁 − 1) ∈
ℤ) |
52 | 50, 51 | syl 17 |
. . . . . . . . . . . 12
⊢ (𝑖 ∈ (1..^𝑁) → (𝑁 − 1) ∈ ℤ) |
53 | | uzid 11945 |
. . . . . . . . . . . . . 14
⊢ (𝑁 ∈ ℤ → 𝑁 ∈
(ℤ≥‘𝑁)) |
54 | 50, 53 | syl 17 |
. . . . . . . . . . . . 13
⊢ (𝑖 ∈ (1..^𝑁) → 𝑁 ∈ (ℤ≥‘𝑁)) |
55 | 50 | zcnd 11773 |
. . . . . . . . . . . . . . 15
⊢ (𝑖 ∈ (1..^𝑁) → 𝑁 ∈ ℂ) |
56 | | ax-1cn 10282 |
. . . . . . . . . . . . . . 15
⊢ 1 ∈
ℂ |
57 | | npcan 10582 |
. . . . . . . . . . . . . . 15
⊢ ((𝑁 ∈ ℂ ∧ 1 ∈
ℂ) → ((𝑁 −
1) + 1) = 𝑁) |
58 | 55, 56, 57 | sylancl 581 |
. . . . . . . . . . . . . 14
⊢ (𝑖 ∈ (1..^𝑁) → ((𝑁 − 1) + 1) = 𝑁) |
59 | 58 | fveq2d 6415 |
. . . . . . . . . . . . 13
⊢ (𝑖 ∈ (1..^𝑁) →
(ℤ≥‘((𝑁 − 1) + 1)) =
(ℤ≥‘𝑁)) |
60 | 54, 59 | eleqtrrd 2881 |
. . . . . . . . . . . 12
⊢ (𝑖 ∈ (1..^𝑁) → 𝑁 ∈
(ℤ≥‘((𝑁 − 1) + 1))) |
61 | | peano2uzr 11987 |
. . . . . . . . . . . 12
⊢ (((𝑁 − 1) ∈ ℤ ∧
𝑁 ∈
(ℤ≥‘((𝑁 − 1) + 1))) → 𝑁 ∈ (ℤ≥‘(𝑁 − 1))) |
62 | 52, 60, 61 | syl2anc 580 |
. . . . . . . . . . 11
⊢ (𝑖 ∈ (1..^𝑁) → 𝑁 ∈ (ℤ≥‘(𝑁 − 1))) |
63 | | fzoss2 12751 |
. . . . . . . . . . 11
⊢ (𝑁 ∈
(ℤ≥‘(𝑁 − 1)) → (0..^(𝑁 − 1)) ⊆ (0..^𝑁)) |
64 | 62, 63 | syl 17 |
. . . . . . . . . 10
⊢ (𝑖 ∈ (1..^𝑁) → (0..^(𝑁 − 1)) ⊆ (0..^𝑁)) |
65 | | elfzoelz 12725 |
. . . . . . . . . . . 12
⊢ (𝑖 ∈ (1..^𝑁) → 𝑖 ∈ ℤ) |
66 | | elfzom1b 12822 |
. . . . . . . . . . . 12
⊢ ((𝑖 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑖 ∈ (1..^𝑁) ↔ (𝑖 − 1) ∈ (0..^(𝑁 − 1)))) |
67 | 65, 50, 66 | syl2anc 580 |
. . . . . . . . . . 11
⊢ (𝑖 ∈ (1..^𝑁) → (𝑖 ∈ (1..^𝑁) ↔ (𝑖 − 1) ∈ (0..^(𝑁 − 1)))) |
68 | 67 | ibi 259 |
. . . . . . . . . 10
⊢ (𝑖 ∈ (1..^𝑁) → (𝑖 − 1) ∈ (0..^(𝑁 − 1))) |
69 | 64, 68 | sseldd 3799 |
. . . . . . . . 9
⊢ (𝑖 ∈ (1..^𝑁) → (𝑖 − 1) ∈ (0..^𝑁)) |
70 | | fvres 6430 |
. . . . . . . . 9
⊢ ((𝑖 − 1) ∈ (0..^𝑁) → ((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1)) = (𝐹‘(𝑖 − 1))) |
71 | 69, 70 | syl 17 |
. . . . . . . 8
⊢ (𝑖 ∈ (1..^𝑁) → ((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1)) = (𝐹‘(𝑖 − 1))) |
72 | 71 | fveq2d 6415 |
. . . . . . 7
⊢ (𝑖 ∈ (1..^𝑁) → (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1))) = (𝑇‘(𝐹‘(𝑖 − 1)))) |
73 | 72 | rneqd 5556 |
. . . . . 6
⊢ (𝑖 ∈ (1..^𝑁) → ran (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1))) = ran (𝑇‘(𝐹‘(𝑖 − 1)))) |
74 | 49, 73 | eleq12d 2872 |
. . . . 5
⊢ (𝑖 ∈ (1..^𝑁) → (((𝐹 ↾ (0..^𝑁))‘𝑖) ∈ ran (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1))) ↔ (𝐹‘𝑖) ∈ ran (𝑇‘(𝐹‘(𝑖 − 1))))) |
75 | 74 | ralbiia 3160 |
. . . 4
⊢
(∀𝑖 ∈
(1..^𝑁)((𝐹 ↾ (0..^𝑁))‘𝑖) ∈ ran (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1))) ↔ ∀𝑖 ∈ (1..^𝑁)(𝐹‘𝑖) ∈ ran (𝑇‘(𝐹‘(𝑖 − 1)))) |
76 | 45, 75 | sylibr 226 |
. . 3
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → ∀𝑖 ∈ (1..^𝑁)((𝐹 ↾ (0..^𝑁))‘𝑖) ∈ ran (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1)))) |
77 | 15 | fveq2d 6415 |
. . . . . 6
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → (♯‘(𝐹 substr 〈0, 𝑁〉)) = (♯‘(𝐹 ↾ (0..^𝑁)))) |
78 | 77, 20 | eqtr3d 2835 |
. . . . 5
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → (♯‘(𝐹 ↾ (0..^𝑁))) = 𝑁) |
79 | 78 | oveq2d 6894 |
. . . 4
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) →
(1..^(♯‘(𝐹
↾ (0..^𝑁)))) =
(1..^𝑁)) |
80 | 79 | raleqdv 3327 |
. . 3
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → (∀𝑖 ∈
(1..^(♯‘(𝐹
↾ (0..^𝑁))))((𝐹 ↾ (0..^𝑁))‘𝑖) ∈ ran (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1))) ↔ ∀𝑖 ∈ (1..^𝑁)((𝐹 ↾ (0..^𝑁))‘𝑖) ∈ ran (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1))))) |
81 | 76, 80 | mpbird 249 |
. 2
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → ∀𝑖 ∈
(1..^(♯‘(𝐹
↾ (0..^𝑁))))((𝐹 ↾ (0..^𝑁))‘𝑖) ∈ ran (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1)))) |
82 | 1, 2, 3, 4, 5, 6 | efgsdm 18456 |
. 2
⊢ ((𝐹 ↾ (0..^𝑁)) ∈ dom 𝑆 ↔ ((𝐹 ↾ (0..^𝑁)) ∈ (Word 𝑊 ∖ {∅}) ∧ ((𝐹 ↾ (0..^𝑁))‘0) ∈ 𝐷 ∧ ∀𝑖 ∈ (1..^(♯‘(𝐹 ↾ (0..^𝑁))))((𝐹 ↾ (0..^𝑁))‘𝑖) ∈ ran (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1))))) |
83 | 30, 37, 81, 82 | syl3anbrc 1444 |
1
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(♯‘𝐹))) → (𝐹 ↾ (0..^𝑁)) ∈ dom 𝑆) |