Metamath Proof Explorer


Theorem grpoinvf

Description: Mapping of the inverse function of a group. (Contributed by NM, 29-Mar-2008) (Revised by Mario Carneiro, 15-Dec-2013) (New usage is discouraged.)

Ref Expression
Hypotheses grpasscan1.1 𝑋 = ran 𝐺
grpasscan1.2 𝑁 = ( inv ‘ 𝐺 )
Assertion grpoinvf ( 𝐺 ∈ GrpOp → 𝑁 : 𝑋1-1-onto𝑋 )

Proof

Step Hyp Ref Expression
1 grpasscan1.1 𝑋 = ran 𝐺
2 grpasscan1.2 𝑁 = ( inv ‘ 𝐺 )
3 riotaex ( 𝑦𝑋 ( 𝑦 𝐺 𝑥 ) = ( GId ‘ 𝐺 ) ) ∈ V
4 eqid ( 𝑥𝑋 ↦ ( 𝑦𝑋 ( 𝑦 𝐺 𝑥 ) = ( GId ‘ 𝐺 ) ) ) = ( 𝑥𝑋 ↦ ( 𝑦𝑋 ( 𝑦 𝐺 𝑥 ) = ( GId ‘ 𝐺 ) ) )
5 3 4 fnmpti ( 𝑥𝑋 ↦ ( 𝑦𝑋 ( 𝑦 𝐺 𝑥 ) = ( GId ‘ 𝐺 ) ) ) Fn 𝑋
6 eqid ( GId ‘ 𝐺 ) = ( GId ‘ 𝐺 )
7 1 6 2 grpoinvfval ( 𝐺 ∈ GrpOp → 𝑁 = ( 𝑥𝑋 ↦ ( 𝑦𝑋 ( 𝑦 𝐺 𝑥 ) = ( GId ‘ 𝐺 ) ) ) )
8 7 fneq1d ( 𝐺 ∈ GrpOp → ( 𝑁 Fn 𝑋 ↔ ( 𝑥𝑋 ↦ ( 𝑦𝑋 ( 𝑦 𝐺 𝑥 ) = ( GId ‘ 𝐺 ) ) ) Fn 𝑋 ) )
9 5 8 mpbiri ( 𝐺 ∈ GrpOp → 𝑁 Fn 𝑋 )
10 fnrnfv ( 𝑁 Fn 𝑋 → ran 𝑁 = { 𝑦 ∣ ∃ 𝑥𝑋 𝑦 = ( 𝑁𝑥 ) } )
11 9 10 syl ( 𝐺 ∈ GrpOp → ran 𝑁 = { 𝑦 ∣ ∃ 𝑥𝑋 𝑦 = ( 𝑁𝑥 ) } )
12 1 2 grpoinvcl ( ( 𝐺 ∈ GrpOp ∧ 𝑦𝑋 ) → ( 𝑁𝑦 ) ∈ 𝑋 )
13 1 2 grpo2inv ( ( 𝐺 ∈ GrpOp ∧ 𝑦𝑋 ) → ( 𝑁 ‘ ( 𝑁𝑦 ) ) = 𝑦 )
14 13 eqcomd ( ( 𝐺 ∈ GrpOp ∧ 𝑦𝑋 ) → 𝑦 = ( 𝑁 ‘ ( 𝑁𝑦 ) ) )
15 fveq2 ( 𝑥 = ( 𝑁𝑦 ) → ( 𝑁𝑥 ) = ( 𝑁 ‘ ( 𝑁𝑦 ) ) )
16 15 rspceeqv ( ( ( 𝑁𝑦 ) ∈ 𝑋𝑦 = ( 𝑁 ‘ ( 𝑁𝑦 ) ) ) → ∃ 𝑥𝑋 𝑦 = ( 𝑁𝑥 ) )
17 12 14 16 syl2anc ( ( 𝐺 ∈ GrpOp ∧ 𝑦𝑋 ) → ∃ 𝑥𝑋 𝑦 = ( 𝑁𝑥 ) )
18 17 ex ( 𝐺 ∈ GrpOp → ( 𝑦𝑋 → ∃ 𝑥𝑋 𝑦 = ( 𝑁𝑥 ) ) )
19 simpr ( ( ( 𝐺 ∈ GrpOp ∧ 𝑥𝑋 ) ∧ 𝑦 = ( 𝑁𝑥 ) ) → 𝑦 = ( 𝑁𝑥 ) )
20 1 2 grpoinvcl ( ( 𝐺 ∈ GrpOp ∧ 𝑥𝑋 ) → ( 𝑁𝑥 ) ∈ 𝑋 )
21 20 adantr ( ( ( 𝐺 ∈ GrpOp ∧ 𝑥𝑋 ) ∧ 𝑦 = ( 𝑁𝑥 ) ) → ( 𝑁𝑥 ) ∈ 𝑋 )
22 19 21 eqeltrd ( ( ( 𝐺 ∈ GrpOp ∧ 𝑥𝑋 ) ∧ 𝑦 = ( 𝑁𝑥 ) ) → 𝑦𝑋 )
23 22 rexlimdva2 ( 𝐺 ∈ GrpOp → ( ∃ 𝑥𝑋 𝑦 = ( 𝑁𝑥 ) → 𝑦𝑋 ) )
24 18 23 impbid ( 𝐺 ∈ GrpOp → ( 𝑦𝑋 ↔ ∃ 𝑥𝑋 𝑦 = ( 𝑁𝑥 ) ) )
25 24 abbi2dv ( 𝐺 ∈ GrpOp → 𝑋 = { 𝑦 ∣ ∃ 𝑥𝑋 𝑦 = ( 𝑁𝑥 ) } )
26 11 25 eqtr4d ( 𝐺 ∈ GrpOp → ran 𝑁 = 𝑋 )
27 fveq2 ( ( 𝑁𝑥 ) = ( 𝑁𝑦 ) → ( 𝑁 ‘ ( 𝑁𝑥 ) ) = ( 𝑁 ‘ ( 𝑁𝑦 ) ) )
28 1 2 grpo2inv ( ( 𝐺 ∈ GrpOp ∧ 𝑥𝑋 ) → ( 𝑁 ‘ ( 𝑁𝑥 ) ) = 𝑥 )
29 28 13 eqeqan12d ( ( ( 𝐺 ∈ GrpOp ∧ 𝑥𝑋 ) ∧ ( 𝐺 ∈ GrpOp ∧ 𝑦𝑋 ) ) → ( ( 𝑁 ‘ ( 𝑁𝑥 ) ) = ( 𝑁 ‘ ( 𝑁𝑦 ) ) ↔ 𝑥 = 𝑦 ) )
30 29 anandis ( ( 𝐺 ∈ GrpOp ∧ ( 𝑥𝑋𝑦𝑋 ) ) → ( ( 𝑁 ‘ ( 𝑁𝑥 ) ) = ( 𝑁 ‘ ( 𝑁𝑦 ) ) ↔ 𝑥 = 𝑦 ) )
31 27 30 syl5ib ( ( 𝐺 ∈ GrpOp ∧ ( 𝑥𝑋𝑦𝑋 ) ) → ( ( 𝑁𝑥 ) = ( 𝑁𝑦 ) → 𝑥 = 𝑦 ) )
32 31 ralrimivva ( 𝐺 ∈ GrpOp → ∀ 𝑥𝑋𝑦𝑋 ( ( 𝑁𝑥 ) = ( 𝑁𝑦 ) → 𝑥 = 𝑦 ) )
33 dff1o6 ( 𝑁 : 𝑋1-1-onto𝑋 ↔ ( 𝑁 Fn 𝑋 ∧ ran 𝑁 = 𝑋 ∧ ∀ 𝑥𝑋𝑦𝑋 ( ( 𝑁𝑥 ) = ( 𝑁𝑦 ) → 𝑥 = 𝑦 ) ) )
34 9 26 32 33 syl3anbrc ( 𝐺 ∈ GrpOp → 𝑁 : 𝑋1-1-onto𝑋 )