Metamath Proof Explorer


Theorem frgpuptf

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)

Ref Expression
Hypotheses frgpup.b 𝐵 = ( Base ‘ 𝐻 )
frgpup.n 𝑁 = ( invg𝐻 )
frgpup.t 𝑇 = ( 𝑦𝐼 , 𝑧 ∈ 2o ↦ if ( 𝑧 = ∅ , ( 𝐹𝑦 ) , ( 𝑁 ‘ ( 𝐹𝑦 ) ) ) )
frgpup.h ( 𝜑𝐻 ∈ Grp )
frgpup.i ( 𝜑𝐼𝑉 )
frgpup.a ( 𝜑𝐹 : 𝐼𝐵 )
Assertion frgpuptf ( 𝜑𝑇 : ( 𝐼 × 2o ) ⟶ 𝐵 )

Proof

Step Hyp Ref Expression
1 frgpup.b 𝐵 = ( Base ‘ 𝐻 )
2 frgpup.n 𝑁 = ( invg𝐻 )
3 frgpup.t 𝑇 = ( 𝑦𝐼 , 𝑧 ∈ 2o ↦ if ( 𝑧 = ∅ , ( 𝐹𝑦 ) , ( 𝑁 ‘ ( 𝐹𝑦 ) ) ) )
4 frgpup.h ( 𝜑𝐻 ∈ Grp )
5 frgpup.i ( 𝜑𝐼𝑉 )
6 frgpup.a ( 𝜑𝐹 : 𝐼𝐵 )
7 6 ffvelrnda ( ( 𝜑𝑦𝐼 ) → ( 𝐹𝑦 ) ∈ 𝐵 )
8 7 adantrr ( ( 𝜑 ∧ ( 𝑦𝐼𝑧 ∈ 2o ) ) → ( 𝐹𝑦 ) ∈ 𝐵 )
9 1 2 grpinvcl ( ( 𝐻 ∈ Grp ∧ ( 𝐹𝑦 ) ∈ 𝐵 ) → ( 𝑁 ‘ ( 𝐹𝑦 ) ) ∈ 𝐵 )
10 4 8 9 syl2an2r ( ( 𝜑 ∧ ( 𝑦𝐼𝑧 ∈ 2o ) ) → ( 𝑁 ‘ ( 𝐹𝑦 ) ) ∈ 𝐵 )
11 8 10 ifcld ( ( 𝜑 ∧ ( 𝑦𝐼𝑧 ∈ 2o ) ) → if ( 𝑧 = ∅ , ( 𝐹𝑦 ) , ( 𝑁 ‘ ( 𝐹𝑦 ) ) ) ∈ 𝐵 )
12 11 ralrimivva ( 𝜑 → ∀ 𝑦𝐼𝑧 ∈ 2o if ( 𝑧 = ∅ , ( 𝐹𝑦 ) , ( 𝑁 ‘ ( 𝐹𝑦 ) ) ) ∈ 𝐵 )
13 3 fmpo ( ∀ 𝑦𝐼𝑧 ∈ 2o if ( 𝑧 = ∅ , ( 𝐹𝑦 ) , ( 𝑁 ‘ ( 𝐹𝑦 ) ) ) ∈ 𝐵𝑇 : ( 𝐼 × 2o ) ⟶ 𝐵 )
14 12 13 sylib ( 𝜑𝑇 : ( 𝐼 × 2o ) ⟶ 𝐵 )