Step |
Hyp |
Ref |
Expression |
1 |
|
efgval.w |
⊢ 𝑊 = ( I ‘ Word ( 𝐼 × 2o ) ) |
2 |
|
efgval.r |
⊢ ∼ = ( ~FG ‘ 𝐼 ) |
3 |
|
efgval2.m |
⊢ 𝑀 = ( 𝑦 ∈ 𝐼 , 𝑧 ∈ 2o ↦ 〈 𝑦 , ( 1o ∖ 𝑧 ) 〉 ) |
4 |
|
efgval2.t |
⊢ 𝑇 = ( 𝑣 ∈ 𝑊 ↦ ( 𝑛 ∈ ( 0 ... ( ♯ ‘ 𝑣 ) ) , 𝑤 ∈ ( 𝐼 × 2o ) ↦ ( 𝑣 splice 〈 𝑛 , 𝑛 , 〈“ 𝑤 ( 𝑀 ‘ 𝑤 ) ”〉 〉 ) ) ) |
5 |
|
efgred.d |
⊢ 𝐷 = ( 𝑊 ∖ ∪ 𝑥 ∈ 𝑊 ran ( 𝑇 ‘ 𝑥 ) ) |
6 |
|
efgred.s |
⊢ 𝑆 = ( 𝑚 ∈ { 𝑡 ∈ ( Word 𝑊 ∖ { ∅ } ) ∣ ( ( 𝑡 ‘ 0 ) ∈ 𝐷 ∧ ∀ 𝑘 ∈ ( 1 ..^ ( ♯ ‘ 𝑡 ) ) ( 𝑡 ‘ 𝑘 ) ∈ ran ( 𝑇 ‘ ( 𝑡 ‘ ( 𝑘 − 1 ) ) ) ) } ↦ ( 𝑚 ‘ ( ( ♯ ‘ 𝑚 ) − 1 ) ) ) |
7 |
|
efgredlem.1 |
⊢ ( 𝜑 → ∀ 𝑎 ∈ dom 𝑆 ∀ 𝑏 ∈ dom 𝑆 ( ( ♯ ‘ ( 𝑆 ‘ 𝑎 ) ) < ( ♯ ‘ ( 𝑆 ‘ 𝐴 ) ) → ( ( 𝑆 ‘ 𝑎 ) = ( 𝑆 ‘ 𝑏 ) → ( 𝑎 ‘ 0 ) = ( 𝑏 ‘ 0 ) ) ) ) |
8 |
|
efgredlem.2 |
⊢ ( 𝜑 → 𝐴 ∈ dom 𝑆 ) |
9 |
|
efgredlem.3 |
⊢ ( 𝜑 → 𝐵 ∈ dom 𝑆 ) |
10 |
|
efgredlem.4 |
⊢ ( 𝜑 → ( 𝑆 ‘ 𝐴 ) = ( 𝑆 ‘ 𝐵 ) ) |
11 |
|
efgredlem.5 |
⊢ ( 𝜑 → ¬ ( 𝐴 ‘ 0 ) = ( 𝐵 ‘ 0 ) ) |
12 |
|
efgredlemb.k |
⊢ 𝐾 = ( ( ( ♯ ‘ 𝐴 ) − 1 ) − 1 ) |
13 |
|
efgredlemb.l |
⊢ 𝐿 = ( ( ( ♯ ‘ 𝐵 ) − 1 ) − 1 ) |
14 |
1 2 3 4 5 6
|
efgsdm |
⊢ ( 𝐴 ∈ dom 𝑆 ↔ ( 𝐴 ∈ ( Word 𝑊 ∖ { ∅ } ) ∧ ( 𝐴 ‘ 0 ) ∈ 𝐷 ∧ ∀ 𝑖 ∈ ( 1 ..^ ( ♯ ‘ 𝐴 ) ) ( 𝐴 ‘ 𝑖 ) ∈ ran ( 𝑇 ‘ ( 𝐴 ‘ ( 𝑖 − 1 ) ) ) ) ) |
15 |
14
|
simp1bi |
⊢ ( 𝐴 ∈ dom 𝑆 → 𝐴 ∈ ( Word 𝑊 ∖ { ∅ } ) ) |
16 |
8 15
|
syl |
⊢ ( 𝜑 → 𝐴 ∈ ( Word 𝑊 ∖ { ∅ } ) ) |
17 |
16
|
eldifad |
⊢ ( 𝜑 → 𝐴 ∈ Word 𝑊 ) |
18 |
|
wrdf |
⊢ ( 𝐴 ∈ Word 𝑊 → 𝐴 : ( 0 ..^ ( ♯ ‘ 𝐴 ) ) ⟶ 𝑊 ) |
19 |
17 18
|
syl |
⊢ ( 𝜑 → 𝐴 : ( 0 ..^ ( ♯ ‘ 𝐴 ) ) ⟶ 𝑊 ) |
20 |
|
fzossfz |
⊢ ( 0 ..^ ( ( ♯ ‘ 𝐴 ) − 1 ) ) ⊆ ( 0 ... ( ( ♯ ‘ 𝐴 ) − 1 ) ) |
21 |
|
lencl |
⊢ ( 𝐴 ∈ Word 𝑊 → ( ♯ ‘ 𝐴 ) ∈ ℕ0 ) |
22 |
17 21
|
syl |
⊢ ( 𝜑 → ( ♯ ‘ 𝐴 ) ∈ ℕ0 ) |
23 |
22
|
nn0zd |
⊢ ( 𝜑 → ( ♯ ‘ 𝐴 ) ∈ ℤ ) |
24 |
|
fzoval |
⊢ ( ( ♯ ‘ 𝐴 ) ∈ ℤ → ( 0 ..^ ( ♯ ‘ 𝐴 ) ) = ( 0 ... ( ( ♯ ‘ 𝐴 ) − 1 ) ) ) |
25 |
23 24
|
syl |
⊢ ( 𝜑 → ( 0 ..^ ( ♯ ‘ 𝐴 ) ) = ( 0 ... ( ( ♯ ‘ 𝐴 ) − 1 ) ) ) |
26 |
20 25
|
sseqtrrid |
⊢ ( 𝜑 → ( 0 ..^ ( ( ♯ ‘ 𝐴 ) − 1 ) ) ⊆ ( 0 ..^ ( ♯ ‘ 𝐴 ) ) ) |
27 |
1 2 3 4 5 6 7 8 9 10 11
|
efgredlema |
⊢ ( 𝜑 → ( ( ( ♯ ‘ 𝐴 ) − 1 ) ∈ ℕ ∧ ( ( ♯ ‘ 𝐵 ) − 1 ) ∈ ℕ ) ) |
28 |
27
|
simpld |
⊢ ( 𝜑 → ( ( ♯ ‘ 𝐴 ) − 1 ) ∈ ℕ ) |
29 |
|
fzo0end |
⊢ ( ( ( ♯ ‘ 𝐴 ) − 1 ) ∈ ℕ → ( ( ( ♯ ‘ 𝐴 ) − 1 ) − 1 ) ∈ ( 0 ..^ ( ( ♯ ‘ 𝐴 ) − 1 ) ) ) |
30 |
28 29
|
syl |
⊢ ( 𝜑 → ( ( ( ♯ ‘ 𝐴 ) − 1 ) − 1 ) ∈ ( 0 ..^ ( ( ♯ ‘ 𝐴 ) − 1 ) ) ) |
31 |
12 30
|
eqeltrid |
⊢ ( 𝜑 → 𝐾 ∈ ( 0 ..^ ( ( ♯ ‘ 𝐴 ) − 1 ) ) ) |
32 |
26 31
|
sseldd |
⊢ ( 𝜑 → 𝐾 ∈ ( 0 ..^ ( ♯ ‘ 𝐴 ) ) ) |
33 |
19 32
|
ffvelrnd |
⊢ ( 𝜑 → ( 𝐴 ‘ 𝐾 ) ∈ 𝑊 ) |
34 |
1 2 3 4 5 6
|
efgsdm |
⊢ ( 𝐵 ∈ dom 𝑆 ↔ ( 𝐵 ∈ ( Word 𝑊 ∖ { ∅ } ) ∧ ( 𝐵 ‘ 0 ) ∈ 𝐷 ∧ ∀ 𝑖 ∈ ( 1 ..^ ( ♯ ‘ 𝐵 ) ) ( 𝐵 ‘ 𝑖 ) ∈ ran ( 𝑇 ‘ ( 𝐵 ‘ ( 𝑖 − 1 ) ) ) ) ) |
35 |
34
|
simp1bi |
⊢ ( 𝐵 ∈ dom 𝑆 → 𝐵 ∈ ( Word 𝑊 ∖ { ∅ } ) ) |
36 |
9 35
|
syl |
⊢ ( 𝜑 → 𝐵 ∈ ( Word 𝑊 ∖ { ∅ } ) ) |
37 |
36
|
eldifad |
⊢ ( 𝜑 → 𝐵 ∈ Word 𝑊 ) |
38 |
|
wrdf |
⊢ ( 𝐵 ∈ Word 𝑊 → 𝐵 : ( 0 ..^ ( ♯ ‘ 𝐵 ) ) ⟶ 𝑊 ) |
39 |
37 38
|
syl |
⊢ ( 𝜑 → 𝐵 : ( 0 ..^ ( ♯ ‘ 𝐵 ) ) ⟶ 𝑊 ) |
40 |
|
fzossfz |
⊢ ( 0 ..^ ( ( ♯ ‘ 𝐵 ) − 1 ) ) ⊆ ( 0 ... ( ( ♯ ‘ 𝐵 ) − 1 ) ) |
41 |
|
lencl |
⊢ ( 𝐵 ∈ Word 𝑊 → ( ♯ ‘ 𝐵 ) ∈ ℕ0 ) |
42 |
37 41
|
syl |
⊢ ( 𝜑 → ( ♯ ‘ 𝐵 ) ∈ ℕ0 ) |
43 |
42
|
nn0zd |
⊢ ( 𝜑 → ( ♯ ‘ 𝐵 ) ∈ ℤ ) |
44 |
|
fzoval |
⊢ ( ( ♯ ‘ 𝐵 ) ∈ ℤ → ( 0 ..^ ( ♯ ‘ 𝐵 ) ) = ( 0 ... ( ( ♯ ‘ 𝐵 ) − 1 ) ) ) |
45 |
43 44
|
syl |
⊢ ( 𝜑 → ( 0 ..^ ( ♯ ‘ 𝐵 ) ) = ( 0 ... ( ( ♯ ‘ 𝐵 ) − 1 ) ) ) |
46 |
40 45
|
sseqtrrid |
⊢ ( 𝜑 → ( 0 ..^ ( ( ♯ ‘ 𝐵 ) − 1 ) ) ⊆ ( 0 ..^ ( ♯ ‘ 𝐵 ) ) ) |
47 |
|
fzo0end |
⊢ ( ( ( ♯ ‘ 𝐵 ) − 1 ) ∈ ℕ → ( ( ( ♯ ‘ 𝐵 ) − 1 ) − 1 ) ∈ ( 0 ..^ ( ( ♯ ‘ 𝐵 ) − 1 ) ) ) |
48 |
27 47
|
simpl2im |
⊢ ( 𝜑 → ( ( ( ♯ ‘ 𝐵 ) − 1 ) − 1 ) ∈ ( 0 ..^ ( ( ♯ ‘ 𝐵 ) − 1 ) ) ) |
49 |
13 48
|
eqeltrid |
⊢ ( 𝜑 → 𝐿 ∈ ( 0 ..^ ( ( ♯ ‘ 𝐵 ) − 1 ) ) ) |
50 |
46 49
|
sseldd |
⊢ ( 𝜑 → 𝐿 ∈ ( 0 ..^ ( ♯ ‘ 𝐵 ) ) ) |
51 |
39 50
|
ffvelrnd |
⊢ ( 𝜑 → ( 𝐵 ‘ 𝐿 ) ∈ 𝑊 ) |
52 |
33 51
|
jca |
⊢ ( 𝜑 → ( ( 𝐴 ‘ 𝐾 ) ∈ 𝑊 ∧ ( 𝐵 ‘ 𝐿 ) ∈ 𝑊 ) ) |