Metamath Proof Explorer


Theorem efgred2

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 efgred2 ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) → ( ( 𝑆 ‘ 𝐴 ) ∼ ( 𝑆 ‘ 𝐵 ) ↔ ( 𝐴 ‘ 0 ) = ( 𝐵 ‘ 0 ) ) )

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 3 4 5 6 efgsfo ⊢ 𝑆 : dom 𝑆 –onto→ 𝑊
8 fof ⊢ ( 𝑆 : dom 𝑆 –onto→ 𝑊 → 𝑆 : dom 𝑆 ⟶ 𝑊 )
9 7 8 ax-mp ⊢ 𝑆 : dom 𝑆 ⟶ 𝑊
10 9 ffvelcdmi ⊢ ( 𝐵 ∈ dom 𝑆 → ( 𝑆 ‘ 𝐵 ) ∈ 𝑊 )
11 10 ad2antlr ⊢ ( ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) ∧ ( 𝑆 ‘ 𝐴 ) ∼ ( 𝑆 ‘ 𝐵 ) ) → ( 𝑆 ‘ 𝐵 ) ∈ 𝑊 )
12 1 2 3 4 5 6 efgredeu ⊢ ( ( 𝑆 ‘ 𝐵 ) ∈ 𝑊 → ∃! 𝑑 ∈ 𝐷 𝑑 ∼ ( 𝑆 ‘ 𝐵 ) )
13 reurmo ⊢ ( ∃! 𝑑 ∈ 𝐷 𝑑 ∼ ( 𝑆 ‘ 𝐵 ) → ∃* 𝑑 ∈ 𝐷 𝑑 ∼ ( 𝑆 ‘ 𝐵 ) )
14 11 12 13 3syl ⊢ ( ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) ∧ ( 𝑆 ‘ 𝐴 ) ∼ ( 𝑆 ‘ 𝐵 ) ) → ∃* 𝑑 ∈ 𝐷 𝑑 ∼ ( 𝑆 ‘ 𝐵 ) )
15 1 2 3 4 5 6 efgsdm ⊢ ( 𝐴 ∈ dom 𝑆 ↔ ( 𝐴 ∈ ( Word 𝑊 ∖ { ∅ } ) ∧ ( 𝐴 ‘ 0 ) ∈ 𝐷 ∧ ∀ 𝑖 ∈ ( 1 ..^ ( ♯ ‘ 𝐴 ) ) ( 𝐴 ‘ 𝑖 ) ∈ ran ( 𝑇 ‘ ( 𝐴 ‘ ( 𝑖 − 1 ) ) ) ) )
16 15 simp2bi ⊢ ( 𝐴 ∈ dom 𝑆 → ( 𝐴 ‘ 0 ) ∈ 𝐷 )
17 16 ad2antrr ⊢ ( ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) ∧ ( 𝑆 ‘ 𝐴 ) ∼ ( 𝑆 ‘ 𝐵 ) ) → ( 𝐴 ‘ 0 ) ∈ 𝐷 )
18 1 2 efger ⊢ ∼ Er 𝑊
19 18 a1i ⊢ ( ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) ∧ ( 𝑆 ‘ 𝐴 ) ∼ ( 𝑆 ‘ 𝐵 ) ) → ∼ Er 𝑊 )
20 1 2 3 4 5 6 efgsrel ⊢ ( 𝐴 ∈ dom 𝑆 → ( 𝐴 ‘ 0 ) ∼ ( 𝑆 ‘ 𝐴 ) )
21 20 ad2antrr ⊢ ( ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) ∧ ( 𝑆 ‘ 𝐴 ) ∼ ( 𝑆 ‘ 𝐵 ) ) → ( 𝐴 ‘ 0 ) ∼ ( 𝑆 ‘ 𝐴 ) )
22 simpr ⊢ ( ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) ∧ ( 𝑆 ‘ 𝐴 ) ∼ ( 𝑆 ‘ 𝐵 ) ) → ( 𝑆 ‘ 𝐴 ) ∼ ( 𝑆 ‘ 𝐵 ) )
23 19 21 22 ertrd ⊢ ( ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) ∧ ( 𝑆 ‘ 𝐴 ) ∼ ( 𝑆 ‘ 𝐵 ) ) → ( 𝐴 ‘ 0 ) ∼ ( 𝑆 ‘ 𝐵 ) )
24 1 2 3 4 5 6 efgsdm ⊢ ( 𝐵 ∈ dom 𝑆 ↔ ( 𝐵 ∈ ( Word 𝑊 ∖ { ∅ } ) ∧ ( 𝐵 ‘ 0 ) ∈ 𝐷 ∧ ∀ 𝑖 ∈ ( 1 ..^ ( ♯ ‘ 𝐵 ) ) ( 𝐵 ‘ 𝑖 ) ∈ ran ( 𝑇 ‘ ( 𝐵 ‘ ( 𝑖 − 1 ) ) ) ) )
25 24 simp2bi ⊢ ( 𝐵 ∈ dom 𝑆 → ( 𝐵 ‘ 0 ) ∈ 𝐷 )
26 25 ad2antlr ⊢ ( ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) ∧ ( 𝑆 ‘ 𝐴 ) ∼ ( 𝑆 ‘ 𝐵 ) ) → ( 𝐵 ‘ 0 ) ∈ 𝐷 )
27 1 2 3 4 5 6 efgsrel ⊢ ( 𝐵 ∈ dom 𝑆 → ( 𝐵 ‘ 0 ) ∼ ( 𝑆 ‘ 𝐵 ) )
28 27 ad2antlr ⊢ ( ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) ∧ ( 𝑆 ‘ 𝐴 ) ∼ ( 𝑆 ‘ 𝐵 ) ) → ( 𝐵 ‘ 0 ) ∼ ( 𝑆 ‘ 𝐵 ) )
29 breq1 ⊢ ( 𝑑 = ( 𝐴 ‘ 0 ) → ( 𝑑 ∼ ( 𝑆 ‘ 𝐵 ) ↔ ( 𝐴 ‘ 0 ) ∼ ( 𝑆 ‘ 𝐵 ) ) )
30 breq1 ⊢ ( 𝑑 = ( 𝐵 ‘ 0 ) → ( 𝑑 ∼ ( 𝑆 ‘ 𝐵 ) ↔ ( 𝐵 ‘ 0 ) ∼ ( 𝑆 ‘ 𝐵 ) ) )
31 29 30 rmoi ⊢ ( ( ∃* 𝑑 ∈ 𝐷 𝑑 ∼ ( 𝑆 ‘ 𝐵 ) ∧ ( ( 𝐴 ‘ 0 ) ∈ 𝐷 ∧ ( 𝐴 ‘ 0 ) ∼ ( 𝑆 ‘ 𝐵 ) ) ∧ ( ( 𝐵 ‘ 0 ) ∈ 𝐷 ∧ ( 𝐵 ‘ 0 ) ∼ ( 𝑆 ‘ 𝐵 ) ) ) → ( 𝐴 ‘ 0 ) = ( 𝐵 ‘ 0 ) )
32 14 17 23 26 28 31 syl122anc ⊢ ( ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) ∧ ( 𝑆 ‘ 𝐴 ) ∼ ( 𝑆 ‘ 𝐵 ) ) → ( 𝐴 ‘ 0 ) = ( 𝐵 ‘ 0 ) )
33 18 a1i ⊢ ( ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) ∧ ( 𝐴 ‘ 0 ) = ( 𝐵 ‘ 0 ) ) → ∼ Er 𝑊 )
34 20 ad2antrr ⊢ ( ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) ∧ ( 𝐴 ‘ 0 ) = ( 𝐵 ‘ 0 ) ) → ( 𝐴 ‘ 0 ) ∼ ( 𝑆 ‘ 𝐴 ) )
35 simpr ⊢ ( ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) ∧ ( 𝐴 ‘ 0 ) = ( 𝐵 ‘ 0 ) ) → ( 𝐴 ‘ 0 ) = ( 𝐵 ‘ 0 ) )
36 27 ad2antlr ⊢ ( ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) ∧ ( 𝐴 ‘ 0 ) = ( 𝐵 ‘ 0 ) ) → ( 𝐵 ‘ 0 ) ∼ ( 𝑆 ‘ 𝐵 ) )
37 35 36 eqbrtrd ⊢ ( ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) ∧ ( 𝐴 ‘ 0 ) = ( 𝐵 ‘ 0 ) ) → ( 𝐴 ‘ 0 ) ∼ ( 𝑆 ‘ 𝐵 ) )
38 33 34 37 ertr3d ⊢ ( ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) ∧ ( 𝐴 ‘ 0 ) = ( 𝐵 ‘ 0 ) ) → ( 𝑆 ‘ 𝐴 ) ∼ ( 𝑆 ‘ 𝐵 ) )
39 32 38 impbida ⊢ ( ( 𝐴 ∈ dom 𝑆 ∧ 𝐵 ∈ dom 𝑆 ) → ( ( 𝑆 ‘ 𝐴 ) ∼ ( 𝑆 ‘ 𝐵 ) ↔ ( 𝐴 ‘ 0 ) = ( 𝐵 ‘ 0 ) ) )