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

Theorem frgpuptinv 19737
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 5642 . . 3 (𝐴 ∈ (𝐼 × 2o) ↔ ∃𝑎𝐼𝑏 ∈ 2o 𝐴 = ⟨𝑎, 𝑏⟩)
2 frgpuptinv.m . . . . . . . . . 10 𝑀 = (𝑦𝐼, 𝑧 ∈ 2o ↦ ⟨𝑦, (1o𝑧)⟩)
32efgmval 19678 . . . . . . . . 9 ((𝑎𝐼𝑏 ∈ 2o) → (𝑎𝑀𝑏) = ⟨𝑎, (1o𝑏)⟩)
43adantl 482 . . . . . . . 8 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑎𝑀𝑏) = ⟨𝑎, (1o𝑏)⟩)
54fveq2d 6831 . . . . . . 7 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑇‘⟨𝑎, (1o𝑏)⟩))
6 df-ov 7359 . . . . . . 7 (𝑎𝑇(1o𝑏)) = (𝑇‘⟨𝑎, (1o𝑏)⟩)
75, 6eqtr4di 2792 . . . . . 6 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑎𝑇(1o𝑏)))
8 elpri 4579 . . . . . . . . 9 (𝑏 ∈ {∅, 1o} → (𝑏 = ∅ ∨ 𝑏 = 1o))
9 df2o3 8403 . . . . . . . . 9 2o = {∅, 1o}
108, 9eleq2s 2857 . . . . . . . 8 (𝑏 ∈ 2o → (𝑏 = ∅ ∨ 𝑏 = 1o))
11 simpr 485 . . . . . . . . . . . 12 ((𝜑𝑎𝐼) → 𝑎𝐼)
12 1oex 8405 . . . . . . . . . . . . . 14 1o ∈ V
1312prid2 4695 . . . . . . . . . . . . 13 1o ∈ {∅, 1o}
1413, 9eleqtrri 2838 . . . . . . . . . . . 12 1o ∈ 2o
15 1n0 8413 . . . . . . . . . . . . . . . 16 1o ≠ ∅
16 neeq1 2996 . . . . . . . . . . . . . . . 16 (𝑧 = 1o → (𝑧 ≠ ∅ ↔ 1o ≠ ∅))
1715, 16mpbiri 259 . . . . . . . . . . . . . . 15 (𝑧 = 1o𝑧 ≠ ∅)
18 ifnefalse 4466 . . . . . . . . . . . . . . 15 (𝑧 ≠ ∅ → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝑁‘(𝐹𝑦)))
1917, 18syl 17 . . . . . . . . . . . . . 14 (𝑧 = 1o → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝑁‘(𝐹𝑦)))
20 fveq2 6827 . . . . . . . . . . . . . . 15 (𝑦 = 𝑎 → (𝐹𝑦) = (𝐹𝑎))
2120fveq2d 6831 . . . . . . . . . . . . . 14 (𝑦 = 𝑎 → (𝑁‘(𝐹𝑦)) = (𝑁‘(𝐹𝑎)))
2219, 21sylan9eqr 2796 . . . . . . . . . . . . 13 ((𝑦 = 𝑎𝑧 = 1o) → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝑁‘(𝐹𝑎)))
23 frgpup.t . . . . . . . . . . . . 13 𝑇 = (𝑦𝐼, 𝑧 ∈ 2o ↦ if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))))
24 fvex 6840 . . . . . . . . . . . . 13 (𝑁‘(𝐹𝑎)) ∈ V
2522, 23, 24ovmpoa 7511 . . . . . . . . . . . 12 ((𝑎𝐼 ∧ 1o ∈ 2o) → (𝑎𝑇1o) = (𝑁‘(𝐹𝑎)))
2611, 14, 25sylancl 592 . . . . . . . . . . 11 ((𝜑𝑎𝐼) → (𝑎𝑇1o) = (𝑁‘(𝐹𝑎)))
27 0ex 5229 . . . . . . . . . . . . . . 15 ∅ ∈ V
2827prid1 4694 . . . . . . . . . . . . . 14 ∅ ∈ {∅, 1o}
2928, 9eleqtrri 2838 . . . . . . . . . . . . 13 ∅ ∈ 2o
30 iftrue 4460 . . . . . . . . . . . . . . 15 (𝑧 = ∅ → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝐹𝑦))
3130, 20sylan9eqr 2796 . . . . . . . . . . . . . 14 ((𝑦 = 𝑎𝑧 = ∅) → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝐹𝑎))
32 fvex 6840 . . . . . . . . . . . . . 14 (𝐹𝑎) ∈ V
3331, 23, 32ovmpoa 7511 . . . . . . . . . . . . 13 ((𝑎𝐼 ∧ ∅ ∈ 2o) → (𝑎𝑇∅) = (𝐹𝑎))
3411, 29, 33sylancl 592 . . . . . . . . . . . 12 ((𝜑𝑎𝐼) → (𝑎𝑇∅) = (𝐹𝑎))
3534fveq2d 6831 . . . . . . . . . . 11 ((𝜑𝑎𝐼) → (𝑁‘(𝑎𝑇∅)) = (𝑁‘(𝐹𝑎)))
3626, 35eqtr4d 2777 . . . . . . . . . 10 ((𝜑𝑎𝐼) → (𝑎𝑇1o) = (𝑁‘(𝑎𝑇∅)))
37 difeq2 4051 . . . . . . . . . . . . 13 (𝑏 = ∅ → (1o𝑏) = (1o ∖ ∅))
38 dif0 4306 . . . . . . . . . . . . 13 (1o ∖ ∅) = 1o
3937, 38eqtrdi 2790 . . . . . . . . . . . 12 (𝑏 = ∅ → (1o𝑏) = 1o)
4039oveq2d 7372 . . . . . . . . . . 11 (𝑏 = ∅ → (𝑎𝑇(1o𝑏)) = (𝑎𝑇1o))
41 oveq2 7364 . . . . . . . . . . . 12 (𝑏 = ∅ → (𝑎𝑇𝑏) = (𝑎𝑇∅))
4241fveq2d 6831 . . . . . . . . . . 11 (𝑏 = ∅ → (𝑁‘(𝑎𝑇𝑏)) = (𝑁‘(𝑎𝑇∅)))
4340, 42eqeq12d 2755 . . . . . . . . . 10 (𝑏 = ∅ → ((𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏)) ↔ (𝑎𝑇1o) = (𝑁‘(𝑎𝑇∅))))
4436, 43syl5ibrcom 248 . . . . . . . . 9 ((𝜑𝑎𝐼) → (𝑏 = ∅ → (𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
4536fveq2d 6831 . . . . . . . . . . 11 ((𝜑𝑎𝐼) → (𝑁‘(𝑎𝑇1o)) = (𝑁‘(𝑁‘(𝑎𝑇∅))))
46 frgpup.h . . . . . . . . . . . 12 (𝜑𝐻 ∈ Grp)
47 frgpup.a . . . . . . . . . . . . . 14 (𝜑𝐹:𝐼𝐵)
4847ffvelcdmda 7025 . . . . . . . . . . . . 13 ((𝜑𝑎𝐼) → (𝐹𝑎) ∈ 𝐵)
4934, 48eqeltrd 2839 . . . . . . . . . . . 12 ((𝜑𝑎𝐼) → (𝑎𝑇∅) ∈ 𝐵)
50 frgpup.b . . . . . . . . . . . . 13 𝐵 = (Base‘𝐻)
51 frgpup.n . . . . . . . . . . . . 13 𝑁 = (invg𝐻)
5250, 51grpinvinv 18972 . . . . . . . . . . . 12 ((𝐻 ∈ Grp ∧ (𝑎𝑇∅) ∈ 𝐵) → (𝑁‘(𝑁‘(𝑎𝑇∅))) = (𝑎𝑇∅))
5346, 49, 52syl2an2r 691 . . . . . . . . . . 11 ((𝜑𝑎𝐼) → (𝑁‘(𝑁‘(𝑎𝑇∅))) = (𝑎𝑇∅))
5445, 53eqtr2d 2775 . . . . . . . . . 10 ((𝜑𝑎𝐼) → (𝑎𝑇∅) = (𝑁‘(𝑎𝑇1o)))
55 difeq2 4051 . . . . . . . . . . . . 13 (𝑏 = 1o → (1o𝑏) = (1o ∖ 1o))
56 difid 4304 . . . . . . . . . . . . 13 (1o ∖ 1o) = ∅
5755, 56eqtrdi 2790 . . . . . . . . . . . 12 (𝑏 = 1o → (1o𝑏) = ∅)
5857oveq2d 7372 . . . . . . . . . . 11 (𝑏 = 1o → (𝑎𝑇(1o𝑏)) = (𝑎𝑇∅))
59 oveq2 7364 . . . . . . . . . . . 12 (𝑏 = 1o → (𝑎𝑇𝑏) = (𝑎𝑇1o))
6059fveq2d 6831 . . . . . . . . . . 11 (𝑏 = 1o → (𝑁‘(𝑎𝑇𝑏)) = (𝑁‘(𝑎𝑇1o)))
6158, 60eqeq12d 2755 . . . . . . . . . 10 (𝑏 = 1o → ((𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏)) ↔ (𝑎𝑇∅) = (𝑁‘(𝑎𝑇1o))))
6254, 61syl5ibrcom 248 . . . . . . . . 9 ((𝜑𝑎𝐼) → (𝑏 = 1o → (𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
6344, 62jaod 865 . . . . . . . 8 ((𝜑𝑎𝐼) → ((𝑏 = ∅ ∨ 𝑏 = 1o) → (𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
6410, 63syl5 34 . . . . . . 7 ((𝜑𝑎𝐼) → (𝑏 ∈ 2o → (𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
6564impr 455 . . . . . 6 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏)))
667, 65eqtrd 2774 . . . . 5 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑁‘(𝑎𝑇𝑏)))
67 fveq2 6827 . . . . . . . 8 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑀𝐴) = (𝑀‘⟨𝑎, 𝑏⟩))
68 df-ov 7359 . . . . . . . 8 (𝑎𝑀𝑏) = (𝑀‘⟨𝑎, 𝑏⟩)
6967, 68eqtr4di 2792 . . . . . . 7 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑀𝐴) = (𝑎𝑀𝑏))
7069fveq2d 6831 . . . . . 6 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘(𝑀𝐴)) = (𝑇‘(𝑎𝑀𝑏)))
71 fveq2 6827 . . . . . . . 8 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇𝐴) = (𝑇‘⟨𝑎, 𝑏⟩))
72 df-ov 7359 . . . . . . . 8 (𝑎𝑇𝑏) = (𝑇‘⟨𝑎, 𝑏⟩)
7371, 72eqtr4di 2792 . . . . . . 7 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇𝐴) = (𝑎𝑇𝑏))
7473fveq2d 6831 . . . . . 6 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑁‘(𝑇𝐴)) = (𝑁‘(𝑎𝑇𝑏)))
7570, 74eqeq12d 2755 . . . . 5 (𝐴 = ⟨𝑎, 𝑏⟩ → ((𝑇‘(𝑀𝐴)) = (𝑁‘(𝑇𝐴)) ↔ (𝑇‘(𝑎𝑀𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
7666, 75syl5ibrcom 248 . . . 4 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘(𝑀𝐴)) = (𝑁‘(𝑇𝐴))))
7776rexlimdvva 3196 . . 3 (𝜑 → (∃𝑎𝐼𝑏 ∈ 2o 𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘(𝑀𝐴)) = (𝑁‘(𝑇𝐴))))
781, 77biimtrid 243 . 2 (𝜑 → (𝐴 ∈ (𝐼 × 2o) → (𝑇‘(𝑀𝐴)) = (𝑁‘(𝑇𝐴))))
7978imp 407 1 ((𝜑𝐴 ∈ (𝐼 × 2o)) → (𝑇‘(𝑀𝐴)) = (𝑁‘(𝑇𝐴)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 396  wo 853   = wceq 1547  wcel 2119  wne 2934  wrex 3063  cdif 3880  c0 4261  ifcif 4454  {cpr 4557  cop 4561   × cxp 5616  wf 6481  cfv 6485  (class class class)co 7356  cmpo 7358  1oc1o 8388  2oc2o 8389  Basecbs 17170  Grpcgrp 18900  invgcminusg 18901
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1974  ax-7 2015  ax-8 2121  ax-9 2129  ax-10 2152  ax-11 2168  ax-12 2189  ax-ext 2711  ax-sep 5218  ax-nul 5228  ax-pow 5294  ax-pr 5362  ax-un 7678
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 854  df-3an 1094  df-tru 1550  df-fal 1560  df-ex 1787  df-nf 1791  df-sb 2074  df-mo 2543  df-eu 2573  df-clab 2718  df-cleq 2731  df-clel 2814  df-nfc 2888  df-ne 2935  df-ral 3054  df-rex 3064  df-rmo 3344  df-reu 3345  df-rab 3392  df-v 3433  df-sbc 3724  df-dif 3886  df-un 3888  df-in 3890  df-ss 3900  df-nul 4262  df-if 4455  df-pw 4531  df-sn 4556  df-pr 4558  df-op 4562  df-uni 4839  df-br 5073  df-opab 5135  df-mpt 5154  df-id 5513  df-xp 5624  df-rel 5625  df-cnv 5626  df-co 5627  df-dm 5628  df-rn 5629  df-res 5630  df-ima 5631  df-suc 6316  df-iota 6441  df-fun 6487  df-fn 6488  df-f 6489  df-fv 6493  df-riota 7313  df-ov 7359  df-oprab 7360  df-mpo 7361  df-1o 8395  df-2o 8396  df-0g 17395  df-mgm 18599  df-sgrp 18678  df-mnd 18694  df-grp 18903  df-minusg 18904
This theorem is referenced by:  frgpuplem  19738
  Copyright terms: Public domain W3C validator