Step |
Hyp |
Ref |
Expression |
1 |
|
zlmodzxz.z |
|- Z = ( ZZring freeLMod { 0 , 1 } ) |
2 |
|
zlmodzxzsub.m |
|- .- = ( -g ` Z ) |
3 |
1
|
zlmodzxzlmod |
|- ( Z e. LMod /\ ZZring = ( Scalar ` Z ) ) |
4 |
3
|
simpli |
|- Z e. LMod |
5 |
4
|
a1i |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> Z e. LMod ) |
6 |
1
|
zlmodzxzel |
|- ( ( A e. ZZ /\ C e. ZZ ) -> { <. 0 , A >. , <. 1 , C >. } e. ( Base ` Z ) ) |
7 |
6
|
ad2ant2r |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> { <. 0 , A >. , <. 1 , C >. } e. ( Base ` Z ) ) |
8 |
1
|
zlmodzxzel |
|- ( ( B e. ZZ /\ D e. ZZ ) -> { <. 0 , B >. , <. 1 , D >. } e. ( Base ` Z ) ) |
9 |
8
|
ad2ant2l |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> { <. 0 , B >. , <. 1 , D >. } e. ( Base ` Z ) ) |
10 |
|
eqid |
|- ( Base ` Z ) = ( Base ` Z ) |
11 |
|
eqid |
|- ( +g ` Z ) = ( +g ` Z ) |
12 |
3
|
simpri |
|- ZZring = ( Scalar ` Z ) |
13 |
|
eqid |
|- ( .s ` Z ) = ( .s ` Z ) |
14 |
|
eqid |
|- ( invg ` ZZring ) = ( invg ` ZZring ) |
15 |
|
zring1 |
|- 1 = ( 1r ` ZZring ) |
16 |
10 11 2 12 13 14 15
|
lmodvsubval2 |
|- ( ( Z e. LMod /\ { <. 0 , A >. , <. 1 , C >. } e. ( Base ` Z ) /\ { <. 0 , B >. , <. 1 , D >. } e. ( Base ` Z ) ) -> ( { <. 0 , A >. , <. 1 , C >. } .- { <. 0 , B >. , <. 1 , D >. } ) = ( { <. 0 , A >. , <. 1 , C >. } ( +g ` Z ) ( ( ( invg ` ZZring ) ` 1 ) ( .s ` Z ) { <. 0 , B >. , <. 1 , D >. } ) ) ) |
17 |
5 7 9 16
|
syl3anc |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( { <. 0 , A >. , <. 1 , C >. } .- { <. 0 , B >. , <. 1 , D >. } ) = ( { <. 0 , A >. , <. 1 , C >. } ( +g ` Z ) ( ( ( invg ` ZZring ) ` 1 ) ( .s ` Z ) { <. 0 , B >. , <. 1 , D >. } ) ) ) |
18 |
|
1z |
|- 1 e. ZZ |
19 |
|
zringinvg |
|- ( 1 e. ZZ -> -u 1 = ( ( invg ` ZZring ) ` 1 ) ) |
20 |
18 19
|
mp1i |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> -u 1 = ( ( invg ` ZZring ) ` 1 ) ) |
21 |
20
|
eqcomd |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( ( invg ` ZZring ) ` 1 ) = -u 1 ) |
22 |
21
|
oveq1d |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( ( ( invg ` ZZring ) ` 1 ) ( .s ` Z ) { <. 0 , B >. , <. 1 , D >. } ) = ( -u 1 ( .s ` Z ) { <. 0 , B >. , <. 1 , D >. } ) ) |
23 |
22
|
oveq2d |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( { <. 0 , A >. , <. 1 , C >. } ( +g ` Z ) ( ( ( invg ` ZZring ) ` 1 ) ( .s ` Z ) { <. 0 , B >. , <. 1 , D >. } ) ) = ( { <. 0 , A >. , <. 1 , C >. } ( +g ` Z ) ( -u 1 ( .s ` Z ) { <. 0 , B >. , <. 1 , D >. } ) ) ) |
24 |
17 23
|
eqtrd |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( { <. 0 , A >. , <. 1 , C >. } .- { <. 0 , B >. , <. 1 , D >. } ) = ( { <. 0 , A >. , <. 1 , C >. } ( +g ` Z ) ( -u 1 ( .s ` Z ) { <. 0 , B >. , <. 1 , D >. } ) ) ) |