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 18143 |
. . . . . . . 8
⊢ (𝐹 ∈ dom 𝑆 ↔ (𝐹 ∈ (Word 𝑊 ∖ {∅}) ∧ (𝐹‘0) ∈ 𝐷 ∧ ∀𝑖 ∈ (1..^(#‘𝐹))(𝐹‘𝑖) ∈ ran (𝑇‘(𝐹‘(𝑖 − 1))))) |
8 | 7 | simp1bi 1076 |
. . . . . . 7
⊢ (𝐹 ∈ dom 𝑆 → 𝐹 ∈ (Word 𝑊 ∖ {∅})) |
9 | 8 | adantr 481 |
. . . . . 6
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → 𝐹 ∈ (Word 𝑊 ∖ {∅})) |
10 | 9 | eldifad 3586 |
. . . . 5
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → 𝐹 ∈ Word 𝑊) |
11 | | 1eluzge0 11732 |
. . . . . . 7
⊢ 1 ∈
(ℤ≥‘0) |
12 | | fzss1 12380 |
. . . . . . 7
⊢ (1 ∈
(ℤ≥‘0) → (1...(#‘𝐹)) ⊆ (0...(#‘𝐹))) |
13 | 11, 12 | ax-mp 5 |
. . . . . 6
⊢
(1...(#‘𝐹))
⊆ (0...(#‘𝐹)) |
14 | | simpr 477 |
. . . . . 6
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → 𝑁 ∈ (1...(#‘𝐹))) |
15 | 13, 14 | sseldi 3601 |
. . . . 5
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → 𝑁 ∈ (0...(#‘𝐹))) |
16 | | swrd0val 13421 |
. . . . 5
⊢ ((𝐹 ∈ Word 𝑊 ∧ 𝑁 ∈ (0...(#‘𝐹))) → (𝐹 substr 〈0, 𝑁〉) = (𝐹 ↾ (0..^𝑁))) |
17 | 10, 15, 16 | syl2anc 693 |
. . . 4
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → (𝐹 substr 〈0, 𝑁〉) = (𝐹 ↾ (0..^𝑁))) |
18 | | swrdcl 13419 |
. . . . 5
⊢ (𝐹 ∈ Word 𝑊 → (𝐹 substr 〈0, 𝑁〉) ∈ Word 𝑊) |
19 | 10, 18 | syl 17 |
. . . 4
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → (𝐹 substr 〈0, 𝑁〉) ∈ Word 𝑊) |
20 | 17, 19 | eqeltrrd 2702 |
. . 3
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → (𝐹 ↾ (0..^𝑁)) ∈ Word 𝑊) |
21 | | swrd0len 13422 |
. . . . . . 7
⊢ ((𝐹 ∈ Word 𝑊 ∧ 𝑁 ∈ (0...(#‘𝐹))) → (#‘(𝐹 substr 〈0, 𝑁〉)) = 𝑁) |
22 | 10, 15, 21 | syl2anc 693 |
. . . . . 6
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → (#‘(𝐹 substr 〈0, 𝑁〉)) = 𝑁) |
23 | | elfznn 12370 |
. . . . . . 7
⊢ (𝑁 ∈ (1...(#‘𝐹)) → 𝑁 ∈ ℕ) |
24 | 23 | adantl 482 |
. . . . . 6
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → 𝑁 ∈ ℕ) |
25 | 22, 24 | eqeltrd 2701 |
. . . . 5
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → (#‘(𝐹 substr 〈0, 𝑁〉)) ∈ ℕ) |
26 | | wrdfin 13323 |
. . . . . 6
⊢ ((𝐹 substr 〈0, 𝑁〉) ∈ Word 𝑊 → (𝐹 substr 〈0, 𝑁〉) ∈ Fin) |
27 | | hashnncl 13157 |
. . . . . 6
⊢ ((𝐹 substr 〈0, 𝑁〉) ∈ Fin →
((#‘(𝐹 substr
〈0, 𝑁〉)) ∈
ℕ ↔ (𝐹 substr
〈0, 𝑁〉) ≠
∅)) |
28 | 19, 26, 27 | 3syl 18 |
. . . . 5
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → ((#‘(𝐹 substr 〈0, 𝑁〉)) ∈ ℕ ↔ (𝐹 substr 〈0, 𝑁〉) ≠
∅)) |
29 | 25, 28 | mpbid 222 |
. . . 4
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → (𝐹 substr 〈0, 𝑁〉) ≠ ∅) |
30 | 17, 29 | eqnetrrd 2862 |
. . 3
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → (𝐹 ↾ (0..^𝑁)) ≠ ∅) |
31 | | eldifsn 4317 |
. . 3
⊢ ((𝐹 ↾ (0..^𝑁)) ∈ (Word 𝑊 ∖ {∅}) ↔ ((𝐹 ↾ (0..^𝑁)) ∈ Word 𝑊 ∧ (𝐹 ↾ (0..^𝑁)) ≠ ∅)) |
32 | 20, 30, 31 | sylanbrc 698 |
. 2
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → (𝐹 ↾ (0..^𝑁)) ∈ (Word 𝑊 ∖ {∅})) |
33 | | lbfzo0 12507 |
. . . . 5
⊢ (0 ∈
(0..^𝑁) ↔ 𝑁 ∈
ℕ) |
34 | 24, 33 | sylibr 224 |
. . . 4
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → 0 ∈ (0..^𝑁)) |
35 | | fvres 6207 |
. . . 4
⊢ (0 ∈
(0..^𝑁) → ((𝐹 ↾ (0..^𝑁))‘0) = (𝐹‘0)) |
36 | 34, 35 | syl 17 |
. . 3
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → ((𝐹 ↾ (0..^𝑁))‘0) = (𝐹‘0)) |
37 | 7 | simp2bi 1077 |
. . . 4
⊢ (𝐹 ∈ dom 𝑆 → (𝐹‘0) ∈ 𝐷) |
38 | 37 | adantr 481 |
. . 3
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → (𝐹‘0) ∈ 𝐷) |
39 | 36, 38 | eqeltrd 2701 |
. 2
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → ((𝐹 ↾ (0..^𝑁))‘0) ∈ 𝐷) |
40 | | elfzuz3 12339 |
. . . . . . 7
⊢ (𝑁 ∈ (1...(#‘𝐹)) → (#‘𝐹) ∈
(ℤ≥‘𝑁)) |
41 | 40 | adantl 482 |
. . . . . 6
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → (#‘𝐹) ∈ (ℤ≥‘𝑁)) |
42 | | fzoss2 12496 |
. . . . . 6
⊢
((#‘𝐹) ∈
(ℤ≥‘𝑁) → (1..^𝑁) ⊆ (1..^(#‘𝐹))) |
43 | 41, 42 | syl 17 |
. . . . 5
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → (1..^𝑁) ⊆ (1..^(#‘𝐹))) |
44 | 7 | simp3bi 1078 |
. . . . . 6
⊢ (𝐹 ∈ dom 𝑆 → ∀𝑖 ∈ (1..^(#‘𝐹))(𝐹‘𝑖) ∈ ran (𝑇‘(𝐹‘(𝑖 − 1)))) |
45 | 44 | adantr 481 |
. . . . 5
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → ∀𝑖 ∈ (1..^(#‘𝐹))(𝐹‘𝑖) ∈ ran (𝑇‘(𝐹‘(𝑖 − 1)))) |
46 | | ssralv 3666 |
. . . . 5
⊢
((1..^𝑁) ⊆
(1..^(#‘𝐹)) →
(∀𝑖 ∈
(1..^(#‘𝐹))(𝐹‘𝑖) ∈ ran (𝑇‘(𝐹‘(𝑖 − 1))) → ∀𝑖 ∈ (1..^𝑁)(𝐹‘𝑖) ∈ ran (𝑇‘(𝐹‘(𝑖 − 1))))) |
47 | 43, 45, 46 | sylc 65 |
. . . 4
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → ∀𝑖 ∈ (1..^𝑁)(𝐹‘𝑖) ∈ ran (𝑇‘(𝐹‘(𝑖 − 1)))) |
48 | | fzo0ss1 12498 |
. . . . . . . 8
⊢
(1..^𝑁) ⊆
(0..^𝑁) |
49 | 48 | sseli 3599 |
. . . . . . 7
⊢ (𝑖 ∈ (1..^𝑁) → 𝑖 ∈ (0..^𝑁)) |
50 | | fvres 6207 |
. . . . . . 7
⊢ (𝑖 ∈ (0..^𝑁) → ((𝐹 ↾ (0..^𝑁))‘𝑖) = (𝐹‘𝑖)) |
51 | 49, 50 | syl 17 |
. . . . . 6
⊢ (𝑖 ∈ (1..^𝑁) → ((𝐹 ↾ (0..^𝑁))‘𝑖) = (𝐹‘𝑖)) |
52 | | elfzoel2 12469 |
. . . . . . . . . . . . 13
⊢ (𝑖 ∈ (1..^𝑁) → 𝑁 ∈ ℤ) |
53 | | peano2zm 11420 |
. . . . . . . . . . . . 13
⊢ (𝑁 ∈ ℤ → (𝑁 − 1) ∈
ℤ) |
54 | 52, 53 | syl 17 |
. . . . . . . . . . . 12
⊢ (𝑖 ∈ (1..^𝑁) → (𝑁 − 1) ∈ ℤ) |
55 | | uzid 11702 |
. . . . . . . . . . . . . 14
⊢ (𝑁 ∈ ℤ → 𝑁 ∈
(ℤ≥‘𝑁)) |
56 | 52, 55 | syl 17 |
. . . . . . . . . . . . 13
⊢ (𝑖 ∈ (1..^𝑁) → 𝑁 ∈ (ℤ≥‘𝑁)) |
57 | 52 | zcnd 11483 |
. . . . . . . . . . . . . . 15
⊢ (𝑖 ∈ (1..^𝑁) → 𝑁 ∈ ℂ) |
58 | | ax-1cn 9994 |
. . . . . . . . . . . . . . 15
⊢ 1 ∈
ℂ |
59 | | npcan 10290 |
. . . . . . . . . . . . . . 15
⊢ ((𝑁 ∈ ℂ ∧ 1 ∈
ℂ) → ((𝑁 −
1) + 1) = 𝑁) |
60 | 57, 58, 59 | sylancl 694 |
. . . . . . . . . . . . . 14
⊢ (𝑖 ∈ (1..^𝑁) → ((𝑁 − 1) + 1) = 𝑁) |
61 | 60 | fveq2d 6195 |
. . . . . . . . . . . . 13
⊢ (𝑖 ∈ (1..^𝑁) →
(ℤ≥‘((𝑁 − 1) + 1)) =
(ℤ≥‘𝑁)) |
62 | 56, 61 | eleqtrrd 2704 |
. . . . . . . . . . . 12
⊢ (𝑖 ∈ (1..^𝑁) → 𝑁 ∈
(ℤ≥‘((𝑁 − 1) + 1))) |
63 | | peano2uzr 11743 |
. . . . . . . . . . . 12
⊢ (((𝑁 − 1) ∈ ℤ ∧
𝑁 ∈
(ℤ≥‘((𝑁 − 1) + 1))) → 𝑁 ∈ (ℤ≥‘(𝑁 − 1))) |
64 | 54, 62, 63 | syl2anc 693 |
. . . . . . . . . . 11
⊢ (𝑖 ∈ (1..^𝑁) → 𝑁 ∈ (ℤ≥‘(𝑁 − 1))) |
65 | | fzoss2 12496 |
. . . . . . . . . . 11
⊢ (𝑁 ∈
(ℤ≥‘(𝑁 − 1)) → (0..^(𝑁 − 1)) ⊆ (0..^𝑁)) |
66 | 64, 65 | syl 17 |
. . . . . . . . . 10
⊢ (𝑖 ∈ (1..^𝑁) → (0..^(𝑁 − 1)) ⊆ (0..^𝑁)) |
67 | | elfzoelz 12470 |
. . . . . . . . . . . 12
⊢ (𝑖 ∈ (1..^𝑁) → 𝑖 ∈ ℤ) |
68 | | elfzom1b 12567 |
. . . . . . . . . . . 12
⊢ ((𝑖 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑖 ∈ (1..^𝑁) ↔ (𝑖 − 1) ∈ (0..^(𝑁 − 1)))) |
69 | 67, 52, 68 | syl2anc 693 |
. . . . . . . . . . 11
⊢ (𝑖 ∈ (1..^𝑁) → (𝑖 ∈ (1..^𝑁) ↔ (𝑖 − 1) ∈ (0..^(𝑁 − 1)))) |
70 | 69 | ibi 256 |
. . . . . . . . . 10
⊢ (𝑖 ∈ (1..^𝑁) → (𝑖 − 1) ∈ (0..^(𝑁 − 1))) |
71 | 66, 70 | sseldd 3604 |
. . . . . . . . 9
⊢ (𝑖 ∈ (1..^𝑁) → (𝑖 − 1) ∈ (0..^𝑁)) |
72 | | fvres 6207 |
. . . . . . . . 9
⊢ ((𝑖 − 1) ∈ (0..^𝑁) → ((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1)) = (𝐹‘(𝑖 − 1))) |
73 | 71, 72 | syl 17 |
. . . . . . . 8
⊢ (𝑖 ∈ (1..^𝑁) → ((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1)) = (𝐹‘(𝑖 − 1))) |
74 | 73 | fveq2d 6195 |
. . . . . . 7
⊢ (𝑖 ∈ (1..^𝑁) → (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1))) = (𝑇‘(𝐹‘(𝑖 − 1)))) |
75 | 74 | rneqd 5353 |
. . . . . 6
⊢ (𝑖 ∈ (1..^𝑁) → ran (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1))) = ran (𝑇‘(𝐹‘(𝑖 − 1)))) |
76 | 51, 75 | eleq12d 2695 |
. . . . 5
⊢ (𝑖 ∈ (1..^𝑁) → (((𝐹 ↾ (0..^𝑁))‘𝑖) ∈ ran (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1))) ↔ (𝐹‘𝑖) ∈ ran (𝑇‘(𝐹‘(𝑖 − 1))))) |
77 | 76 | ralbiia 2979 |
. . . 4
⊢
(∀𝑖 ∈
(1..^𝑁)((𝐹 ↾ (0..^𝑁))‘𝑖) ∈ ran (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1))) ↔ ∀𝑖 ∈ (1..^𝑁)(𝐹‘𝑖) ∈ ran (𝑇‘(𝐹‘(𝑖 − 1)))) |
78 | 47, 77 | sylibr 224 |
. . 3
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → ∀𝑖 ∈ (1..^𝑁)((𝐹 ↾ (0..^𝑁))‘𝑖) ∈ ran (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1)))) |
79 | 17 | fveq2d 6195 |
. . . . . 6
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → (#‘(𝐹 substr 〈0, 𝑁〉)) = (#‘(𝐹 ↾ (0..^𝑁)))) |
80 | 79, 22 | eqtr3d 2658 |
. . . . 5
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → (#‘(𝐹 ↾ (0..^𝑁))) = 𝑁) |
81 | 80 | oveq2d 6666 |
. . . 4
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → (1..^(#‘(𝐹 ↾ (0..^𝑁)))) = (1..^𝑁)) |
82 | 81 | raleqdv 3144 |
. . 3
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → (∀𝑖 ∈ (1..^(#‘(𝐹 ↾ (0..^𝑁))))((𝐹 ↾ (0..^𝑁))‘𝑖) ∈ ran (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1))) ↔ ∀𝑖 ∈ (1..^𝑁)((𝐹 ↾ (0..^𝑁))‘𝑖) ∈ ran (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1))))) |
83 | 78, 82 | mpbird 247 |
. 2
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → ∀𝑖 ∈ (1..^(#‘(𝐹 ↾ (0..^𝑁))))((𝐹 ↾ (0..^𝑁))‘𝑖) ∈ ran (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1)))) |
84 | 1, 2, 3, 4, 5, 6 | efgsdm 18143 |
. 2
⊢ ((𝐹 ↾ (0..^𝑁)) ∈ dom 𝑆 ↔ ((𝐹 ↾ (0..^𝑁)) ∈ (Word 𝑊 ∖ {∅}) ∧ ((𝐹 ↾ (0..^𝑁))‘0) ∈ 𝐷 ∧ ∀𝑖 ∈ (1..^(#‘(𝐹 ↾ (0..^𝑁))))((𝐹 ↾ (0..^𝑁))‘𝑖) ∈ ran (𝑇‘((𝐹 ↾ (0..^𝑁))‘(𝑖 − 1))))) |
85 | 32, 39, 83, 84 | syl3anbrc 1246 |
1
⊢ ((𝐹 ∈ dom 𝑆 ∧ 𝑁 ∈ (1...(#‘𝐹))) → (𝐹 ↾ (0..^𝑁)) ∈ dom 𝑆) |