This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Lemma for efgredleme . (Contributed by Mario Carneiro, 4-Jun-2016)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | efgval.w | ⊢ 𝑊 = ( I ‘ Word ( 𝐼 × 2o ) ) | |
| efgval.r | ⊢ ∼ = ( ~FG ‘ 𝐼 ) | ||
| efgval2.m | ⊢ 𝑀 = ( 𝑦 ∈ 𝐼 , 𝑧 ∈ 2o ↦ 〈 𝑦 , ( 1o ∖ 𝑧 ) 〉 ) | ||
| efgval2.t | ⊢ 𝑇 = ( 𝑣 ∈ 𝑊 ↦ ( 𝑛 ∈ ( 0 ... ( ♯ ‘ 𝑣 ) ) , 𝑤 ∈ ( 𝐼 × 2o ) ↦ ( 𝑣 splice 〈 𝑛 , 𝑛 , 〈“ 𝑤 ( 𝑀 ‘ 𝑤 ) ”〉 〉 ) ) ) | ||
| efgred.d | ⊢ 𝐷 = ( 𝑊 ∖ ∪ 𝑥 ∈ 𝑊 ran ( 𝑇 ‘ 𝑥 ) ) | ||
| efgred.s | ⊢ 𝑆 = ( 𝑚 ∈ { 𝑡 ∈ ( Word 𝑊 ∖ { ∅ } ) ∣ ( ( 𝑡 ‘ 0 ) ∈ 𝐷 ∧ ∀ 𝑘 ∈ ( 1 ..^ ( ♯ ‘ 𝑡 ) ) ( 𝑡 ‘ 𝑘 ) ∈ ran ( 𝑇 ‘ ( 𝑡 ‘ ( 𝑘 − 1 ) ) ) ) } ↦ ( 𝑚 ‘ ( ( ♯ ‘ 𝑚 ) − 1 ) ) ) | ||
| efgredlem.1 | ⊢ ( 𝜑 → ∀ 𝑎 ∈ dom 𝑆 ∀ 𝑏 ∈ dom 𝑆 ( ( ♯ ‘ ( 𝑆 ‘ 𝑎 ) ) < ( ♯ ‘ ( 𝑆 ‘ 𝐴 ) ) → ( ( 𝑆 ‘ 𝑎 ) = ( 𝑆 ‘ 𝑏 ) → ( 𝑎 ‘ 0 ) = ( 𝑏 ‘ 0 ) ) ) ) | ||
| efgredlem.2 | ⊢ ( 𝜑 → 𝐴 ∈ dom 𝑆 ) | ||
| efgredlem.3 | ⊢ ( 𝜑 → 𝐵 ∈ dom 𝑆 ) | ||
| efgredlem.4 | ⊢ ( 𝜑 → ( 𝑆 ‘ 𝐴 ) = ( 𝑆 ‘ 𝐵 ) ) | ||
| efgredlem.5 | ⊢ ( 𝜑 → ¬ ( 𝐴 ‘ 0 ) = ( 𝐵 ‘ 0 ) ) | ||
| efgredlemb.k | ⊢ 𝐾 = ( ( ( ♯ ‘ 𝐴 ) − 1 ) − 1 ) | ||
| efgredlemb.l | ⊢ 𝐿 = ( ( ( ♯ ‘ 𝐵 ) − 1 ) − 1 ) | ||
| Assertion | efgredlemf | ⊢ ( 𝜑 → ( ( 𝐴 ‘ 𝐾 ) ∈ 𝑊 ∧ ( 𝐵 ‘ 𝐿 ) ∈ 𝑊 ) ) |
| 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 | ffvelcdmd | ⊢ ( 𝜑 → ( 𝐴 ‘ 𝐾 ) ∈ 𝑊 ) |
| 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 | ffvelcdmd | ⊢ ( 𝜑 → ( 𝐵 ‘ 𝐿 ) ∈ 𝑊 ) |
| 52 | 33 51 | jca | ⊢ ( 𝜑 → ( ( 𝐴 ‘ 𝐾 ) ∈ 𝑊 ∧ ( 𝐵 ‘ 𝐿 ) ∈ 𝑊 ) ) |