Metamath Proof Explorer


Theorem injsubmefmnd

Description: The set of injective endofunctions on a set A is a submonoid of the monoid of endofunctions on A . (Contributed by AV, 25-Feb-2024)

Ref Expression
Hypothesis sursubmefmnd.m 𝑀 = ( EndoFMnd ‘ 𝐴 )
Assertion injsubmefmnd ( 𝐴𝑉 → { : 𝐴1-1𝐴 } ∈ ( SubMnd ‘ 𝑀 ) )

Proof

Step Hyp Ref Expression
1 sursubmefmnd.m 𝑀 = ( EndoFMnd ‘ 𝐴 )
2 vex 𝑥 ∈ V
3 f1eq1 ( = 𝑥 → ( : 𝐴1-1𝐴𝑥 : 𝐴1-1𝐴 ) )
4 2 3 elab ( 𝑥 ∈ { : 𝐴1-1𝐴 } ↔ 𝑥 : 𝐴1-1𝐴 )
5 f1f ( 𝑥 : 𝐴1-1𝐴𝑥 : 𝐴𝐴 )
6 eqid ( Base ‘ 𝑀 ) = ( Base ‘ 𝑀 )
7 1 6 elefmndbas ( 𝐴𝑉 → ( 𝑥 ∈ ( Base ‘ 𝑀 ) ↔ 𝑥 : 𝐴𝐴 ) )
8 5 7 syl5ibr ( 𝐴𝑉 → ( 𝑥 : 𝐴1-1𝐴𝑥 ∈ ( Base ‘ 𝑀 ) ) )
9 4 8 syl5bi ( 𝐴𝑉 → ( 𝑥 ∈ { : 𝐴1-1𝐴 } → 𝑥 ∈ ( Base ‘ 𝑀 ) ) )
10 9 ssrdv ( 𝐴𝑉 → { : 𝐴1-1𝐴 } ⊆ ( Base ‘ 𝑀 ) )
11 1 efmndid ( 𝐴𝑉 → ( I ↾ 𝐴 ) = ( 0g𝑀 ) )
12 resiexg ( 𝐴𝑉 → ( I ↾ 𝐴 ) ∈ V )
13 f1oi ( I ↾ 𝐴 ) : 𝐴1-1-onto𝐴
14 f1of1 ( ( I ↾ 𝐴 ) : 𝐴1-1-onto𝐴 → ( I ↾ 𝐴 ) : 𝐴1-1𝐴 )
15 13 14 mp1i ( 𝐴𝑉 → ( I ↾ 𝐴 ) : 𝐴1-1𝐴 )
16 f1eq1 ( = ( I ↾ 𝐴 ) → ( : 𝐴1-1𝐴 ↔ ( I ↾ 𝐴 ) : 𝐴1-1𝐴 ) )
17 12 15 16 elabd ( 𝐴𝑉 → ( I ↾ 𝐴 ) ∈ { : 𝐴1-1𝐴 } )
18 11 17 eqeltrrd ( 𝐴𝑉 → ( 0g𝑀 ) ∈ { : 𝐴1-1𝐴 } )
19 vex 𝑦 ∈ V
20 f1eq1 ( = 𝑦 → ( : 𝐴1-1𝐴𝑦 : 𝐴1-1𝐴 ) )
21 19 20 elab ( 𝑦 ∈ { : 𝐴1-1𝐴 } ↔ 𝑦 : 𝐴1-1𝐴 )
22 4 21 anbi12i ( ( 𝑥 ∈ { : 𝐴1-1𝐴 } ∧ 𝑦 ∈ { : 𝐴1-1𝐴 } ) ↔ ( 𝑥 : 𝐴1-1𝐴𝑦 : 𝐴1-1𝐴 ) )
23 f1co ( ( 𝑥 : 𝐴1-1𝐴𝑦 : 𝐴1-1𝐴 ) → ( 𝑥𝑦 ) : 𝐴1-1𝐴 )
24 23 adantl ( ( 𝐴𝑉 ∧ ( 𝑥 : 𝐴1-1𝐴𝑦 : 𝐴1-1𝐴 ) ) → ( 𝑥𝑦 ) : 𝐴1-1𝐴 )
25 f1f ( 𝑦 : 𝐴1-1𝐴𝑦 : 𝐴𝐴 )
26 5 25 anim12i ( ( 𝑥 : 𝐴1-1𝐴𝑦 : 𝐴1-1𝐴 ) → ( 𝑥 : 𝐴𝐴𝑦 : 𝐴𝐴 ) )
27 1 6 elefmndbas ( 𝐴𝑉 → ( 𝑦 ∈ ( Base ‘ 𝑀 ) ↔ 𝑦 : 𝐴𝐴 ) )
28 7 27 anbi12d ( 𝐴𝑉 → ( ( 𝑥 ∈ ( Base ‘ 𝑀 ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ↔ ( 𝑥 : 𝐴𝐴𝑦 : 𝐴𝐴 ) ) )
29 26 28 syl5ibr ( 𝐴𝑉 → ( ( 𝑥 : 𝐴1-1𝐴𝑦 : 𝐴1-1𝐴 ) → ( 𝑥 ∈ ( Base ‘ 𝑀 ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) )
30 29 imp ( ( 𝐴𝑉 ∧ ( 𝑥 : 𝐴1-1𝐴𝑦 : 𝐴1-1𝐴 ) ) → ( 𝑥 ∈ ( Base ‘ 𝑀 ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) )
31 eqid ( +g𝑀 ) = ( +g𝑀 )
32 1 6 31 efmndov ( ( 𝑥 ∈ ( Base ‘ 𝑀 ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) → ( 𝑥 ( +g𝑀 ) 𝑦 ) = ( 𝑥𝑦 ) )
33 30 32 syl ( ( 𝐴𝑉 ∧ ( 𝑥 : 𝐴1-1𝐴𝑦 : 𝐴1-1𝐴 ) ) → ( 𝑥 ( +g𝑀 ) 𝑦 ) = ( 𝑥𝑦 ) )
34 33 eleq1d ( ( 𝐴𝑉 ∧ ( 𝑥 : 𝐴1-1𝐴𝑦 : 𝐴1-1𝐴 ) ) → ( ( 𝑥 ( +g𝑀 ) 𝑦 ) ∈ { : 𝐴1-1𝐴 } ↔ ( 𝑥𝑦 ) ∈ { : 𝐴1-1𝐴 } ) )
35 2 19 coex ( 𝑥𝑦 ) ∈ V
36 f1eq1 ( = ( 𝑥𝑦 ) → ( : 𝐴1-1𝐴 ↔ ( 𝑥𝑦 ) : 𝐴1-1𝐴 ) )
37 35 36 elab ( ( 𝑥𝑦 ) ∈ { : 𝐴1-1𝐴 } ↔ ( 𝑥𝑦 ) : 𝐴1-1𝐴 )
38 34 37 bitrdi ( ( 𝐴𝑉 ∧ ( 𝑥 : 𝐴1-1𝐴𝑦 : 𝐴1-1𝐴 ) ) → ( ( 𝑥 ( +g𝑀 ) 𝑦 ) ∈ { : 𝐴1-1𝐴 } ↔ ( 𝑥𝑦 ) : 𝐴1-1𝐴 ) )
39 24 38 mpbird ( ( 𝐴𝑉 ∧ ( 𝑥 : 𝐴1-1𝐴𝑦 : 𝐴1-1𝐴 ) ) → ( 𝑥 ( +g𝑀 ) 𝑦 ) ∈ { : 𝐴1-1𝐴 } )
40 39 ex ( 𝐴𝑉 → ( ( 𝑥 : 𝐴1-1𝐴𝑦 : 𝐴1-1𝐴 ) → ( 𝑥 ( +g𝑀 ) 𝑦 ) ∈ { : 𝐴1-1𝐴 } ) )
41 22 40 syl5bi ( 𝐴𝑉 → ( ( 𝑥 ∈ { : 𝐴1-1𝐴 } ∧ 𝑦 ∈ { : 𝐴1-1𝐴 } ) → ( 𝑥 ( +g𝑀 ) 𝑦 ) ∈ { : 𝐴1-1𝐴 } ) )
42 41 ralrimivv ( 𝐴𝑉 → ∀ 𝑥 ∈ { : 𝐴1-1𝐴 } ∀ 𝑦 ∈ { : 𝐴1-1𝐴 } ( 𝑥 ( +g𝑀 ) 𝑦 ) ∈ { : 𝐴1-1𝐴 } )
43 1 efmndmnd ( 𝐴𝑉𝑀 ∈ Mnd )
44 eqid ( 0g𝑀 ) = ( 0g𝑀 )
45 6 44 31 issubm ( 𝑀 ∈ Mnd → ( { : 𝐴1-1𝐴 } ∈ ( SubMnd ‘ 𝑀 ) ↔ ( { : 𝐴1-1𝐴 } ⊆ ( Base ‘ 𝑀 ) ∧ ( 0g𝑀 ) ∈ { : 𝐴1-1𝐴 } ∧ ∀ 𝑥 ∈ { : 𝐴1-1𝐴 } ∀ 𝑦 ∈ { : 𝐴1-1𝐴 } ( 𝑥 ( +g𝑀 ) 𝑦 ) ∈ { : 𝐴1-1𝐴 } ) ) )
46 43 45 syl ( 𝐴𝑉 → ( { : 𝐴1-1𝐴 } ∈ ( SubMnd ‘ 𝑀 ) ↔ ( { : 𝐴1-1𝐴 } ⊆ ( Base ‘ 𝑀 ) ∧ ( 0g𝑀 ) ∈ { : 𝐴1-1𝐴 } ∧ ∀ 𝑥 ∈ { : 𝐴1-1𝐴 } ∀ 𝑦 ∈ { : 𝐴1-1𝐴 } ( 𝑥 ( +g𝑀 ) 𝑦 ) ∈ { : 𝐴1-1𝐴 } ) ) )
47 10 18 42 46 mpbir3and ( 𝐴𝑉 → { : 𝐴1-1𝐴 } ∈ ( SubMnd ‘ 𝑀 ) )