This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Right cancellation law for groups. (Contributed by NM, 24-Aug-2011) (Proof shortened by Mario Carneiro, 6-Jan-2015)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | grprcan.b | |- B = ( Base ` G ) |
|
| grprcan.p | |- .+ = ( +g ` G ) |
||
| Assertion | grprcan | |- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( ( X .+ Z ) = ( Y .+ Z ) <-> X = Y ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | grprcan.b | |- B = ( Base ` G ) |
|
| 2 | grprcan.p | |- .+ = ( +g ` G ) |
|
| 3 | eqid | |- ( 0g ` G ) = ( 0g ` G ) |
|
| 4 | 1 2 3 | grpinvex | |- ( ( G e. Grp /\ Z e. B ) -> E. y e. B ( y .+ Z ) = ( 0g ` G ) ) |
| 5 | 4 | 3ad2antr3 | |- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> E. y e. B ( y .+ Z ) = ( 0g ` G ) ) |
| 6 | simprr | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> ( X .+ Z ) = ( Y .+ Z ) ) |
|
| 7 | 6 | oveq1d | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> ( ( X .+ Z ) .+ y ) = ( ( Y .+ Z ) .+ y ) ) |
| 8 | simpll | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> G e. Grp ) |
|
| 9 | 1 2 | grpass | |- ( ( G e. Grp /\ ( u e. B /\ v e. B /\ w e. B ) ) -> ( ( u .+ v ) .+ w ) = ( u .+ ( v .+ w ) ) ) |
| 10 | 8 9 | sylan | |- ( ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) /\ ( u e. B /\ v e. B /\ w e. B ) ) -> ( ( u .+ v ) .+ w ) = ( u .+ ( v .+ w ) ) ) |
| 11 | simplr1 | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> X e. B ) |
|
| 12 | simplr3 | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> Z e. B ) |
|
| 13 | simprll | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> y e. B ) |
|
| 14 | 10 11 12 13 | caovassd | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> ( ( X .+ Z ) .+ y ) = ( X .+ ( Z .+ y ) ) ) |
| 15 | simplr2 | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> Y e. B ) |
|
| 16 | 10 15 12 13 | caovassd | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> ( ( Y .+ Z ) .+ y ) = ( Y .+ ( Z .+ y ) ) ) |
| 17 | 7 14 16 | 3eqtr3d | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> ( X .+ ( Z .+ y ) ) = ( Y .+ ( Z .+ y ) ) ) |
| 18 | 1 2 | grpcl | |- ( ( G e. Grp /\ u e. B /\ v e. B ) -> ( u .+ v ) e. B ) |
| 19 | 8 18 | syl3an1 | |- ( ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) /\ u e. B /\ v e. B ) -> ( u .+ v ) e. B ) |
| 20 | 1 3 | grpidcl | |- ( G e. Grp -> ( 0g ` G ) e. B ) |
| 21 | 8 20 | syl | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> ( 0g ` G ) e. B ) |
| 22 | 1 2 3 | grplid | |- ( ( G e. Grp /\ u e. B ) -> ( ( 0g ` G ) .+ u ) = u ) |
| 23 | 8 22 | sylan | |- ( ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) /\ u e. B ) -> ( ( 0g ` G ) .+ u ) = u ) |
| 24 | 1 2 3 | grpinvex | |- ( ( G e. Grp /\ u e. B ) -> E. v e. B ( v .+ u ) = ( 0g ` G ) ) |
| 25 | 8 24 | sylan | |- ( ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) /\ u e. B ) -> E. v e. B ( v .+ u ) = ( 0g ` G ) ) |
| 26 | simpr | |- ( ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) /\ Z e. B ) -> Z e. B ) |
|
| 27 | 13 | adantr | |- ( ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) /\ Z e. B ) -> y e. B ) |
| 28 | simprlr | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> ( y .+ Z ) = ( 0g ` G ) ) |
|
| 29 | 28 | adantr | |- ( ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) /\ Z e. B ) -> ( y .+ Z ) = ( 0g ` G ) ) |
| 30 | 19 21 23 10 25 26 27 29 | grpinva | |- ( ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) /\ Z e. B ) -> ( Z .+ y ) = ( 0g ` G ) ) |
| 31 | 12 30 | mpdan | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> ( Z .+ y ) = ( 0g ` G ) ) |
| 32 | 31 | oveq2d | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> ( X .+ ( Z .+ y ) ) = ( X .+ ( 0g ` G ) ) ) |
| 33 | 31 | oveq2d | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> ( Y .+ ( Z .+ y ) ) = ( Y .+ ( 0g ` G ) ) ) |
| 34 | 17 32 33 | 3eqtr3d | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> ( X .+ ( 0g ` G ) ) = ( Y .+ ( 0g ` G ) ) ) |
| 35 | 1 2 3 8 11 | grpridd | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> ( X .+ ( 0g ` G ) ) = X ) |
| 36 | 1 2 3 8 15 | grpridd | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> ( Y .+ ( 0g ` G ) ) = Y ) |
| 37 | 34 35 36 | 3eqtr3d | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) /\ ( X .+ Z ) = ( Y .+ Z ) ) ) -> X = Y ) |
| 38 | 37 | expr | |- ( ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) /\ ( y e. B /\ ( y .+ Z ) = ( 0g ` G ) ) ) -> ( ( X .+ Z ) = ( Y .+ Z ) -> X = Y ) ) |
| 39 | 5 38 | rexlimddv | |- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( ( X .+ Z ) = ( Y .+ Z ) -> X = Y ) ) |
| 40 | oveq1 | |- ( X = Y -> ( X .+ Z ) = ( Y .+ Z ) ) |
|
| 41 | 39 40 | impbid1 | |- ( ( G e. Grp /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( ( X .+ Z ) = ( Y .+ Z ) <-> X = Y ) ) |