Metamath Proof Explorer


Theorem ecovdi

Description: Lemma used to transfer a distributive law via an equivalence relation. (Contributed by NM, 2-Sep-1995) (Revised by David Abernethy, 4-Jun-2013)

Ref Expression
Hypotheses ecovdi.1
|- D = ( ( S X. S ) /. .~ )
ecovdi.2
|- ( ( ( z e. S /\ w e. S ) /\ ( v e. S /\ u e. S ) ) -> ( [ <. z , w >. ] .~ .+ [ <. v , u >. ] .~ ) = [ <. M , N >. ] .~ )
ecovdi.3
|- ( ( ( x e. S /\ y e. S ) /\ ( M e. S /\ N e. S ) ) -> ( [ <. x , y >. ] .~ .x. [ <. M , N >. ] .~ ) = [ <. H , J >. ] .~ )
ecovdi.4
|- ( ( ( x e. S /\ y e. S ) /\ ( z e. S /\ w e. S ) ) -> ( [ <. x , y >. ] .~ .x. [ <. z , w >. ] .~ ) = [ <. W , X >. ] .~ )
ecovdi.5
|- ( ( ( x e. S /\ y e. S ) /\ ( v e. S /\ u e. S ) ) -> ( [ <. x , y >. ] .~ .x. [ <. v , u >. ] .~ ) = [ <. Y , Z >. ] .~ )
ecovdi.6
|- ( ( ( W e. S /\ X e. S ) /\ ( Y e. S /\ Z e. S ) ) -> ( [ <. W , X >. ] .~ .+ [ <. Y , Z >. ] .~ ) = [ <. K , L >. ] .~ )
ecovdi.7
|- ( ( ( z e. S /\ w e. S ) /\ ( v e. S /\ u e. S ) ) -> ( M e. S /\ N e. S ) )
ecovdi.8
|- ( ( ( x e. S /\ y e. S ) /\ ( z e. S /\ w e. S ) ) -> ( W e. S /\ X e. S ) )
ecovdi.9
|- ( ( ( x e. S /\ y e. S ) /\ ( v e. S /\ u e. S ) ) -> ( Y e. S /\ Z e. S ) )
ecovdi.10
|- H = K
ecovdi.11
|- J = L
Assertion ecovdi
|- ( ( A e. D /\ B e. D /\ C e. D ) -> ( A .x. ( B .+ C ) ) = ( ( A .x. B ) .+ ( A .x. C ) ) )

Proof

Step Hyp Ref Expression
1 ecovdi.1
 |-  D = ( ( S X. S ) /. .~ )
2 ecovdi.2
 |-  ( ( ( z e. S /\ w e. S ) /\ ( v e. S /\ u e. S ) ) -> ( [ <. z , w >. ] .~ .+ [ <. v , u >. ] .~ ) = [ <. M , N >. ] .~ )
3 ecovdi.3
 |-  ( ( ( x e. S /\ y e. S ) /\ ( M e. S /\ N e. S ) ) -> ( [ <. x , y >. ] .~ .x. [ <. M , N >. ] .~ ) = [ <. H , J >. ] .~ )
4 ecovdi.4
 |-  ( ( ( x e. S /\ y e. S ) /\ ( z e. S /\ w e. S ) ) -> ( [ <. x , y >. ] .~ .x. [ <. z , w >. ] .~ ) = [ <. W , X >. ] .~ )
5 ecovdi.5
 |-  ( ( ( x e. S /\ y e. S ) /\ ( v e. S /\ u e. S ) ) -> ( [ <. x , y >. ] .~ .x. [ <. v , u >. ] .~ ) = [ <. Y , Z >. ] .~ )
6 ecovdi.6
 |-  ( ( ( W e. S /\ X e. S ) /\ ( Y e. S /\ Z e. S ) ) -> ( [ <. W , X >. ] .~ .+ [ <. Y , Z >. ] .~ ) = [ <. K , L >. ] .~ )
7 ecovdi.7
 |-  ( ( ( z e. S /\ w e. S ) /\ ( v e. S /\ u e. S ) ) -> ( M e. S /\ N e. S ) )
8 ecovdi.8
 |-  ( ( ( x e. S /\ y e. S ) /\ ( z e. S /\ w e. S ) ) -> ( W e. S /\ X e. S ) )
9 ecovdi.9
 |-  ( ( ( x e. S /\ y e. S ) /\ ( v e. S /\ u e. S ) ) -> ( Y e. S /\ Z e. S ) )
10 ecovdi.10
 |-  H = K
11 ecovdi.11
 |-  J = L
12 oveq1
 |-  ( [ <. x , y >. ] .~ = A -> ( [ <. x , y >. ] .~ .x. ( [ <. z , w >. ] .~ .+ [ <. v , u >. ] .~ ) ) = ( A .x. ( [ <. z , w >. ] .~ .+ [ <. v , u >. ] .~ ) ) )
13 oveq1
 |-  ( [ <. x , y >. ] .~ = A -> ( [ <. x , y >. ] .~ .x. [ <. z , w >. ] .~ ) = ( A .x. [ <. z , w >. ] .~ ) )
14 oveq1
 |-  ( [ <. x , y >. ] .~ = A -> ( [ <. x , y >. ] .~ .x. [ <. v , u >. ] .~ ) = ( A .x. [ <. v , u >. ] .~ ) )
15 13 14 oveq12d
 |-  ( [ <. x , y >. ] .~ = A -> ( ( [ <. x , y >. ] .~ .x. [ <. z , w >. ] .~ ) .+ ( [ <. x , y >. ] .~ .x. [ <. v , u >. ] .~ ) ) = ( ( A .x. [ <. z , w >. ] .~ ) .+ ( A .x. [ <. v , u >. ] .~ ) ) )
16 12 15 eqeq12d
 |-  ( [ <. x , y >. ] .~ = A -> ( ( [ <. x , y >. ] .~ .x. ( [ <. z , w >. ] .~ .+ [ <. v , u >. ] .~ ) ) = ( ( [ <. x , y >. ] .~ .x. [ <. z , w >. ] .~ ) .+ ( [ <. x , y >. ] .~ .x. [ <. v , u >. ] .~ ) ) <-> ( A .x. ( [ <. z , w >. ] .~ .+ [ <. v , u >. ] .~ ) ) = ( ( A .x. [ <. z , w >. ] .~ ) .+ ( A .x. [ <. v , u >. ] .~ ) ) ) )
17 oveq1
 |-  ( [ <. z , w >. ] .~ = B -> ( [ <. z , w >. ] .~ .+ [ <. v , u >. ] .~ ) = ( B .+ [ <. v , u >. ] .~ ) )
18 17 oveq2d
 |-  ( [ <. z , w >. ] .~ = B -> ( A .x. ( [ <. z , w >. ] .~ .+ [ <. v , u >. ] .~ ) ) = ( A .x. ( B .+ [ <. v , u >. ] .~ ) ) )
19 oveq2
 |-  ( [ <. z , w >. ] .~ = B -> ( A .x. [ <. z , w >. ] .~ ) = ( A .x. B ) )
20 19 oveq1d
 |-  ( [ <. z , w >. ] .~ = B -> ( ( A .x. [ <. z , w >. ] .~ ) .+ ( A .x. [ <. v , u >. ] .~ ) ) = ( ( A .x. B ) .+ ( A .x. [ <. v , u >. ] .~ ) ) )
21 18 20 eqeq12d
 |-  ( [ <. z , w >. ] .~ = B -> ( ( A .x. ( [ <. z , w >. ] .~ .+ [ <. v , u >. ] .~ ) ) = ( ( A .x. [ <. z , w >. ] .~ ) .+ ( A .x. [ <. v , u >. ] .~ ) ) <-> ( A .x. ( B .+ [ <. v , u >. ] .~ ) ) = ( ( A .x. B ) .+ ( A .x. [ <. v , u >. ] .~ ) ) ) )
22 oveq2
 |-  ( [ <. v , u >. ] .~ = C -> ( B .+ [ <. v , u >. ] .~ ) = ( B .+ C ) )
23 22 oveq2d
 |-  ( [ <. v , u >. ] .~ = C -> ( A .x. ( B .+ [ <. v , u >. ] .~ ) ) = ( A .x. ( B .+ C ) ) )
24 oveq2
 |-  ( [ <. v , u >. ] .~ = C -> ( A .x. [ <. v , u >. ] .~ ) = ( A .x. C ) )
25 24 oveq2d
 |-  ( [ <. v , u >. ] .~ = C -> ( ( A .x. B ) .+ ( A .x. [ <. v , u >. ] .~ ) ) = ( ( A .x. B ) .+ ( A .x. C ) ) )
26 23 25 eqeq12d
 |-  ( [ <. v , u >. ] .~ = C -> ( ( A .x. ( B .+ [ <. v , u >. ] .~ ) ) = ( ( A .x. B ) .+ ( A .x. [ <. v , u >. ] .~ ) ) <-> ( A .x. ( B .+ C ) ) = ( ( A .x. B ) .+ ( A .x. C ) ) ) )
27 opeq12
 |-  ( ( H = K /\ J = L ) -> <. H , J >. = <. K , L >. )
28 27 eceq1d
 |-  ( ( H = K /\ J = L ) -> [ <. H , J >. ] .~ = [ <. K , L >. ] .~ )
29 10 11 28 mp2an
 |-  [ <. H , J >. ] .~ = [ <. K , L >. ] .~
30 2 oveq2d
 |-  ( ( ( z e. S /\ w e. S ) /\ ( v e. S /\ u e. S ) ) -> ( [ <. x , y >. ] .~ .x. ( [ <. z , w >. ] .~ .+ [ <. v , u >. ] .~ ) ) = ( [ <. x , y >. ] .~ .x. [ <. M , N >. ] .~ ) )
31 30 adantl
 |-  ( ( ( x e. S /\ y e. S ) /\ ( ( z e. S /\ w e. S ) /\ ( v e. S /\ u e. S ) ) ) -> ( [ <. x , y >. ] .~ .x. ( [ <. z , w >. ] .~ .+ [ <. v , u >. ] .~ ) ) = ( [ <. x , y >. ] .~ .x. [ <. M , N >. ] .~ ) )
32 7 3 sylan2
 |-  ( ( ( x e. S /\ y e. S ) /\ ( ( z e. S /\ w e. S ) /\ ( v e. S /\ u e. S ) ) ) -> ( [ <. x , y >. ] .~ .x. [ <. M , N >. ] .~ ) = [ <. H , J >. ] .~ )
33 31 32 eqtrd
 |-  ( ( ( x e. S /\ y e. S ) /\ ( ( z e. S /\ w e. S ) /\ ( v e. S /\ u e. S ) ) ) -> ( [ <. x , y >. ] .~ .x. ( [ <. z , w >. ] .~ .+ [ <. v , u >. ] .~ ) ) = [ <. H , J >. ] .~ )
34 33 3impb
 |-  ( ( ( x e. S /\ y e. S ) /\ ( z e. S /\ w e. S ) /\ ( v e. S /\ u e. S ) ) -> ( [ <. x , y >. ] .~ .x. ( [ <. z , w >. ] .~ .+ [ <. v , u >. ] .~ ) ) = [ <. H , J >. ] .~ )
35 4 5 oveqan12d
 |-  ( ( ( ( x e. S /\ y e. S ) /\ ( z e. S /\ w e. S ) ) /\ ( ( x e. S /\ y e. S ) /\ ( v e. S /\ u e. S ) ) ) -> ( ( [ <. x , y >. ] .~ .x. [ <. z , w >. ] .~ ) .+ ( [ <. x , y >. ] .~ .x. [ <. v , u >. ] .~ ) ) = ( [ <. W , X >. ] .~ .+ [ <. Y , Z >. ] .~ ) )
36 8 9 6 syl2an
 |-  ( ( ( ( x e. S /\ y e. S ) /\ ( z e. S /\ w e. S ) ) /\ ( ( x e. S /\ y e. S ) /\ ( v e. S /\ u e. S ) ) ) -> ( [ <. W , X >. ] .~ .+ [ <. Y , Z >. ] .~ ) = [ <. K , L >. ] .~ )
37 35 36 eqtrd
 |-  ( ( ( ( x e. S /\ y e. S ) /\ ( z e. S /\ w e. S ) ) /\ ( ( x e. S /\ y e. S ) /\ ( v e. S /\ u e. S ) ) ) -> ( ( [ <. x , y >. ] .~ .x. [ <. z , w >. ] .~ ) .+ ( [ <. x , y >. ] .~ .x. [ <. v , u >. ] .~ ) ) = [ <. K , L >. ] .~ )
38 37 3impdi
 |-  ( ( ( x e. S /\ y e. S ) /\ ( z e. S /\ w e. S ) /\ ( v e. S /\ u e. S ) ) -> ( ( [ <. x , y >. ] .~ .x. [ <. z , w >. ] .~ ) .+ ( [ <. x , y >. ] .~ .x. [ <. v , u >. ] .~ ) ) = [ <. K , L >. ] .~ )
39 29 34 38 3eqtr4a
 |-  ( ( ( x e. S /\ y e. S ) /\ ( z e. S /\ w e. S ) /\ ( v e. S /\ u e. S ) ) -> ( [ <. x , y >. ] .~ .x. ( [ <. z , w >. ] .~ .+ [ <. v , u >. ] .~ ) ) = ( ( [ <. x , y >. ] .~ .x. [ <. z , w >. ] .~ ) .+ ( [ <. x , y >. ] .~ .x. [ <. v , u >. ] .~ ) ) )
40 1 16 21 26 39 3ecoptocl
 |-  ( ( A e. D /\ B e. D /\ C e. D ) -> ( A .x. ( B .+ C ) ) = ( ( A .x. B ) .+ ( A .x. C ) ) )