Metamath Proof Explorer


Theorem efgcpbl2

Description: Two extension sequences have related endpoints iff they have the same base. (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 ) ) )
Assertion efgcpbl2 ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ( 𝐴 ++ 𝐵 ) ∼ ( 𝑋 ++ 𝑌 ) )

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 1 2 efger ⊢ ∼ Er 𝑊
8 7 a1i ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ∼ Er 𝑊 )
9 simpl ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → 𝐴 ∼ 𝑋 )
10 8 9 ercl ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → 𝐴 ∈ 𝑊 )
11 wrd0 ⊢ ∅ ∈ Word ( 𝐼 × 2o )
12 1 efgrcl ⊢ ( 𝐴 ∈ 𝑊 → ( 𝐼 ∈ V ∧ 𝑊 = Word ( 𝐼 × 2o ) ) )
13 10 12 syl ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ( 𝐼 ∈ V ∧ 𝑊 = Word ( 𝐼 × 2o ) ) )
14 13 simprd ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → 𝑊 = Word ( 𝐼 × 2o ) )
15 11 14 eleqtrrid ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ∅ ∈ 𝑊 )
16 simpr ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → 𝐵 ∼ 𝑌 )
17 1 2 3 4 5 6 efgcpbl ⊢ ( ( 𝐴 ∈ 𝑊 ∧ ∅ ∈ 𝑊 ∧ 𝐵 ∼ 𝑌 ) → ( ( 𝐴 ++ 𝐵 ) ++ ∅ ) ∼ ( ( 𝐴 ++ 𝑌 ) ++ ∅ ) )
18 10 15 16 17 syl3anc ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ( ( 𝐴 ++ 𝐵 ) ++ ∅ ) ∼ ( ( 𝐴 ++ 𝑌 ) ++ ∅ ) )
19 10 14 eleqtrd ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → 𝐴 ∈ Word ( 𝐼 × 2o ) )
20 8 16 ercl ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → 𝐵 ∈ 𝑊 )
21 20 14 eleqtrd ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → 𝐵 ∈ Word ( 𝐼 × 2o ) )
22 ccatcl ⊢ ( ( 𝐴 ∈ Word ( 𝐼 × 2o ) ∧ 𝐵 ∈ Word ( 𝐼 × 2o ) ) → ( 𝐴 ++ 𝐵 ) ∈ Word ( 𝐼 × 2o ) )
23 19 21 22 syl2anc ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ( 𝐴 ++ 𝐵 ) ∈ Word ( 𝐼 × 2o ) )
24 ccatrid ⊢ ( ( 𝐴 ++ 𝐵 ) ∈ Word ( 𝐼 × 2o ) → ( ( 𝐴 ++ 𝐵 ) ++ ∅ ) = ( 𝐴 ++ 𝐵 ) )
25 23 24 syl ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ( ( 𝐴 ++ 𝐵 ) ++ ∅ ) = ( 𝐴 ++ 𝐵 ) )
26 8 16 ercl2 ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → 𝑌 ∈ 𝑊 )
27 26 14 eleqtrd ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → 𝑌 ∈ Word ( 𝐼 × 2o ) )
28 ccatcl ⊢ ( ( 𝐴 ∈ Word ( 𝐼 × 2o ) ∧ 𝑌 ∈ Word ( 𝐼 × 2o ) ) → ( 𝐴 ++ 𝑌 ) ∈ Word ( 𝐼 × 2o ) )
29 19 27 28 syl2anc ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ( 𝐴 ++ 𝑌 ) ∈ Word ( 𝐼 × 2o ) )
30 ccatrid ⊢ ( ( 𝐴 ++ 𝑌 ) ∈ Word ( 𝐼 × 2o ) → ( ( 𝐴 ++ 𝑌 ) ++ ∅ ) = ( 𝐴 ++ 𝑌 ) )
31 29 30 syl ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ( ( 𝐴 ++ 𝑌 ) ++ ∅ ) = ( 𝐴 ++ 𝑌 ) )
32 18 25 31 3brtr3d ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ( 𝐴 ++ 𝐵 ) ∼ ( 𝐴 ++ 𝑌 ) )
33 1 2 3 4 5 6 efgcpbl ⊢ ( ( ∅ ∈ 𝑊 ∧ 𝑌 ∈ 𝑊 ∧ 𝐴 ∼ 𝑋 ) → ( ( ∅ ++ 𝐴 ) ++ 𝑌 ) ∼ ( ( ∅ ++ 𝑋 ) ++ 𝑌 ) )
34 15 26 9 33 syl3anc ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ( ( ∅ ++ 𝐴 ) ++ 𝑌 ) ∼ ( ( ∅ ++ 𝑋 ) ++ 𝑌 ) )
35 ccatlid ⊢ ( 𝐴 ∈ Word ( 𝐼 × 2o ) → ( ∅ ++ 𝐴 ) = 𝐴 )
36 19 35 syl ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ( ∅ ++ 𝐴 ) = 𝐴 )
37 36 oveq1d ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ( ( ∅ ++ 𝐴 ) ++ 𝑌 ) = ( 𝐴 ++ 𝑌 ) )
38 8 9 ercl2 ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → 𝑋 ∈ 𝑊 )
39 38 14 eleqtrd ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → 𝑋 ∈ Word ( 𝐼 × 2o ) )
40 ccatlid ⊢ ( 𝑋 ∈ Word ( 𝐼 × 2o ) → ( ∅ ++ 𝑋 ) = 𝑋 )
41 39 40 syl ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ( ∅ ++ 𝑋 ) = 𝑋 )
42 41 oveq1d ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ( ( ∅ ++ 𝑋 ) ++ 𝑌 ) = ( 𝑋 ++ 𝑌 ) )
43 34 37 42 3brtr3d ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ( 𝐴 ++ 𝑌 ) ∼ ( 𝑋 ++ 𝑌 ) )
44 8 32 43 ertrd ⊢ ( ( 𝐴 ∼ 𝑋 ∧ 𝐵 ∼ 𝑌 ) → ( 𝐴 ++ 𝐵 ) ∼ ( 𝑋 ++ 𝑌 ) )