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

Theorem frgpuptinv 19701
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 5662 . . 3 (𝐴 ∈ (𝐼 × 2o) ↔ ∃𝑎𝐼𝑏 ∈ 2o 𝐴 = ⟨𝑎, 𝑏⟩)
2 frgpuptinv.m . . . . . . . . . 10 𝑀 = (𝑦𝐼, 𝑧 ∈ 2o ↦ ⟨𝑦, (1o𝑧)⟩)
32efgmval 19642 . . . . . . . . 9 ((𝑎𝐼𝑏 ∈ 2o) → (𝑎𝑀𝑏) = ⟨𝑎, (1o𝑏)⟩)
43adantl 481 . . . . . . . 8 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑎𝑀𝑏) = ⟨𝑎, (1o𝑏)⟩)
54fveq2d 6862 . . . . . . 7 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑇‘⟨𝑎, (1o𝑏)⟩))
6 df-ov 7390 . . . . . . 7 (𝑎𝑇(1o𝑏)) = (𝑇‘⟨𝑎, (1o𝑏)⟩)
75, 6eqtr4di 2782 . . . . . 6 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑎𝑇(1o𝑏)))
8 elpri 4613 . . . . . . . . 9 (𝑏 ∈ {∅, 1o} → (𝑏 = ∅ ∨ 𝑏 = 1o))
9 df2o3 8442 . . . . . . . . 9 2o = {∅, 1o}
108, 9eleq2s 2846 . . . . . . . 8 (𝑏 ∈ 2o → (𝑏 = ∅ ∨ 𝑏 = 1o))
11 simpr 484 . . . . . . . . . . . 12 ((𝜑𝑎𝐼) → 𝑎𝐼)
12 1oex 8444 . . . . . . . . . . . . . 14 1o ∈ V
1312prid2 4727 . . . . . . . . . . . . 13 1o ∈ {∅, 1o}
1413, 9eleqtrri 2827 . . . . . . . . . . . 12 1o ∈ 2o
15 1n0 8452 . . . . . . . . . . . . . . . 16 1o ≠ ∅
16 neeq1 2987 . . . . . . . . . . . . . . . 16 (𝑧 = 1o → (𝑧 ≠ ∅ ↔ 1o ≠ ∅))
1715, 16mpbiri 258 . . . . . . . . . . . . . . 15 (𝑧 = 1o𝑧 ≠ ∅)
18 ifnefalse 4500 . . . . . . . . . . . . . . 15 (𝑧 ≠ ∅ → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝑁‘(𝐹𝑦)))
1917, 18syl 17 . . . . . . . . . . . . . 14 (𝑧 = 1o → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝑁‘(𝐹𝑦)))
20 fveq2 6858 . . . . . . . . . . . . . . 15 (𝑦 = 𝑎 → (𝐹𝑦) = (𝐹𝑎))
2120fveq2d 6862 . . . . . . . . . . . . . 14 (𝑦 = 𝑎 → (𝑁‘(𝐹𝑦)) = (𝑁‘(𝐹𝑎)))
2219, 21sylan9eqr 2786 . . . . . . . . . . . . 13 ((𝑦 = 𝑎𝑧 = 1o) → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝑁‘(𝐹𝑎)))
23 frgpup.t . . . . . . . . . . . . 13 𝑇 = (𝑦𝐼, 𝑧 ∈ 2o ↦ if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))))
24 fvex 6871 . . . . . . . . . . . . 13 (𝑁‘(𝐹𝑎)) ∈ V
2522, 23, 24ovmpoa 7544 . . . . . . . . . . . 12 ((𝑎𝐼 ∧ 1o ∈ 2o) → (𝑎𝑇1o) = (𝑁‘(𝐹𝑎)))
2611, 14, 25sylancl 586 . . . . . . . . . . 11 ((𝜑𝑎𝐼) → (𝑎𝑇1o) = (𝑁‘(𝐹𝑎)))
27 0ex 5262 . . . . . . . . . . . . . . 15 ∅ ∈ V
2827prid1 4726 . . . . . . . . . . . . . 14 ∅ ∈ {∅, 1o}
2928, 9eleqtrri 2827 . . . . . . . . . . . . 13 ∅ ∈ 2o
30 iftrue 4494 . . . . . . . . . . . . . . 15 (𝑧 = ∅ → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝐹𝑦))
3130, 20sylan9eqr 2786 . . . . . . . . . . . . . 14 ((𝑦 = 𝑎𝑧 = ∅) → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝐹𝑎))
32 fvex 6871 . . . . . . . . . . . . . 14 (𝐹𝑎) ∈ V
3331, 23, 32ovmpoa 7544 . . . . . . . . . . . . 13 ((𝑎𝐼 ∧ ∅ ∈ 2o) → (𝑎𝑇∅) = (𝐹𝑎))
3411, 29, 33sylancl 586 . . . . . . . . . . . 12 ((𝜑𝑎𝐼) → (𝑎𝑇∅) = (𝐹𝑎))
3534fveq2d 6862 . . . . . . . . . . 11 ((𝜑𝑎𝐼) → (𝑁‘(𝑎𝑇∅)) = (𝑁‘(𝐹𝑎)))
3626, 35eqtr4d 2767 . . . . . . . . . 10 ((𝜑𝑎𝐼) → (𝑎𝑇1o) = (𝑁‘(𝑎𝑇∅)))
37 difeq2 4083 . . . . . . . . . . . . 13 (𝑏 = ∅ → (1o𝑏) = (1o ∖ ∅))
38 dif0 4341 . . . . . . . . . . . . 13 (1o ∖ ∅) = 1o
3937, 38eqtrdi 2780 . . . . . . . . . . . 12 (𝑏 = ∅ → (1o𝑏) = 1o)
4039oveq2d 7403 . . . . . . . . . . 11 (𝑏 = ∅ → (𝑎𝑇(1o𝑏)) = (𝑎𝑇1o))
41 oveq2 7395 . . . . . . . . . . . 12 (𝑏 = ∅ → (𝑎𝑇𝑏) = (𝑎𝑇∅))
4241fveq2d 6862 . . . . . . . . . . 11 (𝑏 = ∅ → (𝑁‘(𝑎𝑇𝑏)) = (𝑁‘(𝑎𝑇∅)))
4340, 42eqeq12d 2745 . . . . . . . . . 10 (𝑏 = ∅ → ((𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏)) ↔ (𝑎𝑇1o) = (𝑁‘(𝑎𝑇∅))))
4436, 43syl5ibrcom 247 . . . . . . . . 9 ((𝜑𝑎𝐼) → (𝑏 = ∅ → (𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
4536fveq2d 6862 . . . . . . . . . . 11 ((𝜑𝑎𝐼) → (𝑁‘(𝑎𝑇1o)) = (𝑁‘(𝑁‘(𝑎𝑇∅))))
46 frgpup.h . . . . . . . . . . . 12 (𝜑𝐻 ∈ Grp)
47 frgpup.a . . . . . . . . . . . . . 14 (𝜑𝐹:𝐼𝐵)
4847ffvelcdmda 7056 . . . . . . . . . . . . 13 ((𝜑𝑎𝐼) → (𝐹𝑎) ∈ 𝐵)
4934, 48eqeltrd 2828 . . . . . . . . . . . 12 ((𝜑𝑎𝐼) → (𝑎𝑇∅) ∈ 𝐵)
50 frgpup.b . . . . . . . . . . . . 13 𝐵 = (Base‘𝐻)
51 frgpup.n . . . . . . . . . . . . 13 𝑁 = (invg𝐻)
5250, 51grpinvinv 18937 . . . . . . . . . . . 12 ((𝐻 ∈ Grp ∧ (𝑎𝑇∅) ∈ 𝐵) → (𝑁‘(𝑁‘(𝑎𝑇∅))) = (𝑎𝑇∅))
5346, 49, 52syl2an2r 685 . . . . . . . . . . 11 ((𝜑𝑎𝐼) → (𝑁‘(𝑁‘(𝑎𝑇∅))) = (𝑎𝑇∅))
5445, 53eqtr2d 2765 . . . . . . . . . 10 ((𝜑𝑎𝐼) → (𝑎𝑇∅) = (𝑁‘(𝑎𝑇1o)))
55 difeq2 4083 . . . . . . . . . . . . 13 (𝑏 = 1o → (1o𝑏) = (1o ∖ 1o))
56 difid 4339 . . . . . . . . . . . . 13 (1o ∖ 1o) = ∅
5755, 56eqtrdi 2780 . . . . . . . . . . . 12 (𝑏 = 1o → (1o𝑏) = ∅)
5857oveq2d 7403 . . . . . . . . . . 11 (𝑏 = 1o → (𝑎𝑇(1o𝑏)) = (𝑎𝑇∅))
59 oveq2 7395 . . . . . . . . . . . 12 (𝑏 = 1o → (𝑎𝑇𝑏) = (𝑎𝑇1o))
6059fveq2d 6862 . . . . . . . . . . 11 (𝑏 = 1o → (𝑁‘(𝑎𝑇𝑏)) = (𝑁‘(𝑎𝑇1o)))
6158, 60eqeq12d 2745 . . . . . . . . . 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 2764 . . . . 5 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑁‘(𝑎𝑇𝑏)))
67 fveq2 6858 . . . . . . . 8 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑀𝐴) = (𝑀‘⟨𝑎, 𝑏⟩))
68 df-ov 7390 . . . . . . . 8 (𝑎𝑀𝑏) = (𝑀‘⟨𝑎, 𝑏⟩)
6967, 68eqtr4di 2782 . . . . . . 7 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑀𝐴) = (𝑎𝑀𝑏))
7069fveq2d 6862 . . . . . 6 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘(𝑀𝐴)) = (𝑇‘(𝑎𝑀𝑏)))
71 fveq2 6858 . . . . . . . 8 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇𝐴) = (𝑇‘⟨𝑎, 𝑏⟩))
72 df-ov 7390 . . . . . . . 8 (𝑎𝑇𝑏) = (𝑇‘⟨𝑎, 𝑏⟩)
7371, 72eqtr4di 2782 . . . . . . 7 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇𝐴) = (𝑎𝑇𝑏))
7473fveq2d 6862 . . . . . 6 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑁‘(𝑇𝐴)) = (𝑁‘(𝑎𝑇𝑏)))
7570, 74eqeq12d 2745 . . . . 5 (𝐴 = ⟨𝑎, 𝑏⟩ → ((𝑇‘(𝑀𝐴)) = (𝑁‘(𝑇𝐴)) ↔ (𝑇‘(𝑎𝑀𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
7666, 75syl5ibrcom 247 . . . 4 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘(𝑀𝐴)) = (𝑁‘(𝑇𝐴))))
7776rexlimdvva 3194 . . 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 2925  wrex 3053  cdif 3911  c0 4296  ifcif 4488  {cpr 4591  cop 4595   × cxp 5636  wf 6507  cfv 6511  (class class class)co 7387  cmpo 7389  1oc1o 8427  2oc2o 8428  Basecbs 17179  Grpcgrp 18865  invgcminusg 18866
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 2701  ax-sep 5251  ax-nul 5261  ax-pow 5320  ax-pr 5387  ax-un 7711
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 2533  df-eu 2562  df-clab 2708  df-cleq 2721  df-clel 2803  df-nfc 2878  df-ne 2926  df-ral 3045  df-rex 3054  df-rmo 3354  df-reu 3355  df-rab 3406  df-v 3449  df-sbc 3754  df-dif 3917  df-un 3919  df-in 3921  df-ss 3931  df-nul 4297  df-if 4489  df-pw 4565  df-sn 4590  df-pr 4592  df-op 4596  df-uni 4872  df-br 5108  df-opab 5170  df-mpt 5189  df-id 5533  df-xp 5644  df-rel 5645  df-cnv 5646  df-co 5647  df-dm 5648  df-rn 5649  df-res 5650  df-ima 5651  df-suc 6338  df-iota 6464  df-fun 6513  df-fn 6514  df-f 6515  df-fv 6519  df-riota 7344  df-ov 7390  df-oprab 7391  df-mpo 7392  df-1o 8434  df-2o 8435  df-0g 17404  df-mgm 18567  df-sgrp 18646  df-mnd 18662  df-grp 18868  df-minusg 18869
This theorem is referenced by:  frgpuplem  19702
  Copyright terms: Public domain W3C validator