Metamath Proof Explorer


Theorem efgtf

Description: Value of the free group construction. (Contributed by Mario Carneiro, 27-Sep-2015)

Ref Expression
Hypotheses efgval.w W=IWordI×2𝑜
efgval.r ˙=~FGI
efgval2.m M=yI,z2𝑜y1𝑜z
efgval2.t T=vWn0v,wI×2𝑜vsplicenn⟨“wMw”⟩
Assertion efgtf XWTX=a0X,bI×2𝑜Xspliceaa⟨“bMb”⟩TX:0X×I×2𝑜W

Proof

Step Hyp Ref Expression
1 efgval.w W=IWordI×2𝑜
2 efgval.r ˙=~FGI
3 efgval2.m M=yI,z2𝑜y1𝑜z
4 efgval2.t T=vWn0v,wI×2𝑜vsplicenn⟨“wMw”⟩
5 fviss IWordI×2𝑜WordI×2𝑜
6 1 5 eqsstri WWordI×2𝑜
7 simpl XWa0XbI×2𝑜XW
8 6 7 sselid XWa0XbI×2𝑜XWordI×2𝑜
9 simprr XWa0XbI×2𝑜bI×2𝑜
10 3 efgmf M:I×2𝑜I×2𝑜
11 10 ffvelcdmi bI×2𝑜MbI×2𝑜
12 11 ad2antll XWa0XbI×2𝑜MbI×2𝑜
13 9 12 s2cld XWa0XbI×2𝑜⟨“bMb”⟩WordI×2𝑜
14 splcl XWordI×2𝑜⟨“bMb”⟩WordI×2𝑜Xspliceaa⟨“bMb”⟩WordI×2𝑜
15 8 13 14 syl2anc XWa0XbI×2𝑜Xspliceaa⟨“bMb”⟩WordI×2𝑜
16 1 efgrcl XWIVW=WordI×2𝑜
17 16 simprd XWW=WordI×2𝑜
18 17 adantr XWa0XbI×2𝑜W=WordI×2𝑜
19 15 18 eleqtrrd XWa0XbI×2𝑜Xspliceaa⟨“bMb”⟩W
20 19 ralrimivva XWa0XbI×2𝑜Xspliceaa⟨“bMb”⟩W
21 eqid a0X,bI×2𝑜Xspliceaa⟨“bMb”⟩=a0X,bI×2𝑜Xspliceaa⟨“bMb”⟩
22 21 fmpo a0XbI×2𝑜Xspliceaa⟨“bMb”⟩Wa0X,bI×2𝑜Xspliceaa⟨“bMb”⟩:0X×I×2𝑜W
23 20 22 sylib XWa0X,bI×2𝑜Xspliceaa⟨“bMb”⟩:0X×I×2𝑜W
24 ovex 0XV
25 16 simpld XWIV
26 2on 2𝑜On
27 xpexg IV2𝑜OnI×2𝑜V
28 25 26 27 sylancl XWI×2𝑜V
29 xpexg 0XVI×2𝑜V0X×I×2𝑜V
30 24 28 29 sylancr XW0X×I×2𝑜V
31 23 30 fexd XWa0X,bI×2𝑜Xspliceaa⟨“bMb”⟩V
32 fveq2 u=Xu=X
33 32 oveq2d u=X0u=0X
34 eqidd u=XI×2𝑜=I×2𝑜
35 oveq1 u=Xuspliceaa⟨“bMb”⟩=Xspliceaa⟨“bMb”⟩
36 33 34 35 mpoeq123dv u=Xa0u,bI×2𝑜uspliceaa⟨“bMb”⟩=a0X,bI×2𝑜Xspliceaa⟨“bMb”⟩
37 oteq1 n=ann⟨“wMw”⟩=an⟨“wMw”⟩
38 oteq2 n=aan⟨“wMw”⟩=aa⟨“wMw”⟩
39 37 38 eqtrd n=ann⟨“wMw”⟩=aa⟨“wMw”⟩
40 39 oveq2d n=avsplicenn⟨“wMw”⟩=vspliceaa⟨“wMw”⟩
41 id w=bw=b
42 fveq2 w=bMw=Mb
43 41 42 s2eqd w=b⟨“wMw”⟩=⟨“bMb”⟩
44 43 oteq3d w=baa⟨“wMw”⟩=aa⟨“bMb”⟩
45 44 oveq2d w=bvspliceaa⟨“wMw”⟩=vspliceaa⟨“bMb”⟩
46 40 45 cbvmpov n0v,wI×2𝑜vsplicenn⟨“wMw”⟩=a0v,bI×2𝑜vspliceaa⟨“bMb”⟩
47 fveq2 v=uv=u
48 47 oveq2d v=u0v=0u
49 eqidd v=uI×2𝑜=I×2𝑜
50 oveq1 v=uvspliceaa⟨“bMb”⟩=uspliceaa⟨“bMb”⟩
51 48 49 50 mpoeq123dv v=ua0v,bI×2𝑜vspliceaa⟨“bMb”⟩=a0u,bI×2𝑜uspliceaa⟨“bMb”⟩
52 46 51 eqtrid v=un0v,wI×2𝑜vsplicenn⟨“wMw”⟩=a0u,bI×2𝑜uspliceaa⟨“bMb”⟩
53 52 cbvmptv vWn0v,wI×2𝑜vsplicenn⟨“wMw”⟩=uWa0u,bI×2𝑜uspliceaa⟨“bMb”⟩
54 4 53 eqtri T=uWa0u,bI×2𝑜uspliceaa⟨“bMb”⟩
55 36 54 fvmptg XWa0X,bI×2𝑜Xspliceaa⟨“bMb”⟩VTX=a0X,bI×2𝑜Xspliceaa⟨“bMb”⟩
56 31 55 mpdan XWTX=a0X,bI×2𝑜Xspliceaa⟨“bMb”⟩
57 56 feq1d XWTX:0X×I×2𝑜Wa0X,bI×2𝑜Xspliceaa⟨“bMb”⟩:0X×I×2𝑜W
58 23 57 mpbird XWTX:0X×I×2𝑜W
59 56 58 jca XWTX=a0X,bI×2𝑜Xspliceaa⟨“bMb”⟩TX:0X×I×2𝑜W