MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  frgpuptinv Structured version   Visualization version   GIF version

Theorem frgpuptinv 19757
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.)
Hypotheses
Ref Expression
frgpup.b 𝐵 = (Base‘𝐻)
frgpup.n 𝑁 = (invg𝐻)
frgpup.t 𝑇 = (𝑦𝐼, 𝑧 ∈ 2o ↦ if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))))
frgpup.h (𝜑𝐻 ∈ Grp)
frgpup.i (𝜑𝐼𝑉)
frgpup.a (𝜑𝐹:𝐼𝐵)
frgpuptinv.m 𝑀 = (𝑦𝐼, 𝑧 ∈ 2o ↦ ⟨𝑦, (1o𝑧)⟩)
Assertion
Ref Expression
frgpuptinv ((𝜑𝐴 ∈ (𝐼 × 2o)) → (𝑇‘(𝑀𝐴)) = (𝑁‘(𝑇𝐴)))
Distinct variable groups:   𝑦,𝑧,𝐴   𝑦,𝐹,𝑧   𝑦,𝑁,𝑧   𝑦,𝐵,𝑧   𝜑,𝑦,𝑧   𝑦,𝐼,𝑧
Allowed substitution hints:   𝑇(𝑦,𝑧)   𝐻(𝑦,𝑧)   𝑀(𝑦,𝑧)   𝑉(𝑦,𝑧)

Proof of Theorem frgpuptinv
Dummy variables 𝑎 𝑏 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 elxp2 5683 . . 3 (𝐴 ∈ (𝐼 × 2o) ↔ ∃𝑎𝐼𝑏 ∈ 2o 𝐴 = ⟨𝑎, 𝑏⟩)
2 frgpuptinv.m . . . . . . . . . 10 𝑀 = (𝑦𝐼, 𝑧 ∈ 2o ↦ ⟨𝑦, (1o𝑧)⟩)
32efgmval 19698 . . . . . . . . 9 ((𝑎𝐼𝑏 ∈ 2o) → (𝑎𝑀𝑏) = ⟨𝑎, (1o𝑏)⟩)
43adantl 481 . . . . . . . 8 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑎𝑀𝑏) = ⟨𝑎, (1o𝑏)⟩)
54fveq2d 6885 . . . . . . 7 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑇‘⟨𝑎, (1o𝑏)⟩))
6 df-ov 7413 . . . . . . 7 (𝑎𝑇(1o𝑏)) = (𝑇‘⟨𝑎, (1o𝑏)⟩)
75, 6eqtr4di 2789 . . . . . 6 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑎𝑇(1o𝑏)))
8 elpri 4630 . . . . . . . . 9 (𝑏 ∈ {∅, 1o} → (𝑏 = ∅ ∨ 𝑏 = 1o))
9 df2o3 8493 . . . . . . . . 9 2o = {∅, 1o}
108, 9eleq2s 2853 . . . . . . . 8 (𝑏 ∈ 2o → (𝑏 = ∅ ∨ 𝑏 = 1o))
11 simpr 484 . . . . . . . . . . . 12 ((𝜑𝑎𝐼) → 𝑎𝐼)
12 1oex 8495 . . . . . . . . . . . . . 14 1o ∈ V
1312prid2 4744 . . . . . . . . . . . . 13 1o ∈ {∅, 1o}
1413, 9eleqtrri 2834 . . . . . . . . . . . 12 1o ∈ 2o
15 1n0 8505 . . . . . . . . . . . . . . . 16 1o ≠ ∅
16 neeq1 2995 . . . . . . . . . . . . . . . 16 (𝑧 = 1o → (𝑧 ≠ ∅ ↔ 1o ≠ ∅))
1715, 16mpbiri 258 . . . . . . . . . . . . . . 15 (𝑧 = 1o𝑧 ≠ ∅)
18 ifnefalse 4517 . . . . . . . . . . . . . . 15 (𝑧 ≠ ∅ → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝑁‘(𝐹𝑦)))
1917, 18syl 17 . . . . . . . . . . . . . 14 (𝑧 = 1o → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝑁‘(𝐹𝑦)))
20 fveq2 6881 . . . . . . . . . . . . . . 15 (𝑦 = 𝑎 → (𝐹𝑦) = (𝐹𝑎))
2120fveq2d 6885 . . . . . . . . . . . . . 14 (𝑦 = 𝑎 → (𝑁‘(𝐹𝑦)) = (𝑁‘(𝐹𝑎)))
2219, 21sylan9eqr 2793 . . . . . . . . . . . . 13 ((𝑦 = 𝑎𝑧 = 1o) → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝑁‘(𝐹𝑎)))
23 frgpup.t . . . . . . . . . . . . 13 𝑇 = (𝑦𝐼, 𝑧 ∈ 2o ↦ if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))))
24 fvex 6894 . . . . . . . . . . . . 13 (𝑁‘(𝐹𝑎)) ∈ V
2522, 23, 24ovmpoa 7567 . . . . . . . . . . . 12 ((𝑎𝐼 ∧ 1o ∈ 2o) → (𝑎𝑇1o) = (𝑁‘(𝐹𝑎)))
2611, 14, 25sylancl 586 . . . . . . . . . . 11 ((𝜑𝑎𝐼) → (𝑎𝑇1o) = (𝑁‘(𝐹𝑎)))
27 0ex 5282 . . . . . . . . . . . . . . 15 ∅ ∈ V
2827prid1 4743 . . . . . . . . . . . . . 14 ∅ ∈ {∅, 1o}
2928, 9eleqtrri 2834 . . . . . . . . . . . . 13 ∅ ∈ 2o
30 iftrue 4511 . . . . . . . . . . . . . . 15 (𝑧 = ∅ → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝐹𝑦))
3130, 20sylan9eqr 2793 . . . . . . . . . . . . . 14 ((𝑦 = 𝑎𝑧 = ∅) → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝐹𝑎))
32 fvex 6894 . . . . . . . . . . . . . 14 (𝐹𝑎) ∈ V
3331, 23, 32ovmpoa 7567 . . . . . . . . . . . . 13 ((𝑎𝐼 ∧ ∅ ∈ 2o) → (𝑎𝑇∅) = (𝐹𝑎))
3411, 29, 33sylancl 586 . . . . . . . . . . . 12 ((𝜑𝑎𝐼) → (𝑎𝑇∅) = (𝐹𝑎))
3534fveq2d 6885 . . . . . . . . . . 11 ((𝜑𝑎𝐼) → (𝑁‘(𝑎𝑇∅)) = (𝑁‘(𝐹𝑎)))
3626, 35eqtr4d 2774 . . . . . . . . . 10 ((𝜑𝑎𝐼) → (𝑎𝑇1o) = (𝑁‘(𝑎𝑇∅)))
37 difeq2 4100 . . . . . . . . . . . . 13 (𝑏 = ∅ → (1o𝑏) = (1o ∖ ∅))
38 dif0 4358 . . . . . . . . . . . . 13 (1o ∖ ∅) = 1o
3937, 38eqtrdi 2787 . . . . . . . . . . . 12 (𝑏 = ∅ → (1o𝑏) = 1o)
4039oveq2d 7426 . . . . . . . . . . 11 (𝑏 = ∅ → (𝑎𝑇(1o𝑏)) = (𝑎𝑇1o))
41 oveq2 7418 . . . . . . . . . . . 12 (𝑏 = ∅ → (𝑎𝑇𝑏) = (𝑎𝑇∅))
4241fveq2d 6885 . . . . . . . . . . 11 (𝑏 = ∅ → (𝑁‘(𝑎𝑇𝑏)) = (𝑁‘(𝑎𝑇∅)))
4340, 42eqeq12d 2752 . . . . . . . . . 10 (𝑏 = ∅ → ((𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏)) ↔ (𝑎𝑇1o) = (𝑁‘(𝑎𝑇∅))))
4436, 43syl5ibrcom 247 . . . . . . . . 9 ((𝜑𝑎𝐼) → (𝑏 = ∅ → (𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
4536fveq2d 6885 . . . . . . . . . . 11 ((𝜑𝑎𝐼) → (𝑁‘(𝑎𝑇1o)) = (𝑁‘(𝑁‘(𝑎𝑇∅))))
46 frgpup.h . . . . . . . . . . . 12 (𝜑𝐻 ∈ Grp)
47 frgpup.a . . . . . . . . . . . . . 14 (𝜑𝐹:𝐼𝐵)
4847ffvelcdmda 7079 . . . . . . . . . . . . 13 ((𝜑𝑎𝐼) → (𝐹𝑎) ∈ 𝐵)
4934, 48eqeltrd 2835 . . . . . . . . . . . 12 ((𝜑𝑎𝐼) → (𝑎𝑇∅) ∈ 𝐵)
50 frgpup.b . . . . . . . . . . . . 13 𝐵 = (Base‘𝐻)
51 frgpup.n . . . . . . . . . . . . 13 𝑁 = (invg𝐻)
5250, 51grpinvinv 18993 . . . . . . . . . . . 12 ((𝐻 ∈ Grp ∧ (𝑎𝑇∅) ∈ 𝐵) → (𝑁‘(𝑁‘(𝑎𝑇∅))) = (𝑎𝑇∅))
5346, 49, 52syl2an2r 685 . . . . . . . . . . 11 ((𝜑𝑎𝐼) → (𝑁‘(𝑁‘(𝑎𝑇∅))) = (𝑎𝑇∅))
5445, 53eqtr2d 2772 . . . . . . . . . 10 ((𝜑𝑎𝐼) → (𝑎𝑇∅) = (𝑁‘(𝑎𝑇1o)))
55 difeq2 4100 . . . . . . . . . . . . 13 (𝑏 = 1o → (1o𝑏) = (1o ∖ 1o))
56 difid 4356 . . . . . . . . . . . . 13 (1o ∖ 1o) = ∅
5755, 56eqtrdi 2787 . . . . . . . . . . . 12 (𝑏 = 1o → (1o𝑏) = ∅)
5857oveq2d 7426 . . . . . . . . . . 11 (𝑏 = 1o → (𝑎𝑇(1o𝑏)) = (𝑎𝑇∅))
59 oveq2 7418 . . . . . . . . . . . 12 (𝑏 = 1o → (𝑎𝑇𝑏) = (𝑎𝑇1o))
6059fveq2d 6885 . . . . . . . . . . 11 (𝑏 = 1o → (𝑁‘(𝑎𝑇𝑏)) = (𝑁‘(𝑎𝑇1o)))
6158, 60eqeq12d 2752 . . . . . . . . . 10 (𝑏 = 1o → ((𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏)) ↔ (𝑎𝑇∅) = (𝑁‘(𝑎𝑇1o))))
6254, 61syl5ibrcom 247 . . . . . . . . 9 ((𝜑𝑎𝐼) → (𝑏 = 1o → (𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
6344, 62jaod 859 . . . . . . . 8 ((𝜑𝑎𝐼) → ((𝑏 = ∅ ∨ 𝑏 = 1o) → (𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
6410, 63syl5 34 . . . . . . 7 ((𝜑𝑎𝐼) → (𝑏 ∈ 2o → (𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
6564impr 454 . . . . . 6 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏)))
667, 65eqtrd 2771 . . . . 5 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑁‘(𝑎𝑇𝑏)))
67 fveq2 6881 . . . . . . . 8 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑀𝐴) = (𝑀‘⟨𝑎, 𝑏⟩))
68 df-ov 7413 . . . . . . . 8 (𝑎𝑀𝑏) = (𝑀‘⟨𝑎, 𝑏⟩)
6967, 68eqtr4di 2789 . . . . . . 7 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑀𝐴) = (𝑎𝑀𝑏))
7069fveq2d 6885 . . . . . 6 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘(𝑀𝐴)) = (𝑇‘(𝑎𝑀𝑏)))
71 fveq2 6881 . . . . . . . 8 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇𝐴) = (𝑇‘⟨𝑎, 𝑏⟩))
72 df-ov 7413 . . . . . . . 8 (𝑎𝑇𝑏) = (𝑇‘⟨𝑎, 𝑏⟩)
7371, 72eqtr4di 2789 . . . . . . 7 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇𝐴) = (𝑎𝑇𝑏))
7473fveq2d 6885 . . . . . 6 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑁‘(𝑇𝐴)) = (𝑁‘(𝑎𝑇𝑏)))
7570, 74eqeq12d 2752 . . . . 5 (𝐴 = ⟨𝑎, 𝑏⟩ → ((𝑇‘(𝑀𝐴)) = (𝑁‘(𝑇𝐴)) ↔ (𝑇‘(𝑎𝑀𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
7666, 75syl5ibrcom 247 . . . 4 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘(𝑀𝐴)) = (𝑁‘(𝑇𝐴))))
7776rexlimdvva 3202 . . 3 (𝜑 → (∃𝑎𝐼𝑏 ∈ 2o 𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘(𝑀𝐴)) = (𝑁‘(𝑇𝐴))))
781, 77biimtrid 242 . 2 (𝜑 → (𝐴 ∈ (𝐼 × 2o) → (𝑇‘(𝑀𝐴)) = (𝑁‘(𝑇𝐴))))
7978imp 406 1 ((𝜑𝐴 ∈ (𝐼 × 2o)) → (𝑇‘(𝑀𝐴)) = (𝑁‘(𝑇𝐴)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395  wo 847   = wceq 1540  wcel 2109  wne 2933  wrex 3061  cdif 3928  c0 4313  ifcif 4505  {cpr 4608  cop 4612   × cxp 5657  wf 6532  cfv 6536  (class class class)co 7410  cmpo 7412  1oc1o 8478  2oc2o 8479  Basecbs 17233  Grpcgrp 18921  invgcminusg 18922
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2708  ax-sep 5271  ax-nul 5281  ax-pow 5340  ax-pr 5407  ax-un 7734
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2540  df-eu 2569  df-clab 2715  df-cleq 2728  df-clel 2810  df-nfc 2886  df-ne 2934  df-ral 3053  df-rex 3062  df-rmo 3364  df-reu 3365  df-rab 3421  df-v 3466  df-sbc 3771  df-dif 3934  df-un 3936  df-in 3938  df-ss 3948  df-nul 4314  df-if 4506  df-pw 4582  df-sn 4607  df-pr 4609  df-op 4613  df-uni 4889  df-br 5125  df-opab 5187  df-mpt 5207  df-id 5553  df-xp 5665  df-rel 5666  df-cnv 5667  df-co 5668  df-dm 5669  df-rn 5670  df-res 5671  df-ima 5672  df-suc 6363  df-iota 6489  df-fun 6538  df-fn 6539  df-f 6540  df-fv 6544  df-riota 7367  df-ov 7413  df-oprab 7414  df-mpo 7415  df-1o 8485  df-2o 8486  df-0g 17460  df-mgm 18623  df-sgrp 18702  df-mnd 18718  df-grp 18924  df-minusg 18925
This theorem is referenced by:  frgpuplem  19758
  Copyright terms: Public domain W3C validator