Metamath Proof Explorer


Theorem efgcpbllema

Description: Lemma for efgrelex . Define an auxiliary equivalence relation L such that A L B if there are sequences from A to B passing through the same reduced word. (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 ) ) )
efgcpbllem.1 𝐿 = { ⟨ 𝑖 , 𝑗 ⟩ ∣ ( { 𝑖 , 𝑗 } ⊆ 𝑊 ∧ ( ( 𝐴 ++ 𝑖 ) ++ 𝐵 ) ( ( 𝐴 ++ 𝑗 ) ++ 𝐵 ) ) }
Assertion efgcpbllema ( 𝑋 𝐿 𝑌 ↔ ( 𝑋𝑊𝑌𝑊 ∧ ( ( 𝐴 ++ 𝑋 ) ++ 𝐵 ) ( ( 𝐴 ++ 𝑌 ) ++ 𝐵 ) ) )

Proof

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 efgcpbllem.1 𝐿 = { ⟨ 𝑖 , 𝑗 ⟩ ∣ ( { 𝑖 , 𝑗 } ⊆ 𝑊 ∧ ( ( 𝐴 ++ 𝑖 ) ++ 𝐵 ) ( ( 𝐴 ++ 𝑗 ) ++ 𝐵 ) ) }
8 oveq2 ( 𝑖 = 𝑋 → ( 𝐴 ++ 𝑖 ) = ( 𝐴 ++ 𝑋 ) )
9 8 oveq1d ( 𝑖 = 𝑋 → ( ( 𝐴 ++ 𝑖 ) ++ 𝐵 ) = ( ( 𝐴 ++ 𝑋 ) ++ 𝐵 ) )
10 oveq2 ( 𝑗 = 𝑌 → ( 𝐴 ++ 𝑗 ) = ( 𝐴 ++ 𝑌 ) )
11 10 oveq1d ( 𝑗 = 𝑌 → ( ( 𝐴 ++ 𝑗 ) ++ 𝐵 ) = ( ( 𝐴 ++ 𝑌 ) ++ 𝐵 ) )
12 9 11 breqan12d ( ( 𝑖 = 𝑋𝑗 = 𝑌 ) → ( ( ( 𝐴 ++ 𝑖 ) ++ 𝐵 ) ( ( 𝐴 ++ 𝑗 ) ++ 𝐵 ) ↔ ( ( 𝐴 ++ 𝑋 ) ++ 𝐵 ) ( ( 𝐴 ++ 𝑌 ) ++ 𝐵 ) ) )
13 vex 𝑖 ∈ V
14 vex 𝑗 ∈ V
15 13 14 prss ( ( 𝑖𝑊𝑗𝑊 ) ↔ { 𝑖 , 𝑗 } ⊆ 𝑊 )
16 15 anbi1i ( ( ( 𝑖𝑊𝑗𝑊 ) ∧ ( ( 𝐴 ++ 𝑖 ) ++ 𝐵 ) ( ( 𝐴 ++ 𝑗 ) ++ 𝐵 ) ) ↔ ( { 𝑖 , 𝑗 } ⊆ 𝑊 ∧ ( ( 𝐴 ++ 𝑖 ) ++ 𝐵 ) ( ( 𝐴 ++ 𝑗 ) ++ 𝐵 ) ) )
17 16 opabbii { ⟨ 𝑖 , 𝑗 ⟩ ∣ ( ( 𝑖𝑊𝑗𝑊 ) ∧ ( ( 𝐴 ++ 𝑖 ) ++ 𝐵 ) ( ( 𝐴 ++ 𝑗 ) ++ 𝐵 ) ) } = { ⟨ 𝑖 , 𝑗 ⟩ ∣ ( { 𝑖 , 𝑗 } ⊆ 𝑊 ∧ ( ( 𝐴 ++ 𝑖 ) ++ 𝐵 ) ( ( 𝐴 ++ 𝑗 ) ++ 𝐵 ) ) }
18 7 17 eqtr4i 𝐿 = { ⟨ 𝑖 , 𝑗 ⟩ ∣ ( ( 𝑖𝑊𝑗𝑊 ) ∧ ( ( 𝐴 ++ 𝑖 ) ++ 𝐵 ) ( ( 𝐴 ++ 𝑗 ) ++ 𝐵 ) ) }
19 12 18 brab2a ( 𝑋 𝐿 𝑌 ↔ ( ( 𝑋𝑊𝑌𝑊 ) ∧ ( ( 𝐴 ++ 𝑋 ) ++ 𝐵 ) ( ( 𝐴 ++ 𝑌 ) ++ 𝐵 ) ) )
20 df-3an ( ( 𝑋𝑊𝑌𝑊 ∧ ( ( 𝐴 ++ 𝑋 ) ++ 𝐵 ) ( ( 𝐴 ++ 𝑌 ) ++ 𝐵 ) ) ↔ ( ( 𝑋𝑊𝑌𝑊 ) ∧ ( ( 𝐴 ++ 𝑋 ) ++ 𝐵 ) ( ( 𝐴 ++ 𝑌 ) ++ 𝐵 ) ) )
21 19 20 bitr4i ( 𝑋 𝐿 𝑌 ↔ ( 𝑋𝑊𝑌𝑊 ∧ ( ( 𝐴 ++ 𝑋 ) ++ 𝐵 ) ( ( 𝐴 ++ 𝑌 ) ++ 𝐵 ) ) )