Metamath Proof Explorer


Theorem rngsubdir

Description: Ring multiplication distributes over subtraction. ( subdir analog.) (Contributed by Jeff Madsen, 19-Jun-2010) (Revised by Mario Carneiro, 2-Jul-2014)

Ref Expression
Hypotheses ringsubdi.b
|- B = ( Base ` R )
ringsubdi.t
|- .x. = ( .r ` R )
ringsubdi.m
|- .- = ( -g ` R )
ringsubdi.r
|- ( ph -> R e. Ring )
ringsubdi.x
|- ( ph -> X e. B )
ringsubdi.y
|- ( ph -> Y e. B )
ringsubdi.z
|- ( ph -> Z e. B )
Assertion rngsubdir
|- ( ph -> ( ( X .- Y ) .x. Z ) = ( ( X .x. Z ) .- ( Y .x. Z ) ) )

Proof

Step Hyp Ref Expression
1 ringsubdi.b
 |-  B = ( Base ` R )
2 ringsubdi.t
 |-  .x. = ( .r ` R )
3 ringsubdi.m
 |-  .- = ( -g ` R )
4 ringsubdi.r
 |-  ( ph -> R e. Ring )
5 ringsubdi.x
 |-  ( ph -> X e. B )
6 ringsubdi.y
 |-  ( ph -> Y e. B )
7 ringsubdi.z
 |-  ( ph -> Z e. B )
8 ringgrp
 |-  ( R e. Ring -> R e. Grp )
9 4 8 syl
 |-  ( ph -> R e. Grp )
10 eqid
 |-  ( invg ` R ) = ( invg ` R )
11 1 10 grpinvcl
 |-  ( ( R e. Grp /\ Y e. B ) -> ( ( invg ` R ) ` Y ) e. B )
12 9 6 11 syl2anc
 |-  ( ph -> ( ( invg ` R ) ` Y ) e. B )
13 eqid
 |-  ( +g ` R ) = ( +g ` R )
14 1 13 2 ringdir
 |-  ( ( R e. Ring /\ ( X e. B /\ ( ( invg ` R ) ` Y ) e. B /\ Z e. B ) ) -> ( ( X ( +g ` R ) ( ( invg ` R ) ` Y ) ) .x. Z ) = ( ( X .x. Z ) ( +g ` R ) ( ( ( invg ` R ) ` Y ) .x. Z ) ) )
15 4 5 12 7 14 syl13anc
 |-  ( ph -> ( ( X ( +g ` R ) ( ( invg ` R ) ` Y ) ) .x. Z ) = ( ( X .x. Z ) ( +g ` R ) ( ( ( invg ` R ) ` Y ) .x. Z ) ) )
16 1 2 10 4 6 7 ringmneg1
 |-  ( ph -> ( ( ( invg ` R ) ` Y ) .x. Z ) = ( ( invg ` R ) ` ( Y .x. Z ) ) )
17 16 oveq2d
 |-  ( ph -> ( ( X .x. Z ) ( +g ` R ) ( ( ( invg ` R ) ` Y ) .x. Z ) ) = ( ( X .x. Z ) ( +g ` R ) ( ( invg ` R ) ` ( Y .x. Z ) ) ) )
18 15 17 eqtrd
 |-  ( ph -> ( ( X ( +g ` R ) ( ( invg ` R ) ` Y ) ) .x. Z ) = ( ( X .x. Z ) ( +g ` R ) ( ( invg ` R ) ` ( Y .x. Z ) ) ) )
19 1 13 10 3 grpsubval
 |-  ( ( X e. B /\ Y e. B ) -> ( X .- Y ) = ( X ( +g ` R ) ( ( invg ` R ) ` Y ) ) )
20 5 6 19 syl2anc
 |-  ( ph -> ( X .- Y ) = ( X ( +g ` R ) ( ( invg ` R ) ` Y ) ) )
21 20 oveq1d
 |-  ( ph -> ( ( X .- Y ) .x. Z ) = ( ( X ( +g ` R ) ( ( invg ` R ) ` Y ) ) .x. Z ) )
22 1 2 ringcl
 |-  ( ( R e. Ring /\ X e. B /\ Z e. B ) -> ( X .x. Z ) e. B )
23 4 5 7 22 syl3anc
 |-  ( ph -> ( X .x. Z ) e. B )
24 1 2 ringcl
 |-  ( ( R e. Ring /\ Y e. B /\ Z e. B ) -> ( Y .x. Z ) e. B )
25 4 6 7 24 syl3anc
 |-  ( ph -> ( Y .x. Z ) e. B )
26 1 13 10 3 grpsubval
 |-  ( ( ( X .x. Z ) e. B /\ ( Y .x. Z ) e. B ) -> ( ( X .x. Z ) .- ( Y .x. Z ) ) = ( ( X .x. Z ) ( +g ` R ) ( ( invg ` R ) ` ( Y .x. Z ) ) ) )
27 23 25 26 syl2anc
 |-  ( ph -> ( ( X .x. Z ) .- ( Y .x. Z ) ) = ( ( X .x. Z ) ( +g ` R ) ( ( invg ` R ) ` ( Y .x. Z ) ) ) )
28 18 21 27 3eqtr4d
 |-  ( ph -> ( ( X .- Y ) .x. Z ) = ( ( X .x. Z ) .- ( Y .x. Z ) ) )