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 = Base H
frgpup.n ⊢ N = inv g ⁡ H
frgpup.t ⊢ T = y ∈ I , z ∈ 2 𝑜 ⟼ if z = ∅ F ⁡ y N ⁡ F ⁡ y
frgpup.h ⊢ φ → H ∈ Grp
frgpup.i ⊢ φ → I ∈ V
frgpup.a ⊢ φ → F : I ⟶ B
frgpuptinv.m ⊢ M = y ∈ I , z ∈ 2 𝑜 ⟼ y 1 𝑜 ∖ z
Assertion frgpuptinv ⊢ φ ∧ A ∈ I × 2 𝑜 → T ⁡ M ⁡ A = N ⁡ T ⁡ A

Proof

Step Hyp Ref Expression
1 frgpup.b ⊢ B = Base H
2 frgpup.n ⊢ N = inv g ⁡ H
3 frgpup.t ⊢ T = y ∈ I , z ∈ 2 𝑜 ⟼ if z = ∅ F ⁡ y N ⁡ F ⁡ y
4 frgpup.h ⊢ φ → H ∈ Grp
5 frgpup.i ⊢ φ → I ∈ V
6 frgpup.a ⊢ φ → F : I ⟶ B
7 frgpuptinv.m ⊢ M = y ∈ I , z ∈ 2 𝑜 ⟼ y 1 𝑜 ∖ z
8 elxp2 ⊢ A ∈ I × 2 𝑜 ↔ ∃ a ∈ I ∃ b ∈ 2 𝑜 A = a b
9 7 efgmval ⊢ a ∈ I ∧ b ∈ 2 𝑜 → a M b = a 1 𝑜 ∖ b
10 9 adantl ⊢ φ ∧ a ∈ I ∧ b ∈ 2 𝑜 → a M b = a 1 𝑜 ∖ b
11 10 fveq2d ⊢ φ ∧ a ∈ I ∧ b ∈ 2 𝑜 → T ⁡ a M b = T ⁡ a 1 𝑜 ∖ b
12 df-ov ⊢ a T 1 𝑜 ∖ b = T ⁡ a 1 𝑜 ∖ b
13 11 12 eqtr4di ⊢ φ ∧ a ∈ I ∧ b ∈ 2 𝑜 → T ⁡ a M b = a T 1 𝑜 ∖ b
14 elpri ⊢ b ∈ ∅ 1 𝑜 → b = ∅ ∨ b = 1 𝑜
15 df2o3 ⊢ 2 𝑜 = ∅ 1 𝑜
16 14 15 eleq2s ⊢ b ∈ 2 𝑜 → b = ∅ ∨ b = 1 𝑜
17 simpr ⊢ φ ∧ a ∈ I → a ∈ I
18 1oelpr ⊢ 1 𝑜 ∈ ∅ 1 𝑜
19 18 15 eleqtrri ⊢ 1 𝑜 ∈ 2 𝑜
20 1n0 ⊢ 1 𝑜 ≠ ∅
21 neeq1 ⊢ z = 1 𝑜 → z ≠ ∅ ↔ 1 𝑜 ≠ ∅
22 20 21 mpbiri ⊢ z = 1 𝑜 → z ≠ ∅
23 ifnefalse ⊢ z ≠ ∅ → if z = ∅ F ⁡ y N ⁡ F ⁡ y = N ⁡ F ⁡ y
24 22 23 syl ⊢ z = 1 𝑜 → if z = ∅ F ⁡ y N ⁡ F ⁡ y = N ⁡ F ⁡ y
25 fveq2 ⊢ y = a → F ⁡ y = F ⁡ a
26 25 fveq2d ⊢ y = a → N ⁡ F ⁡ y = N ⁡ F ⁡ a
27 24 26 sylan9eqr ⊢ y = a ∧ z = 1 𝑜 → if z = ∅ F ⁡ y N ⁡ F ⁡ y = N ⁡ F ⁡ a
28 fvex ⊢ N ⁡ F ⁡ a ∈ V
29 27 3 28 ovmpoa ⊢ a ∈ I ∧ 1 𝑜 ∈ 2 𝑜 → a T 1 𝑜 = N ⁡ F ⁡ a
30 17 19 29 sylancl ⊢ φ ∧ a ∈ I → a T 1 𝑜 = N ⁡ F ⁡ a
31 0ex ⊢ ∅ ∈ V
32 31 prid1 ⊢ ∅ ∈ ∅ 1 𝑜
33 32 15 eleqtrri ⊢ ∅ ∈ 2 𝑜
34 iftrue ⊢ z = ∅ → if z = ∅ F ⁡ y N ⁡ F ⁡ y = F ⁡ y
35 34 25 sylan9eqr ⊢ y = a ∧ z = ∅ → if z = ∅ F ⁡ y N ⁡ F ⁡ y = F ⁡ a
36 fvex ⊢ F ⁡ a ∈ V
37 35 3 36 ovmpoa ⊢ a ∈ I ∧ ∅ ∈ 2 𝑜 → a T ∅ = F ⁡ a
38 17 33 37 sylancl ⊢ φ ∧ a ∈ I → a T ∅ = F ⁡ a
39 38 fveq2d ⊢ φ ∧ a ∈ I → N ⁡ a T ∅ = N ⁡ F ⁡ a
40 30 39 eqtr4d ⊢ φ ∧ a ∈ I → a T 1 𝑜 = N ⁡ a T ∅
41 difeq2 ⊢ b = ∅ → 1 𝑜 ∖ b = 1 𝑜 ∖ ∅
42 dif0 ⊢ 1 𝑜 ∖ ∅ = 1 𝑜
43 41 42 eqtrdi ⊢ b = ∅ → 1 𝑜 ∖ b = 1 𝑜
44 43 oveq2d ⊢ b = ∅ → a T 1 𝑜 ∖ b = a T 1 𝑜
45 oveq2 ⊢ b = ∅ → a T b = a T ∅
46 45 fveq2d ⊢ b = ∅ → N ⁡ a T b = N ⁡ a T ∅
47 44 46 eqeq12d ⊢ b = ∅ → a T 1 𝑜 ∖ b = N ⁡ a T b ↔ a T 1 𝑜 = N ⁡ a T ∅
48 40 47 syl5ibrcom ⊢ φ ∧ a ∈ I → b = ∅ → a T 1 𝑜 ∖ b = N ⁡ a T b
49 40 fveq2d ⊢ φ ∧ a ∈ I → N ⁡ a T 1 𝑜 = N ⁡ N ⁡ a T ∅
50 6 ffvelcdmda ⊢ φ ∧ a ∈ I → F ⁡ a ∈ B
51 38 50 eqeltrd ⊢ φ ∧ a ∈ I → a T ∅ ∈ B
52 1 2 grpinvinv ⊢ H ∈ Grp ∧ a T ∅ ∈ B → N ⁡ N ⁡ a T ∅ = a T ∅
53 4 51 52 syl2an2r ⊢ φ ∧ a ∈ I → N ⁡ N ⁡ a T ∅ = a T ∅
54 49 53 eqtr2d ⊢ φ ∧ a ∈ I → a T ∅ = N ⁡ a T 1 𝑜
55 difeq2 ⊢ b = 1 𝑜 → 1 𝑜 ∖ b = 1 𝑜 ∖ 1 𝑜
56 difid ⊢ 1 𝑜 ∖ 1 𝑜 = ∅
57 55 56 eqtrdi ⊢ b = 1 𝑜 → 1 𝑜 ∖ b = ∅
58 57 oveq2d ⊢ b = 1 𝑜 → a T 1 𝑜 ∖ b = a T ∅
59 oveq2 ⊢ b = 1 𝑜 → a T b = a T 1 𝑜
60 59 fveq2d ⊢ b = 1 𝑜 → N ⁡ a T b = N ⁡ a T 1 𝑜
61 58 60 eqeq12d ⊢ b = 1 𝑜 → a T 1 𝑜 ∖ b = N ⁡ a T b ↔ a T ∅ = N ⁡ a T 1 𝑜
62 54 61 syl5ibrcom ⊢ φ ∧ a ∈ I → b = 1 𝑜 → a T 1 𝑜 ∖ b = N ⁡ a T b
63 48 62 jaod ⊢ φ ∧ a ∈ I → b = ∅ ∨ b = 1 𝑜 → a T 1 𝑜 ∖ b = N ⁡ a T b
64 16 63 syl5 ⊢ φ ∧ a ∈ I → b ∈ 2 𝑜 → a T 1 𝑜 ∖ b = N ⁡ a T b
65 64 impr ⊢ φ ∧ a ∈ I ∧ b ∈ 2 𝑜 → a T 1 𝑜 ∖ b = N ⁡ a T b
66 13 65 eqtrd ⊢ φ ∧ a ∈ I ∧ b ∈ 2 𝑜 → T ⁡ a M b = N ⁡ a T b
67 fveq2 ⊢ A = a b → M ⁡ A = M ⁡ a b
68 df-ov ⊢ a M b = M ⁡ a b
69 67 68 eqtr4di ⊢ A = a b → M ⁡ A = a M b
70 69 fveq2d ⊢ A = a b → T ⁡ M ⁡ A = T ⁡ a M b
71 fveq2 ⊢ A = a b → T ⁡ A = T ⁡ a b
72 df-ov ⊢ a T b = T ⁡ a b
73 71 72 eqtr4di ⊢ A = a b → T ⁡ A = a T b
74 73 fveq2d ⊢ A = a b → N ⁡ T ⁡ A = N ⁡ a T b
75 70 74 eqeq12d ⊢ A = a b → T ⁡ M ⁡ A = N ⁡ T ⁡ A ↔ T ⁡ a M b = N ⁡ a T b
76 66 75 syl5ibrcom ⊢ φ ∧ a ∈ I ∧ b ∈ 2 𝑜 → A = a b → T ⁡ M ⁡ A = N ⁡ T ⁡ A
77 76 rexlimdvva ⊢ φ → ∃ a ∈ I ∃ b ∈ 2 𝑜 A = a b → T ⁡ M ⁡ A = N ⁡ T ⁡ A
78 8 77 biimtrid ⊢ φ → A ∈ I × 2 𝑜 → T ⁡ M ⁡ A = N ⁡ T ⁡ A
79 78 imp ⊢ φ ∧ A ∈ I × 2 𝑜 → T ⁡ M ⁡ A = N ⁡ T ⁡ A