This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: If two words A , B are related under the free group equivalence, then there exist two extension sequences a , b such that a ends at A , b ends at B , and a and B have the same starting point. (Contributed by Mario Carneiro, 1-Oct-2015)
| 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 ) ) ) | ||
| efgrelexlem.1 | ⊢ 𝐿 = { 〈 𝑖 , 𝑗 〉 ∣ ∃ 𝑐 ∈ ( ◡ 𝑆 “ { 𝑖 } ) ∃ 𝑑 ∈ ( ◡ 𝑆 “ { 𝑗 } ) ( 𝑐 ‘ 0 ) = ( 𝑑 ‘ 0 ) } | ||
| Assertion | efgrelexlema | ⊢ ( 𝐴 𝐿 𝐵 ↔ ∃ 𝑎 ∈ ( ◡ 𝑆 “ { 𝐴 } ) ∃ 𝑏 ∈ ( ◡ 𝑆 “ { 𝐵 } ) ( 𝑎 ‘ 0 ) = ( 𝑏 ‘ 0 ) ) |
| 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 | efgrelexlem.1 | ⊢ 𝐿 = { 〈 𝑖 , 𝑗 〉 ∣ ∃ 𝑐 ∈ ( ◡ 𝑆 “ { 𝑖 } ) ∃ 𝑑 ∈ ( ◡ 𝑆 “ { 𝑗 } ) ( 𝑐 ‘ 0 ) = ( 𝑑 ‘ 0 ) } | |
| 8 | 7 | bropaex12 | ⊢ ( 𝐴 𝐿 𝐵 → ( 𝐴 ∈ V ∧ 𝐵 ∈ V ) ) |
| 9 | n0i | ⊢ ( 𝑎 ∈ ( ◡ 𝑆 “ { 𝐴 } ) → ¬ ( ◡ 𝑆 “ { 𝐴 } ) = ∅ ) | |
| 10 | snprc | ⊢ ( ¬ 𝐴 ∈ V ↔ { 𝐴 } = ∅ ) | |
| 11 | imaeq2 | ⊢ ( { 𝐴 } = ∅ → ( ◡ 𝑆 “ { 𝐴 } ) = ( ◡ 𝑆 “ ∅ ) ) | |
| 12 | 10 11 | sylbi | ⊢ ( ¬ 𝐴 ∈ V → ( ◡ 𝑆 “ { 𝐴 } ) = ( ◡ 𝑆 “ ∅ ) ) |
| 13 | ima0 | ⊢ ( ◡ 𝑆 “ ∅ ) = ∅ | |
| 14 | 12 13 | eqtrdi | ⊢ ( ¬ 𝐴 ∈ V → ( ◡ 𝑆 “ { 𝐴 } ) = ∅ ) |
| 15 | 9 14 | nsyl2 | ⊢ ( 𝑎 ∈ ( ◡ 𝑆 “ { 𝐴 } ) → 𝐴 ∈ V ) |
| 16 | n0i | ⊢ ( 𝑏 ∈ ( ◡ 𝑆 “ { 𝐵 } ) → ¬ ( ◡ 𝑆 “ { 𝐵 } ) = ∅ ) | |
| 17 | snprc | ⊢ ( ¬ 𝐵 ∈ V ↔ { 𝐵 } = ∅ ) | |
| 18 | imaeq2 | ⊢ ( { 𝐵 } = ∅ → ( ◡ 𝑆 “ { 𝐵 } ) = ( ◡ 𝑆 “ ∅ ) ) | |
| 19 | 17 18 | sylbi | ⊢ ( ¬ 𝐵 ∈ V → ( ◡ 𝑆 “ { 𝐵 } ) = ( ◡ 𝑆 “ ∅ ) ) |
| 20 | 19 13 | eqtrdi | ⊢ ( ¬ 𝐵 ∈ V → ( ◡ 𝑆 “ { 𝐵 } ) = ∅ ) |
| 21 | 16 20 | nsyl2 | ⊢ ( 𝑏 ∈ ( ◡ 𝑆 “ { 𝐵 } ) → 𝐵 ∈ V ) |
| 22 | 15 21 | anim12i | ⊢ ( ( 𝑎 ∈ ( ◡ 𝑆 “ { 𝐴 } ) ∧ 𝑏 ∈ ( ◡ 𝑆 “ { 𝐵 } ) ) → ( 𝐴 ∈ V ∧ 𝐵 ∈ V ) ) |
| 23 | 22 | a1d | ⊢ ( ( 𝑎 ∈ ( ◡ 𝑆 “ { 𝐴 } ) ∧ 𝑏 ∈ ( ◡ 𝑆 “ { 𝐵 } ) ) → ( ( 𝑎 ‘ 0 ) = ( 𝑏 ‘ 0 ) → ( 𝐴 ∈ V ∧ 𝐵 ∈ V ) ) ) |
| 24 | 23 | rexlimivv | ⊢ ( ∃ 𝑎 ∈ ( ◡ 𝑆 “ { 𝐴 } ) ∃ 𝑏 ∈ ( ◡ 𝑆 “ { 𝐵 } ) ( 𝑎 ‘ 0 ) = ( 𝑏 ‘ 0 ) → ( 𝐴 ∈ V ∧ 𝐵 ∈ V ) ) |
| 25 | fveq1 | ⊢ ( 𝑐 = 𝑎 → ( 𝑐 ‘ 0 ) = ( 𝑎 ‘ 0 ) ) | |
| 26 | 25 | eqeq1d | ⊢ ( 𝑐 = 𝑎 → ( ( 𝑐 ‘ 0 ) = ( 𝑑 ‘ 0 ) ↔ ( 𝑎 ‘ 0 ) = ( 𝑑 ‘ 0 ) ) ) |
| 27 | fveq1 | ⊢ ( 𝑑 = 𝑏 → ( 𝑑 ‘ 0 ) = ( 𝑏 ‘ 0 ) ) | |
| 28 | 27 | eqeq2d | ⊢ ( 𝑑 = 𝑏 → ( ( 𝑎 ‘ 0 ) = ( 𝑑 ‘ 0 ) ↔ ( 𝑎 ‘ 0 ) = ( 𝑏 ‘ 0 ) ) ) |
| 29 | 26 28 | cbvrex2vw | ⊢ ( ∃ 𝑐 ∈ ( ◡ 𝑆 “ { 𝑖 } ) ∃ 𝑑 ∈ ( ◡ 𝑆 “ { 𝑗 } ) ( 𝑐 ‘ 0 ) = ( 𝑑 ‘ 0 ) ↔ ∃ 𝑎 ∈ ( ◡ 𝑆 “ { 𝑖 } ) ∃ 𝑏 ∈ ( ◡ 𝑆 “ { 𝑗 } ) ( 𝑎 ‘ 0 ) = ( 𝑏 ‘ 0 ) ) |
| 30 | sneq | ⊢ ( 𝑖 = 𝐴 → { 𝑖 } = { 𝐴 } ) | |
| 31 | 30 | imaeq2d | ⊢ ( 𝑖 = 𝐴 → ( ◡ 𝑆 “ { 𝑖 } ) = ( ◡ 𝑆 “ { 𝐴 } ) ) |
| 32 | 31 | rexeqdv | ⊢ ( 𝑖 = 𝐴 → ( ∃ 𝑎 ∈ ( ◡ 𝑆 “ { 𝑖 } ) ∃ 𝑏 ∈ ( ◡ 𝑆 “ { 𝑗 } ) ( 𝑎 ‘ 0 ) = ( 𝑏 ‘ 0 ) ↔ ∃ 𝑎 ∈ ( ◡ 𝑆 “ { 𝐴 } ) ∃ 𝑏 ∈ ( ◡ 𝑆 “ { 𝑗 } ) ( 𝑎 ‘ 0 ) = ( 𝑏 ‘ 0 ) ) ) |
| 33 | 29 32 | bitrid | ⊢ ( 𝑖 = 𝐴 → ( ∃ 𝑐 ∈ ( ◡ 𝑆 “ { 𝑖 } ) ∃ 𝑑 ∈ ( ◡ 𝑆 “ { 𝑗 } ) ( 𝑐 ‘ 0 ) = ( 𝑑 ‘ 0 ) ↔ ∃ 𝑎 ∈ ( ◡ 𝑆 “ { 𝐴 } ) ∃ 𝑏 ∈ ( ◡ 𝑆 “ { 𝑗 } ) ( 𝑎 ‘ 0 ) = ( 𝑏 ‘ 0 ) ) ) |
| 34 | sneq | ⊢ ( 𝑗 = 𝐵 → { 𝑗 } = { 𝐵 } ) | |
| 35 | 34 | imaeq2d | ⊢ ( 𝑗 = 𝐵 → ( ◡ 𝑆 “ { 𝑗 } ) = ( ◡ 𝑆 “ { 𝐵 } ) ) |
| 36 | 35 | rexeqdv | ⊢ ( 𝑗 = 𝐵 → ( ∃ 𝑏 ∈ ( ◡ 𝑆 “ { 𝑗 } ) ( 𝑎 ‘ 0 ) = ( 𝑏 ‘ 0 ) ↔ ∃ 𝑏 ∈ ( ◡ 𝑆 “ { 𝐵 } ) ( 𝑎 ‘ 0 ) = ( 𝑏 ‘ 0 ) ) ) |
| 37 | 36 | rexbidv | ⊢ ( 𝑗 = 𝐵 → ( ∃ 𝑎 ∈ ( ◡ 𝑆 “ { 𝐴 } ) ∃ 𝑏 ∈ ( ◡ 𝑆 “ { 𝑗 } ) ( 𝑎 ‘ 0 ) = ( 𝑏 ‘ 0 ) ↔ ∃ 𝑎 ∈ ( ◡ 𝑆 “ { 𝐴 } ) ∃ 𝑏 ∈ ( ◡ 𝑆 “ { 𝐵 } ) ( 𝑎 ‘ 0 ) = ( 𝑏 ‘ 0 ) ) ) |
| 38 | 33 37 7 | brabg | ⊢ ( ( 𝐴 ∈ V ∧ 𝐵 ∈ V ) → ( 𝐴 𝐿 𝐵 ↔ ∃ 𝑎 ∈ ( ◡ 𝑆 “ { 𝐴 } ) ∃ 𝑏 ∈ ( ◡ 𝑆 “ { 𝐵 } ) ( 𝑎 ‘ 0 ) = ( 𝑏 ‘ 0 ) ) ) |
| 39 | 8 24 38 | pm5.21nii | ⊢ ( 𝐴 𝐿 𝐵 ↔ ∃ 𝑎 ∈ ( ◡ 𝑆 “ { 𝐴 } ) ∃ 𝑏 ∈ ( ◡ 𝑆 “ { 𝐵 } ) ( 𝑎 ‘ 0 ) = ( 𝑏 ‘ 0 ) ) |