Metamath Proof Explorer


Theorem isgrpinv

Description: Properties showing that a function M is the inverse function of a group. (Contributed by NM, 7-Aug-2013) (Revised by Mario Carneiro, 2-Oct-2015)

Ref Expression
Hypotheses grpinv.b 𝐵 = ( Base ‘ 𝐺 )
grpinv.p + = ( +g𝐺 )
grpinv.u 0 = ( 0g𝐺 )
grpinv.n 𝑁 = ( invg𝐺 )
Assertion isgrpinv ( 𝐺 ∈ Grp → ( ( 𝑀 : 𝐵𝐵 ∧ ∀ 𝑥𝐵 ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) ↔ 𝑁 = 𝑀 ) )

Proof

Step Hyp Ref Expression
1 grpinv.b 𝐵 = ( Base ‘ 𝐺 )
2 grpinv.p + = ( +g𝐺 )
3 grpinv.u 0 = ( 0g𝐺 )
4 grpinv.n 𝑁 = ( invg𝐺 )
5 1 2 3 4 grpinvval ( 𝑥𝐵 → ( 𝑁𝑥 ) = ( 𝑒𝐵 ( 𝑒 + 𝑥 ) = 0 ) )
6 5 ad2antlr ( ( ( ( 𝐺 ∈ Grp ∧ 𝑀 : 𝐵𝐵 ) ∧ 𝑥𝐵 ) ∧ ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) → ( 𝑁𝑥 ) = ( 𝑒𝐵 ( 𝑒 + 𝑥 ) = 0 ) )
7 simpr ( ( ( ( 𝐺 ∈ Grp ∧ 𝑀 : 𝐵𝐵 ) ∧ 𝑥𝐵 ) ∧ ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) → ( ( 𝑀𝑥 ) + 𝑥 ) = 0 )
8 simpllr ( ( ( ( 𝐺 ∈ Grp ∧ 𝑀 : 𝐵𝐵 ) ∧ 𝑥𝐵 ) ∧ ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) → 𝑀 : 𝐵𝐵 )
9 simplr ( ( ( ( 𝐺 ∈ Grp ∧ 𝑀 : 𝐵𝐵 ) ∧ 𝑥𝐵 ) ∧ ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) → 𝑥𝐵 )
10 8 9 ffvelrnd ( ( ( ( 𝐺 ∈ Grp ∧ 𝑀 : 𝐵𝐵 ) ∧ 𝑥𝐵 ) ∧ ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) → ( 𝑀𝑥 ) ∈ 𝐵 )
11 1 2 3 grpinveu ( ( 𝐺 ∈ Grp ∧ 𝑥𝐵 ) → ∃! 𝑒𝐵 ( 𝑒 + 𝑥 ) = 0 )
12 11 ad4ant13 ( ( ( ( 𝐺 ∈ Grp ∧ 𝑀 : 𝐵𝐵 ) ∧ 𝑥𝐵 ) ∧ ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) → ∃! 𝑒𝐵 ( 𝑒 + 𝑥 ) = 0 )
13 oveq1 ( 𝑒 = ( 𝑀𝑥 ) → ( 𝑒 + 𝑥 ) = ( ( 𝑀𝑥 ) + 𝑥 ) )
14 13 eqeq1d ( 𝑒 = ( 𝑀𝑥 ) → ( ( 𝑒 + 𝑥 ) = 0 ↔ ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) )
15 14 riota2 ( ( ( 𝑀𝑥 ) ∈ 𝐵 ∧ ∃! 𝑒𝐵 ( 𝑒 + 𝑥 ) = 0 ) → ( ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ↔ ( 𝑒𝐵 ( 𝑒 + 𝑥 ) = 0 ) = ( 𝑀𝑥 ) ) )
16 10 12 15 syl2anc ( ( ( ( 𝐺 ∈ Grp ∧ 𝑀 : 𝐵𝐵 ) ∧ 𝑥𝐵 ) ∧ ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) → ( ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ↔ ( 𝑒𝐵 ( 𝑒 + 𝑥 ) = 0 ) = ( 𝑀𝑥 ) ) )
17 7 16 mpbid ( ( ( ( 𝐺 ∈ Grp ∧ 𝑀 : 𝐵𝐵 ) ∧ 𝑥𝐵 ) ∧ ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) → ( 𝑒𝐵 ( 𝑒 + 𝑥 ) = 0 ) = ( 𝑀𝑥 ) )
18 6 17 eqtrd ( ( ( ( 𝐺 ∈ Grp ∧ 𝑀 : 𝐵𝐵 ) ∧ 𝑥𝐵 ) ∧ ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) → ( 𝑁𝑥 ) = ( 𝑀𝑥 ) )
19 18 ex ( ( ( 𝐺 ∈ Grp ∧ 𝑀 : 𝐵𝐵 ) ∧ 𝑥𝐵 ) → ( ( ( 𝑀𝑥 ) + 𝑥 ) = 0 → ( 𝑁𝑥 ) = ( 𝑀𝑥 ) ) )
20 19 ralimdva ( ( 𝐺 ∈ Grp ∧ 𝑀 : 𝐵𝐵 ) → ( ∀ 𝑥𝐵 ( ( 𝑀𝑥 ) + 𝑥 ) = 0 → ∀ 𝑥𝐵 ( 𝑁𝑥 ) = ( 𝑀𝑥 ) ) )
21 20 impr ( ( 𝐺 ∈ Grp ∧ ( 𝑀 : 𝐵𝐵 ∧ ∀ 𝑥𝐵 ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) ) → ∀ 𝑥𝐵 ( 𝑁𝑥 ) = ( 𝑀𝑥 ) )
22 1 4 grpinvfn 𝑁 Fn 𝐵
23 ffn ( 𝑀 : 𝐵𝐵𝑀 Fn 𝐵 )
24 23 ad2antrl ( ( 𝐺 ∈ Grp ∧ ( 𝑀 : 𝐵𝐵 ∧ ∀ 𝑥𝐵 ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) ) → 𝑀 Fn 𝐵 )
25 eqfnfv ( ( 𝑁 Fn 𝐵𝑀 Fn 𝐵 ) → ( 𝑁 = 𝑀 ↔ ∀ 𝑥𝐵 ( 𝑁𝑥 ) = ( 𝑀𝑥 ) ) )
26 22 24 25 sylancr ( ( 𝐺 ∈ Grp ∧ ( 𝑀 : 𝐵𝐵 ∧ ∀ 𝑥𝐵 ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) ) → ( 𝑁 = 𝑀 ↔ ∀ 𝑥𝐵 ( 𝑁𝑥 ) = ( 𝑀𝑥 ) ) )
27 21 26 mpbird ( ( 𝐺 ∈ Grp ∧ ( 𝑀 : 𝐵𝐵 ∧ ∀ 𝑥𝐵 ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) ) → 𝑁 = 𝑀 )
28 27 ex ( 𝐺 ∈ Grp → ( ( 𝑀 : 𝐵𝐵 ∧ ∀ 𝑥𝐵 ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) → 𝑁 = 𝑀 ) )
29 1 4 grpinvf ( 𝐺 ∈ Grp → 𝑁 : 𝐵𝐵 )
30 1 2 3 4 grplinv ( ( 𝐺 ∈ Grp ∧ 𝑥𝐵 ) → ( ( 𝑁𝑥 ) + 𝑥 ) = 0 )
31 30 ralrimiva ( 𝐺 ∈ Grp → ∀ 𝑥𝐵 ( ( 𝑁𝑥 ) + 𝑥 ) = 0 )
32 29 31 jca ( 𝐺 ∈ Grp → ( 𝑁 : 𝐵𝐵 ∧ ∀ 𝑥𝐵 ( ( 𝑁𝑥 ) + 𝑥 ) = 0 ) )
33 feq1 ( 𝑁 = 𝑀 → ( 𝑁 : 𝐵𝐵𝑀 : 𝐵𝐵 ) )
34 fveq1 ( 𝑁 = 𝑀 → ( 𝑁𝑥 ) = ( 𝑀𝑥 ) )
35 34 oveq1d ( 𝑁 = 𝑀 → ( ( 𝑁𝑥 ) + 𝑥 ) = ( ( 𝑀𝑥 ) + 𝑥 ) )
36 35 eqeq1d ( 𝑁 = 𝑀 → ( ( ( 𝑁𝑥 ) + 𝑥 ) = 0 ↔ ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) )
37 36 ralbidv ( 𝑁 = 𝑀 → ( ∀ 𝑥𝐵 ( ( 𝑁𝑥 ) + 𝑥 ) = 0 ↔ ∀ 𝑥𝐵 ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) )
38 33 37 anbi12d ( 𝑁 = 𝑀 → ( ( 𝑁 : 𝐵𝐵 ∧ ∀ 𝑥𝐵 ( ( 𝑁𝑥 ) + 𝑥 ) = 0 ) ↔ ( 𝑀 : 𝐵𝐵 ∧ ∀ 𝑥𝐵 ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) ) )
39 32 38 syl5ibcom ( 𝐺 ∈ Grp → ( 𝑁 = 𝑀 → ( 𝑀 : 𝐵𝐵 ∧ ∀ 𝑥𝐵 ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) ) )
40 28 39 impbid ( 𝐺 ∈ Grp → ( ( 𝑀 : 𝐵𝐵 ∧ ∀ 𝑥𝐵 ( ( 𝑀𝑥 ) + 𝑥 ) = 0 ) ↔ 𝑁 = 𝑀 ) )