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

Theorem frgpuptinv 20036
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 5682 . . 3 (𝐴 ∈ (𝐼 × 2o) ↔ ∃𝑎 ∈ 𝐼 ∃𝑏 ∈ 2o 𝐴 = ⟨𝑎, 𝑏⟩)
2 frgpuptinv.m . . . . . . . . . 10 𝑀 = (𝑦 ∈ 𝐼, 𝑧 ∈ 2o ↦ ⟨𝑦, (1o ∖ 𝑧)⟩)
32efgmval 19977 . . . . . . . . 9 ((𝑎 ∈ 𝐼 ∧ 𝑏 ∈ 2o) → (𝑎𝑀𝑏) = ⟨𝑎, (1o ∖ 𝑏)⟩)
43adantl 487 . . . . . . . 8 ((𝜑 ∧ (𝑎 ∈ 𝐼 ∧ 𝑏 ∈ 2o)) → (𝑎𝑀𝑏) = ⟨𝑎, (1o ∖ 𝑏)⟩)
54fveq2d 6920 . . . . . . 7 ((𝜑 ∧ (𝑎 ∈ 𝐼 ∧ 𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑇‘⟨𝑎, (1o ∖ 𝑏)⟩))
6 df-ov 7454 . . . . . . 7 (𝑎𝑇(1o ∖ 𝑏)) = (𝑇‘⟨𝑎, (1o ∖ 𝑏)⟩)
75, 6eqtr4di 2816 . . . . . 6 ((𝜑 ∧ (𝑎 ∈ 𝐼 ∧ 𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑎𝑇(1o ∖ 𝑏)))
8 elpri 4608 . . . . . . . . 9 (𝑏 ∈ {∅, 1o} → (𝑏 = ∅ ∨ 𝑏 = 1o))
9 df2o3 8522 . . . . . . . . 9 2o = {∅, 1o}
108, 9eleq2s 2882 . . . . . . . 8 (𝑏 ∈ 2o → (𝑏 = ∅ ∨ 𝑏 = 1o))
11 simpr 490 . . . . . . . . . . . 12 ((𝜑 ∧ 𝑎 ∈ 𝐼) → 𝑎 ∈ 𝐼)
12 1oelpr 8525 . . . . . . . . . . . . 13 1o ∈ {∅, 1o}
1312, 9eleqtrri 2863 . . . . . . . . . . . 12 1o ∈ 2o
14 1n0 8533 . . . . . . . . . . . . . . . 16 1o ≠ ∅
15 neeq1 3021 . . . . . . . . . . . . . . . 16 (𝑧 = 1o → (𝑧 ≠ ∅ ↔ 1o ≠ ∅))
1614, 15mpbiri 261 . . . . . . . . . . . . . . 15 (𝑧 = 1o → 𝑧 ≠ ∅)
17 ifnefalse 4497 . . . . . . . . . . . . . . 15 (𝑧 ≠ ∅ → if(𝑧 = ∅, (𝐹‘𝑦), (𝑁‘(𝐹‘𝑦))) = (𝑁‘(𝐹‘𝑦)))
1816, 17syl 18 . . . . . . . . . . . . . 14 (𝑧 = 1o → if(𝑧 = ∅, (𝐹‘𝑦), (𝑁‘(𝐹‘𝑦))) = (𝑁‘(𝐹‘𝑦)))
19 fveq2 6916 . . . . . . . . . . . . . . 15 (𝑦 = 𝑎 → (𝐹‘𝑦) = (𝐹‘𝑎))
2019fveq2d 6920 . . . . . . . . . . . . . 14 (𝑦 = 𝑎 → (𝑁‘(𝐹‘𝑦)) = (𝑁‘(𝐹‘𝑎)))
2118, 20sylan9eqr 2820 . . . . . . . . . . . . 13 ((𝑦 = 𝑎 ∧ 𝑧 = 1o) → if(𝑧 = ∅, (𝐹‘𝑦), (𝑁‘(𝐹‘𝑦))) = (𝑁‘(𝐹‘𝑎)))
22 frgpup.t . . . . . . . . . . . . 13 𝑇 = (𝑦 ∈ 𝐼, 𝑧 ∈ 2o ↦ if(𝑧 = ∅, (𝐹‘𝑦), (𝑁‘(𝐹‘𝑦))))
23 fvex 6929 . . . . . . . . . . . . 13 (𝑁‘(𝐹‘𝑎)) ∈ V
2421, 22, 23ovmpoa 7607 . . . . . . . . . . . 12 ((𝑎 ∈ 𝐼 ∧ 1o ∈ 2o) → (𝑎𝑇1o) = (𝑁‘(𝐹‘𝑎)))
2511, 13, 24sylancl 598 . . . . . . . . . . 11 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑎𝑇1o) = (𝑁‘(𝐹‘𝑎)))
26 0ex 5267 . . . . . . . . . . . . . . 15 ∅ ∈ V
2726prid1 4725 . . . . . . . . . . . . . 14 ∅ ∈ {∅, 1o}
2827, 9eleqtrri 2863 . . . . . . . . . . . . 13 ∅ ∈ 2o
29 iftrue 4491 . . . . . . . . . . . . . . 15 (𝑧 = ∅ → if(𝑧 = ∅, (𝐹‘𝑦), (𝑁‘(𝐹‘𝑦))) = (𝐹‘𝑦))
3029, 19sylan9eqr 2820 . . . . . . . . . . . . . 14 ((𝑦 = 𝑎 ∧ 𝑧 = ∅) → if(𝑧 = ∅, (𝐹‘𝑦), (𝑁‘(𝐹‘𝑦))) = (𝐹‘𝑎))
31 fvex 6929 . . . . . . . . . . . . . 14 (𝐹‘𝑎) ∈ V
3230, 22, 31ovmpoa 7607 . . . . . . . . . . . . 13 ((𝑎 ∈ 𝐼 ∧ ∅ ∈ 2o) → (𝑎𝑇∅) = (𝐹‘𝑎))
3311, 28, 32sylancl 598 . . . . . . . . . . . 12 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑎𝑇∅) = (𝐹‘𝑎))
3433fveq2d 6920 . . . . . . . . . . 11 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑁‘(𝑎𝑇∅)) = (𝑁‘(𝐹‘𝑎)))
3525, 34eqtr4d 2801 . . . . . . . . . 10 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑎𝑇1o) = (𝑁‘(𝑎𝑇∅)))
36 difeq2 4060 . . . . . . . . . . . . 13 (𝑏 = ∅ → (1o ∖ 𝑏) = (1o ∖ ∅))
37 dif0 4330 . . . . . . . . . . . . 13 (1o ∖ ∅) = 1o
3836, 37eqtrdi 2814 . . . . . . . . . . . 12 (𝑏 = ∅ → (1o ∖ 𝑏) = 1o)
3938oveq2d 7467 . . . . . . . . . . 11 (𝑏 = ∅ → (𝑎𝑇(1o ∖ 𝑏)) = (𝑎𝑇1o))
40 oveq2 7459 . . . . . . . . . . . 12 (𝑏 = ∅ → (𝑎𝑇𝑏) = (𝑎𝑇∅))
4140fveq2d 6920 . . . . . . . . . . 11 (𝑏 = ∅ → (𝑁‘(𝑎𝑇𝑏)) = (𝑁‘(𝑎𝑇∅)))
4239, 41eqeq12d 2779 . . . . . . . . . 10 (𝑏 = ∅ → ((𝑎𝑇(1o ∖ 𝑏)) = (𝑁‘(𝑎𝑇𝑏)) ↔ (𝑎𝑇1o) = (𝑁‘(𝑎𝑇∅))))
4335, 42syl5ibrcom 250 . . . . . . . . 9 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑏 = ∅ → (𝑎𝑇(1o ∖ 𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
4435fveq2d 6920 . . . . . . . . . . 11 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑁‘(𝑎𝑇1o)) = (𝑁‘(𝑁‘(𝑎𝑇∅))))
45 frgpup.h . . . . . . . . . . . 12 (𝜑 → 𝐻 ∈ Grp)
46 frgpup.a . . . . . . . . . . . . . 14 (𝜑 → 𝐹:𝐼⟶𝐵)
4746ffvelcdmda 7116 . . . . . . . . . . . . 13 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝐹‘𝑎) ∈ 𝐵)
4833, 47eqeltrd 2864 . . . . . . . . . . . 12 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑎𝑇∅) ∈ 𝐵)
49 frgpup.b . . . . . . . . . . . . 13 𝐵 = (Base‘𝐻)
50 frgpup.n . . . . . . . . . . . . 13 𝑁 = (invg‘𝐻)
5149, 50grpinvinv 19266 . . . . . . . . . . . 12 ((𝐻 ∈ Grp ∧ (𝑎𝑇∅) ∈ 𝐵) → (𝑁‘(𝑁‘(𝑎𝑇∅))) = (𝑎𝑇∅))
5245, 48, 51syl2an2r 698 . . . . . . . . . . 11 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑁‘(𝑁‘(𝑎𝑇∅))) = (𝑎𝑇∅))
5344, 52eqtr2d 2799 . . . . . . . . . 10 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑎𝑇∅) = (𝑁‘(𝑎𝑇1o)))
54 difeq2 4060 . . . . . . . . . . . . 13 (𝑏 = 1o → (1o ∖ 𝑏) = (1o ∖ 1o))
55 difid 4328 . . . . . . . . . . . . 13 (1o ∖ 1o) = ∅
5654, 55eqtrdi 2814 . . . . . . . . . . . 12 (𝑏 = 1o → (1o ∖ 𝑏) = ∅)
5756oveq2d 7467 . . . . . . . . . . 11 (𝑏 = 1o → (𝑎𝑇(1o ∖ 𝑏)) = (𝑎𝑇∅))
58 oveq2 7459 . . . . . . . . . . . 12 (𝑏 = 1o → (𝑎𝑇𝑏) = (𝑎𝑇1o))
5958fveq2d 6920 . . . . . . . . . . 11 (𝑏 = 1o → (𝑁‘(𝑎𝑇𝑏)) = (𝑁‘(𝑎𝑇1o)))
6057, 59eqeq12d 2779 . . . . . . . . . 10 (𝑏 = 1o → ((𝑎𝑇(1o ∖ 𝑏)) = (𝑁‘(𝑎𝑇𝑏)) ↔ (𝑎𝑇∅) = (𝑁‘(𝑎𝑇1o))))
6153, 60syl5ibrcom 250 . . . . . . . . 9 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑏 = 1o → (𝑎𝑇(1o ∖ 𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
6243, 61jaod 873 . . . . . . . 8 ((𝜑 ∧ 𝑎 ∈ 𝐼) → ((𝑏 = ∅ ∨ 𝑏 = 1o) → (𝑎𝑇(1o ∖ 𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
6310, 62syl5 35 . . . . . . 7 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑏 ∈ 2o → (𝑎𝑇(1o ∖ 𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
6463impr 460 . . . . . 6 ((𝜑 ∧ (𝑎 ∈ 𝐼 ∧ 𝑏 ∈ 2o)) → (𝑎𝑇(1o ∖ 𝑏)) = (𝑁‘(𝑎𝑇𝑏)))
657, 64eqtrd 2798 . . . . 5 ((𝜑 ∧ (𝑎 ∈ 𝐼 ∧ 𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑁‘(𝑎𝑇𝑏)))
66 fveq2 6916 . . . . . . . 8 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑀‘𝐴) = (𝑀‘⟨𝑎, 𝑏⟩))
67 df-ov 7454 . . . . . . . 8 (𝑎𝑀𝑏) = (𝑀‘⟨𝑎, 𝑏⟩)
6866, 67eqtr4di 2816 . . . . . . 7 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑀‘𝐴) = (𝑎𝑀𝑏))
6968fveq2d 6920 . . . . . 6 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘(𝑀‘𝐴)) = (𝑇‘(𝑎𝑀𝑏)))
70 fveq2 6916 . . . . . . . 8 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘𝐴) = (𝑇‘⟨𝑎, 𝑏⟩))
71 df-ov 7454 . . . . . . . 8 (𝑎𝑇𝑏) = (𝑇‘⟨𝑎, 𝑏⟩)
7270, 71eqtr4di 2816 . . . . . . 7 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘𝐴) = (𝑎𝑇𝑏))
7372fveq2d 6920 . . . . . 6 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑁‘(𝑇‘𝐴)) = (𝑁‘(𝑎𝑇𝑏)))
7469, 73eqeq12d 2779 . . . . 5 (𝐴 = ⟨𝑎, 𝑏⟩ → ((𝑇‘(𝑀‘𝐴)) = (𝑁‘(𝑇‘𝐴)) ↔ (𝑇‘(𝑎𝑀𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
7565, 74syl5ibrcom 250 . . . 4 ((𝜑 ∧ (𝑎 ∈ 𝐼 ∧ 𝑏 ∈ 2o)) → (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘(𝑀‘𝐴)) = (𝑁‘(𝑇‘𝐴))))
7675rexlimdvva 3223 . . 3 (𝜑 → (∃𝑎 ∈ 𝐼 ∃𝑏 ∈ 2o 𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘(𝑀‘𝐴)) = (𝑁‘(𝑇‘𝐴))))
771, 76biimtrid 245 . 2 (𝜑 → (𝐴 ∈ (𝐼 × 2o) → (𝑇‘(𝑀‘𝐴)) = (𝑁‘(𝑇‘𝐴))))
7877imp 412 1 ((𝜑 ∧ 𝐴 ∈ (𝐼 × 2o)) → (𝑇‘(𝑀‘𝐴)) = (𝑁‘(𝑇‘𝐴)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∧ wa 401   ∨ wo 861   = wceq 1570   ∈ wcel 2147   ≠ wne 2959  ∃wrex 3090   ∖ cdif 4048  ∅c0 4281  ifcif 4485  {cpr 4590  ⟨cop 4840   × cxp 5656  ⟶wf 6562  ‘cfv 6566  (class class class)co 7451   ∈ cmpo 7453  1oc1o 8507  2oc2o 8508  Basecbs 17431  Grpcgrp 19194  invgcminusg 19195
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-sep 5255  ax-nul 5266  ax-pow 5334  ax-pr 5398  ax-un 7783
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-ral 3081  df-rex 3091  df-rmo 3369  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-ss 3901  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-op 4841  df-uni 4873  df-br 5109  df-opab 5174  df-mpt 5193  df-id 5553  df-xp 5664  df-rel 5665  df-cnv 5666  df-co 5667  df-dm 5668  df-rn 5669  df-res 5670  df-ima 5671  df-suc 6394  df-iota 6520  df-fun 6568  df-fn 6569  df-f 6570  df-fv 6574  df-riota 7408  df-ov 7454  df-oprab 7455  df-mpo 7456  df-1o 8514  df-2o 8515  df-0g 17662  df-mgm 18866  df-sgrp 18958  df-mnd 18974  df-grp 19197  df-minusg 19198
This theorem is used by:  frgpuplem  20037
  Copyright terms: Public domain W3C validator