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

Theorem frgpuptinv 19985
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 5675 . . 3 (𝐴 ∈ (𝐼 × 2o) ↔ ∃𝑎 ∈ 𝐼 ∃𝑏 ∈ 2o 𝐴 = ⟨𝑎, 𝑏⟩)
2 frgpuptinv.m . . . . . . . . . 10 𝑀 = (𝑦 ∈ 𝐼, 𝑧 ∈ 2o ↦ ⟨𝑦, (1o ∖ 𝑧)⟩)
32efgmval 19926 . . . . . . . . 9 ((𝑎 ∈ 𝐼 ∧ 𝑏 ∈ 2o) → (𝑎𝑀𝑏) = ⟨𝑎, (1o ∖ 𝑏)⟩)
43adantl 487 . . . . . . . 8 ((𝜑 ∧ (𝑎 ∈ 𝐼 ∧ 𝑏 ∈ 2o)) → (𝑎𝑀𝑏) = ⟨𝑎, (1o ∖ 𝑏)⟩)
54fveq2d 6889 . . . . . . 7 ((𝜑 ∧ (𝑎 ∈ 𝐼 ∧ 𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑇‘⟨𝑎, (1o ∖ 𝑏)⟩))
6 df-ov 7423 . . . . . . 7 (𝑎𝑇(1o ∖ 𝑏)) = (𝑇‘⟨𝑎, (1o ∖ 𝑏)⟩)
75, 6eqtr4di 2814 . . . . . 6 ((𝜑 ∧ (𝑎 ∈ 𝐼 ∧ 𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑎𝑇(1o ∖ 𝑏)))
8 elpri 4608 . . . . . . . . 9 (𝑏 ∈ {∅, 1o} → (𝑏 = ∅ ∨ 𝑏 = 1o))
9 df2o3 8484 . . . . . . . . 9 2o = {∅, 1o}
108, 9eleq2s 2879 . . . . . . . 8 (𝑏 ∈ 2o → (𝑏 = ∅ ∨ 𝑏 = 1o))
11 simpr 490 . . . . . . . . . . . 12 ((𝜑 ∧ 𝑎 ∈ 𝐼) → 𝑎 ∈ 𝐼)
12 1oelpr 8487 . . . . . . . . . . . . 13 1o ∈ {∅, 1o}
1312, 9eleqtrri 2860 . . . . . . . . . . . 12 1o ∈ 2o
14 1n0 8495 . . . . . . . . . . . . . . . 16 1o ≠ ∅
15 neeq1 3018 . . . . . . . . . . . . . . . 16 (𝑧 = 1o → (𝑧 ≠ ∅ ↔ 1o ≠ ∅))
1614, 15mpbiri 261 . . . . . . . . . . . . . . 15 (𝑧 = 1o → 𝑧 ≠ ∅)
17 ifnefalse 4494 . . . . . . . . . . . . . . 15 (𝑧 ≠ ∅ → if(𝑧 = ∅, (𝐹‘𝑦), (𝑁‘(𝐹‘𝑦))) = (𝑁‘(𝐹‘𝑦)))
1816, 17syl 18 . . . . . . . . . . . . . 14 (𝑧 = 1o → if(𝑧 = ∅, (𝐹‘𝑦), (𝑁‘(𝐹‘𝑦))) = (𝑁‘(𝐹‘𝑦)))
19 fveq2 6885 . . . . . . . . . . . . . . 15 (𝑦 = 𝑎 → (𝐹‘𝑦) = (𝐹‘𝑎))
2019fveq2d 6889 . . . . . . . . . . . . . 14 (𝑦 = 𝑎 → (𝑁‘(𝐹‘𝑦)) = (𝑁‘(𝐹‘𝑎)))
2118, 20sylan9eqr 2818 . . . . . . . . . . . . 13 ((𝑦 = 𝑎 ∧ 𝑧 = 1o) → if(𝑧 = ∅, (𝐹‘𝑦), (𝑁‘(𝐹‘𝑦))) = (𝑁‘(𝐹‘𝑎)))
22 frgpup.t . . . . . . . . . . . . 13 𝑇 = (𝑦 ∈ 𝐼, 𝑧 ∈ 2o ↦ if(𝑧 = ∅, (𝐹‘𝑦), (𝑁‘(𝐹‘𝑦))))
23 fvex 6898 . . . . . . . . . . . . 13 (𝑁‘(𝐹‘𝑎)) ∈ V
2421, 22, 23ovmpoa 7575 . . . . . . . . . . . 12 ((𝑎 ∈ 𝐼 ∧ 1o ∈ 2o) → (𝑎𝑇1o) = (𝑁‘(𝐹‘𝑎)))
2511, 13, 24sylancl 598 . . . . . . . . . . 11 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑎𝑇1o) = (𝑁‘(𝐹‘𝑎)))
26 0ex 5261 . . . . . . . . . . . . . . 15 ∅ ∈ V
2726prid1 4723 . . . . . . . . . . . . . 14 ∅ ∈ {∅, 1o}
2827, 9eleqtrri 2860 . . . . . . . . . . . . 13 ∅ ∈ 2o
29 iftrue 4488 . . . . . . . . . . . . . . 15 (𝑧 = ∅ → if(𝑧 = ∅, (𝐹‘𝑦), (𝑁‘(𝐹‘𝑦))) = (𝐹‘𝑦))
3029, 19sylan9eqr 2818 . . . . . . . . . . . . . 14 ((𝑦 = 𝑎 ∧ 𝑧 = ∅) → if(𝑧 = ∅, (𝐹‘𝑦), (𝑁‘(𝐹‘𝑦))) = (𝐹‘𝑎))
31 fvex 6898 . . . . . . . . . . . . . 14 (𝐹‘𝑎) ∈ V
3230, 22, 31ovmpoa 7575 . . . . . . . . . . . . 13 ((𝑎 ∈ 𝐼 ∧ ∅ ∈ 2o) → (𝑎𝑇∅) = (𝐹‘𝑎))
3311, 28, 32sylancl 598 . . . . . . . . . . . 12 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑎𝑇∅) = (𝐹‘𝑎))
3433fveq2d 6889 . . . . . . . . . . 11 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑁‘(𝑎𝑇∅)) = (𝑁‘(𝐹‘𝑎)))
3525, 34eqtr4d 2799 . . . . . . . . . 10 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑎𝑇1o) = (𝑁‘(𝑎𝑇∅)))
36 difeq2 4068 . . . . . . . . . . . . 13 (𝑏 = ∅ → (1o ∖ 𝑏) = (1o ∖ ∅))
37 dif0 4327 . . . . . . . . . . . . 13 (1o ∖ ∅) = 1o
3836, 37eqtrdi 2812 . . . . . . . . . . . 12 (𝑏 = ∅ → (1o ∖ 𝑏) = 1o)
3938oveq2d 7436 . . . . . . . . . . 11 (𝑏 = ∅ → (𝑎𝑇(1o ∖ 𝑏)) = (𝑎𝑇1o))
40 oveq2 7428 . . . . . . . . . . . 12 (𝑏 = ∅ → (𝑎𝑇𝑏) = (𝑎𝑇∅))
4140fveq2d 6889 . . . . . . . . . . 11 (𝑏 = ∅ → (𝑁‘(𝑎𝑇𝑏)) = (𝑁‘(𝑎𝑇∅)))
4239, 41eqeq12d 2777 . . . . . . . . . 10 (𝑏 = ∅ → ((𝑎𝑇(1o ∖ 𝑏)) = (𝑁‘(𝑎𝑇𝑏)) ↔ (𝑎𝑇1o) = (𝑁‘(𝑎𝑇∅))))
4335, 42syl5ibrcom 250 . . . . . . . . 9 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑏 = ∅ → (𝑎𝑇(1o ∖ 𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
4435fveq2d 6889 . . . . . . . . . . 11 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑁‘(𝑎𝑇1o)) = (𝑁‘(𝑁‘(𝑎𝑇∅))))
45 frgpup.h . . . . . . . . . . . 12 (𝜑 → 𝐻 ∈ Grp)
46 frgpup.a . . . . . . . . . . . . . 14 (𝜑 → 𝐹:𝐼⟶𝐵)
4746ffvelcdmda 7084 . . . . . . . . . . . . 13 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝐹‘𝑎) ∈ 𝐵)
4833, 47eqeltrd 2861 . . . . . . . . . . . 12 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑎𝑇∅) ∈ 𝐵)
49 frgpup.b . . . . . . . . . . . . 13 𝐵 = (Base‘𝐻)
50 frgpup.n . . . . . . . . . . . . 13 𝑁 = (invg‘𝐻)
5149, 50grpinvinv 19216 . . . . . . . . . . . 12 ((𝐻 ∈ Grp ∧ (𝑎𝑇∅) ∈ 𝐵) → (𝑁‘(𝑁‘(𝑎𝑇∅))) = (𝑎𝑇∅))
5245, 48, 51syl2an2r 698 . . . . . . . . . . 11 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑁‘(𝑁‘(𝑎𝑇∅))) = (𝑎𝑇∅))
5344, 52eqtr2d 2797 . . . . . . . . . 10 ((𝜑 ∧ 𝑎 ∈ 𝐼) → (𝑎𝑇∅) = (𝑁‘(𝑎𝑇1o)))
54 difeq2 4068 . . . . . . . . . . . . 13 (𝑏 = 1o → (1o ∖ 𝑏) = (1o ∖ 1o))
55 difid 4325 . . . . . . . . . . . . 13 (1o ∖ 1o) = ∅
5654, 55eqtrdi 2812 . . . . . . . . . . . 12 (𝑏 = 1o → (1o ∖ 𝑏) = ∅)
5756oveq2d 7436 . . . . . . . . . . 11 (𝑏 = 1o → (𝑎𝑇(1o ∖ 𝑏)) = (𝑎𝑇∅))
58 oveq2 7428 . . . . . . . . . . . 12 (𝑏 = 1o → (𝑎𝑇𝑏) = (𝑎𝑇1o))
5958fveq2d 6889 . . . . . . . . . . 11 (𝑏 = 1o → (𝑁‘(𝑎𝑇𝑏)) = (𝑁‘(𝑎𝑇1o)))
6057, 59eqeq12d 2777 . . . . . . . . . 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 2796 . . . . 5 ((𝜑 ∧ (𝑎 ∈ 𝐼 ∧ 𝑏 ∈ 2o)) → (𝑇‘(𝑎𝑀𝑏)) = (𝑁‘(𝑎𝑇𝑏)))
66 fveq2 6885 . . . . . . . 8 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑀‘𝐴) = (𝑀‘⟨𝑎, 𝑏⟩))
67 df-ov 7423 . . . . . . . 8 (𝑎𝑀𝑏) = (𝑀‘⟨𝑎, 𝑏⟩)
6866, 67eqtr4di 2814 . . . . . . 7 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑀‘𝐴) = (𝑎𝑀𝑏))
6968fveq2d 6889 . . . . . 6 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘(𝑀‘𝐴)) = (𝑇‘(𝑎𝑀𝑏)))
70 fveq2 6885 . . . . . . . 8 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘𝐴) = (𝑇‘⟨𝑎, 𝑏⟩))
71 df-ov 7423 . . . . . . . 8 (𝑎𝑇𝑏) = (𝑇‘⟨𝑎, 𝑏⟩)
7270, 71eqtr4di 2814 . . . . . . 7 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘𝐴) = (𝑎𝑇𝑏))
7372fveq2d 6889 . . . . . 6 (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑁‘(𝑇‘𝐴)) = (𝑁‘(𝑎𝑇𝑏)))
7469, 73eqeq12d 2777 . . . . 5 (𝐴 = ⟨𝑎, 𝑏⟩ → ((𝑇‘(𝑀‘𝐴)) = (𝑁‘(𝑇‘𝐴)) ↔ (𝑇‘(𝑎𝑀𝑏)) = (𝑁‘(𝑎𝑇𝑏))))
7565, 74syl5ibrcom 250 . . . 4 ((𝜑 ∧ (𝑎 ∈ 𝐼 ∧ 𝑏 ∈ 2o)) → (𝐴 = ⟨𝑎, 𝑏⟩ → (𝑇‘(𝑀‘𝐴)) = (𝑁‘(𝑇‘𝐴))))
7675rexlimdvva 3220 . . 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 2956  ∃wrex 3087   ∖ cdif 3896  ∅c0 4279  ifcif 4482  {cpr 4586  ⟨cop 4590   × cxp 5649  ⟶wf 6534  ‘cfv 6538  (class class class)co 7420   ∈ cmpo 7422  1oc1o 8469  2oc2o 8470  Basecbs 17387  Grpcgrp 19144  invgcminusg 19145
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 2733  ax-sep 5249  ax-nul 5260  ax-pow 5327  ax-pr 5391  ax-un 7751
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 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-ral 3078  df-rex 3088  df-rmo 3366  df-reu 3367  df-rab 3414  df-v 3453  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 5546  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-res 5663  df-ima 5664  df-suc 6368  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-fv 6546  df-riota 7377  df-ov 7423  df-oprab 7424  df-mpo 7425  df-1o 8476  df-2o 8477  df-0g 17612  df-mgm 18816  df-sgrp 18908  df-mnd 18924  df-grp 19147  df-minusg 19148
This theorem is used by:  frgpuplem  19986
  Copyright terms: Public domain W3C validator