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

Theorem frgpuptinv 19899
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 5679 . . 3 (𝐴 ∈ (𝐼 × 2o) ↔ ∃𝑎𝐼𝑏 ∈ 2o 𝐴 = ⟨𝑎, 𝑏⟩)
2 frgpuptinv.m . . . . . . . . . 10 𝑀 = (𝑦𝐼, 𝑧 ∈ 2o ↦ ⟨𝑦, (1o𝑧)⟩)
32efgmval 19840 . . . . . . . . 9 ((𝑎𝐼𝑏 ∈ 2o) → (𝑎𝑀𝑏) = ⟨𝑎, (1o𝑏)⟩)
43adantl 487 . . . . . . . 8 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑎𝑀𝑏) = ⟨𝑎, (1o𝑏)⟩)
54fveq2d 6883 . . . . . . 7 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑇‘⟨𝑎, (1o𝑏)⟩))
6 df-ov 7417 . . . . . . 7 (𝑎𝑇(1o𝑏)) = (𝑇‘⟨𝑎, (1o𝑏)⟩)
75, 6eqtr4di 2813 . . . . . 6 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑎𝑇(1o𝑏)))
8 elpri 4608 . . . . . . . . 9 (𝑏 ∈ {∅, 1o} → (𝑏 = ∅ ∨ 𝑏 = 1o))
9 df2o3 8464 . . . . . . . . 9 2o = {∅, 1o}
108, 9eleq2s 2878 . . . . . . . 8 (𝑏 ∈ 2o → (𝑏 = ∅ ∨ 𝑏 = 1o))
11 simpr 490 . . . . . . . . . . . 12 ((𝜑𝑎𝐼) → 𝑎𝐼)
12 1oelpr 8467 . . . . . . . . . . . . 13 1o ∈ {∅, 1o}
1312, 9eleqtrri 2859 . . . . . . . . . . . 12 1o ∈ 2o
14 1n0 8475 . . . . . . . . . . . . . . . 16 1o ≠ ∅
15 neeq1 3017 . . . . . . . . . . . . . . . 16 (𝑧 = 1o → (𝑧 ≠ ∅ ↔ 1o ≠ ∅))
1614, 15mpbiri 261 . . . . . . . . . . . . . . 15 (𝑧 = 1o𝑧 ≠ ∅)
17 ifnefalse 4494 . . . . . . . . . . . . . . 15 (𝑧 ≠ ∅ → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝑁‘(𝐹𝑦)))
1816, 17syl 18 . . . . . . . . . . . . . 14 (𝑧 = 1o → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝑁‘(𝐹𝑦)))
19 fveq2 6879 . . . . . . . . . . . . . . 15 (𝑦 = 𝑎 → (𝐹𝑦) = (𝐹𝑎))
2019fveq2d 6883 . . . . . . . . . . . . . 14 (𝑦 = 𝑎 → (𝑁‘(𝐹𝑦)) = (𝑁‘(𝐹𝑎)))
2118, 20sylan9eqr 2817 . . . . . . . . . . . . 13 ((𝑦 = 𝑎𝑧 = 1o) → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝑁‘(𝐹𝑎)))
22 frgpup.t . . . . . . . . . . . . 13 𝑇 = (𝑦𝐼, 𝑧 ∈ 2o ↦ if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))))
23 fvex 6892 . . . . . . . . . . . . 13 (𝑁‘(𝐹𝑎)) ∈ V
2421, 22, 23ovmpoa 7569 . . . . . . . . . . . 12 ((𝑎𝐼 ∧ 1o ∈ 2o) → (𝑎𝑇1o) = (𝑁‘(𝐹𝑎)))
2511, 13, 24sylancl 598 . . . . . . . . . . 11 ((𝜑𝑎𝐼) → (𝑎𝑇1o) = (𝑁‘(𝐹𝑎)))
26 0ex 5264 . . . . . . . . . . . . . . 15 ∅ ∈ V
2726prid1 4723 . . . . . . . . . . . . . 14 ∅ ∈ {∅, 1o}
2827, 9eleqtrri 2859 . . . . . . . . . . . . 13 ∅ ∈ 2o
29 iftrue 4488 . . . . . . . . . . . . . . 15 (𝑧 = ∅ → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝐹𝑦))
3029, 19sylan9eqr 2817 . . . . . . . . . . . . . 14 ((𝑦 = 𝑎𝑧 = ∅) → if(𝑧 = ∅, (𝐹𝑦), (𝑁‘(𝐹𝑦))) = (𝐹𝑎))
31 fvex 6892 . . . . . . . . . . . . . 14 (𝐹𝑎) ∈ V
3230, 22, 31ovmpoa 7569 . . . . . . . . . . . . 13 ((𝑎𝐼 ∧ ∅ ∈ 2o) → (𝑎𝑇∅) = (𝐹𝑎))
3311, 28, 32sylancl 598 . . . . . . . . . . . 12 ((𝜑𝑎𝐼) → (𝑎𝑇∅) = (𝐹𝑎))
3433fveq2d 6883 . . . . . . . . . . 11 ((𝜑𝑎𝐼) → (𝑁‘(𝑎𝑇∅)) = (𝑁‘(𝐹𝑎)))
3525, 34eqtr4d 2798 . . . . . . . . . 10 ((𝜑𝑎𝐼) → (𝑎𝑇1o) = (𝑁‘(𝑎𝑇∅)))
36 difeq2 4068 . . . . . . . . . . . . 13 (𝑏 = ∅ → (1o𝑏) = (1o ∖ ∅))
37 dif0 4327 . . . . . . . . . . . . 13 (1o ∖ ∅) = 1o
3836, 37eqtrdi 2811 . . . . . . . . . . . 12 (𝑏 = ∅ → (1o𝑏) = 1o)
3938oveq2d 7430 . . . . . . . . . . 11 (𝑏 = ∅ → (𝑎𝑇(1o𝑏)) = (𝑎𝑇1o))
40 oveq2 7422 . . . . . . . . . . . 12 (𝑏 = ∅ → (𝑎𝑇𝑏) = (𝑎𝑇∅))
4140fveq2d 6883 . . . . . . . . . . 11 (𝑏 = ∅ → (𝑁‘(𝑎𝑇𝑏)) = (𝑁‘(𝑎𝑇∅)))
4239, 41eqeq12d 2776 . . . . . . . . . 10 (𝑏 = ∅ → ((𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏)) ↔ (𝑎𝑇1o) = (𝑁‘(𝑎𝑇∅))))
4335, 42syl5ibrcom 250 . . . . . . . . 9 ((𝜑𝑎𝐼) → (𝑏 = ∅ → (𝑎𝑇(1o𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
4435fveq2d 6883 . . . . . . . . . . 11 ((𝜑𝑎𝐼) → (𝑁‘(𝑎𝑇1o)) = (𝑁‘(𝑁‘(𝑎𝑇∅))))
45 frgpup.h . . . . . . . . . . . 12 (𝜑𝐻 ∈ Grp)
46 frgpup.a . . . . . . . . . . . . . 14 (𝜑𝐹:𝐼𝐵)
4746ffvelcdmda 7078 . . . . . . . . . . . . 13 ((𝜑𝑎𝐼) → (𝐹𝑎) ∈ 𝐵)
4833, 47eqeltrd 2860 . . . . . . . . . . . 12 ((𝜑𝑎𝐼) → (𝑎𝑇∅) ∈ 𝐵)
49 frgpup.b . . . . . . . . . . . . 13 𝐵 = (Base‘𝐻)
50 frgpup.n . . . . . . . . . . . . 13 𝑁 = (invg𝐻)
5149, 50grpinvinv 19130 . . . . . . . . . . . 12 ((𝐻 ∈ Grp ∧ (𝑎𝑇∅) ∈ 𝐵) → (𝑁‘(𝑁‘(𝑎𝑇∅))) = (𝑎𝑇∅))
5245, 48, 51syl2an2r 698 . . . . . . . . . . 11 ((𝜑𝑎𝐼) → (𝑁‘(𝑁‘(𝑎𝑇∅))) = (𝑎𝑇∅))
5344, 52eqtr2d 2796 . . . . . . . . . 10 ((𝜑𝑎𝐼) → (𝑎𝑇∅) = (𝑁‘(𝑎𝑇1o)))
54 difeq2 4068 . . . . . . . . . . . . 13 (𝑏 = 1o → (1o𝑏) = (1o ∖ 1o))
55 difid 4325 . . . . . . . . . . . . 13 (1o ∖ 1o) = ∅
5654, 55eqtrdi 2811 . . . . . . . . . . . 12 (𝑏 = 1o → (1o𝑏) = ∅)
5756oveq2d 7430 . . . . . . . . . . 11 (𝑏 = 1o → (𝑎𝑇(1o𝑏)) = (𝑎𝑇∅))
58 oveq2 7422 . . . . . . . . . . . 12 (𝑏 = 1o → (𝑎𝑇𝑏) = (𝑎𝑇1o))
5958fveq2d 6883 . . . . . . . . . . 11 (𝑏 = 1o → (𝑁‘(𝑎𝑇𝑏)) = (𝑁‘(𝑎𝑇1o)))
6057, 59eqeq12d 2776 . . . . . . . . . 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 2795 . . . . 5 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑁‘(𝑎𝑇𝑏)))
66 fveq2 6879 . . . . . . . 8 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑀𝐴) = (𝑀‘⟨𝑎, 𝑏⟩))
67 df-ov 7417 . . . . . . . 8 (𝑎𝑀𝑏) = (𝑀‘⟨𝑎, 𝑏⟩)
6866, 67eqtr4di 2813 . . . . . . 7 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑀𝐴) = (𝑎𝑀𝑏))
6968fveq2d 6883 . . . . . 6 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘(𝑀𝐴)) = (𝑇‘(𝑎𝑀𝑏)))
70 fveq2 6879 . . . . . . . 8 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇𝐴) = (𝑇‘⟨𝑎, 𝑏⟩))
71 df-ov 7417 . . . . . . . 8 (𝑎𝑇𝑏) = (𝑇‘⟨𝑎, 𝑏⟩)
7270, 71eqtr4di 2813 . . . . . . 7 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇𝐴) = (𝑎𝑇𝑏))
7372fveq2d 6883 . . . . . 6 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑁‘(𝑇𝐴)) = (𝑁‘(𝑎𝑇𝑏)))
7469, 73eqeq12d 2776 . . . . 5 (𝐴 = ⟨𝑎, 𝑏⟩ → ((𝑇‘(𝑀𝐴)) = (𝑁‘(𝑇𝐴)) ↔ (𝑇‘(𝑎𝑀𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
7565, 74syl5ibrcom 250 . . . 4 ((𝜑 ∧ (𝑎𝐼𝑏 ∈ 2o)) → (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘(𝑀𝐴)) = (𝑁‘(𝑇𝐴))))
7675rexlimdvva 3219 . . 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 2145  wne 2955  wrex 3086  cdif 3896  c0 4279  ifcif 4482  {cpr 4586  cop 4590   × cxp 5653  wf 6529  cfv 6533  (class class class)co 7414  cmpo 7416  1oc1o 8449  2oc2o 8450  Basecbs 17302  Grpcgrp 19058  invgcminusg 19059
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 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2732  ax-sep 5251  ax-nul 5263  ax-pow 5330  ax-pr 5398  ax-un 7737
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 2100  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-rmo 3365  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3740  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-br 5104  df-opab 5168  df-mpt 5187  df-id 5550  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-suc 6363  df-iota 6489  df-fun 6535  df-fn 6536  df-f 6537  df-fv 6541  df-riota 7371  df-ov 7417  df-oprab 7418  df-mpo 7419  df-1o 8456  df-2o 8457  df-0g 17527  df-mgm 18731  df-sgrp 18822  df-mnd 18838  df-grp 19061  df-minusg 19062
This theorem is used by:  frgpuplem  19900
  Copyright terms: Public domain W3C validator