Metamath Proof Explorer


Theorem frgpuptinv

Description: Any assignment of the generators to target elements can be extended (uniquely) to a homomorphism from a free monoid to an arbitrary other monoid. (Contributed by Mario Carneiro, 2-Oct-2015)

Ref Expression
Hypotheses frgpup.b B=BaseH
frgpup.n N=invgH
frgpup.t T=yI,z2𝑜ifz=FyNFy
frgpup.h φHGrp
frgpup.i φIV
frgpup.a φF:IB
frgpuptinv.m M=yI,z2𝑜y1𝑜z
Assertion frgpuptinv φAI×2𝑜TMA=NTA

Proof

Step Hyp Ref Expression
1 frgpup.b B=BaseH
2 frgpup.n N=invgH
3 frgpup.t T=yI,z2𝑜ifz=FyNFy
4 frgpup.h φHGrp
5 frgpup.i φIV
6 frgpup.a φF:IB
7 frgpuptinv.m M=yI,z2𝑜y1𝑜z
8 elxp2 AI×2𝑜aIb2𝑜A=ab
9 7 efgmval aIb2𝑜aMb=a1𝑜b
10 9 adantl φaIb2𝑜aMb=a1𝑜b
11 10 fveq2d φaIb2𝑜TaMb=Ta1𝑜b
12 df-ov aT1𝑜b=Ta1𝑜b
13 11 12 eqtr4di φaIb2𝑜TaMb=aT1𝑜b
14 elpri b1𝑜b=b=1𝑜
15 df2o3 2𝑜=1𝑜
16 14 15 eleq2s b2𝑜b=b=1𝑜
17 simpr φaIaI
18 1oex 1𝑜V
19 18 prid2 1𝑜1𝑜
20 19 15 eleqtrri 1𝑜2𝑜
21 1n0 1𝑜
22 neeq1 z=1𝑜z1𝑜
23 21 22 mpbiri z=1𝑜z
24 ifnefalse zifz=FyNFy=NFy
25 23 24 syl z=1𝑜ifz=FyNFy=NFy
26 fveq2 y=aFy=Fa
27 26 fveq2d y=aNFy=NFa
28 25 27 sylan9eqr y=az=1𝑜ifz=FyNFy=NFa
29 fvex NFaV
30 28 3 29 ovmpoa aI1𝑜2𝑜aT1𝑜=NFa
31 17 20 30 sylancl φaIaT1𝑜=NFa
32 0ex V
33 32 prid1 1𝑜
34 33 15 eleqtrri 2𝑜
35 iftrue z=ifz=FyNFy=Fy
36 35 26 sylan9eqr y=az=ifz=FyNFy=Fa
37 fvex FaV
38 36 3 37 ovmpoa aI2𝑜aT=Fa
39 17 34 38 sylancl φaIaT=Fa
40 39 fveq2d φaINaT=NFa
41 31 40 eqtr4d φaIaT1𝑜=NaT
42 difeq2 b=1𝑜b=1𝑜
43 dif0 1𝑜=1𝑜
44 42 43 eqtrdi b=1𝑜b=1𝑜
45 44 oveq2d b=aT1𝑜b=aT1𝑜
46 oveq2 b=aTb=aT
47 46 fveq2d b=NaTb=NaT
48 45 47 eqeq12d b=aT1𝑜b=NaTbaT1𝑜=NaT
49 41 48 syl5ibrcom φaIb=aT1𝑜b=NaTb
50 41 fveq2d φaINaT1𝑜=NNaT
51 6 ffvelcdmda φaIFaB
52 39 51 eqeltrd φaIaTB
53 1 2 grpinvinv HGrpaTBNNaT=aT
54 4 52 53 syl2an2r φaINNaT=aT
55 50 54 eqtr2d φaIaT=NaT1𝑜
56 difeq2 b=1𝑜1𝑜b=1𝑜1𝑜
57 difid 1𝑜1𝑜=
58 56 57 eqtrdi b=1𝑜1𝑜b=
59 58 oveq2d b=1𝑜aT1𝑜b=aT
60 oveq2 b=1𝑜aTb=aT1𝑜
61 60 fveq2d b=1𝑜NaTb=NaT1𝑜
62 59 61 eqeq12d b=1𝑜aT1𝑜b=NaTbaT=NaT1𝑜
63 55 62 syl5ibrcom φaIb=1𝑜aT1𝑜b=NaTb
64 49 63 jaod φaIb=b=1𝑜aT1𝑜b=NaTb
65 16 64 syl5 φaIb2𝑜aT1𝑜b=NaTb
66 65 impr φaIb2𝑜aT1𝑜b=NaTb
67 13 66 eqtrd φaIb2𝑜TaMb=NaTb
68 fveq2 A=abMA=Mab
69 df-ov aMb=Mab
70 68 69 eqtr4di A=abMA=aMb
71 70 fveq2d A=abTMA=TaMb
72 fveq2 A=abTA=Tab
73 df-ov aTb=Tab
74 72 73 eqtr4di A=abTA=aTb
75 74 fveq2d A=abNTA=NaTb
76 71 75 eqeq12d A=abTMA=NTATaMb=NaTb
77 67 76 syl5ibrcom φaIb2𝑜A=abTMA=NTA
78 77 rexlimdvva φaIb2𝑜A=abTMA=NTA
79 8 78 biimtrid φAI×2𝑜TMA=NTA
80 79 imp φAI×2𝑜TMA=NTA