Step |
Hyp |
Ref |
Expression |
1 |
|
zlmodzxz.z |
|- Z = ( ZZring freeLMod { 0 , 1 } ) |
2 |
|
zlmodzxzscm.t |
|- .xb = ( .s ` Z ) |
3 |
|
prex |
|- { 0 , 1 } e. _V |
4 |
3
|
a1i |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> { 0 , 1 } e. _V ) |
5 |
|
fnconstg |
|- ( A e. ZZ -> ( { 0 , 1 } X. { A } ) Fn { 0 , 1 } ) |
6 |
5
|
3ad2ant1 |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> ( { 0 , 1 } X. { A } ) Fn { 0 , 1 } ) |
7 |
|
c0ex |
|- 0 e. _V |
8 |
|
1ex |
|- 1 e. _V |
9 |
7 8
|
pm3.2i |
|- ( 0 e. _V /\ 1 e. _V ) |
10 |
9
|
a1i |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> ( 0 e. _V /\ 1 e. _V ) ) |
11 |
|
3simpc |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> ( B e. ZZ /\ C e. ZZ ) ) |
12 |
|
0ne1 |
|- 0 =/= 1 |
13 |
12
|
a1i |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> 0 =/= 1 ) |
14 |
|
fnprg |
|- ( ( ( 0 e. _V /\ 1 e. _V ) /\ ( B e. ZZ /\ C e. ZZ ) /\ 0 =/= 1 ) -> { <. 0 , B >. , <. 1 , C >. } Fn { 0 , 1 } ) |
15 |
10 11 13 14
|
syl3anc |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> { <. 0 , B >. , <. 1 , C >. } Fn { 0 , 1 } ) |
16 |
4 6 15
|
offvalfv |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> ( ( { 0 , 1 } X. { A } ) oF ( .r ` ZZring ) { <. 0 , B >. , <. 1 , C >. } ) = ( x e. { 0 , 1 } |-> ( ( ( { 0 , 1 } X. { A } ) ` x ) ( .r ` ZZring ) ( { <. 0 , B >. , <. 1 , C >. } ` x ) ) ) ) |
17 |
|
eqid |
|- ( Base ` Z ) = ( Base ` Z ) |
18 |
|
eqid |
|- ( Base ` ZZring ) = ( Base ` ZZring ) |
19 |
|
simp1 |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> A e. ZZ ) |
20 |
|
zringbas |
|- ZZ = ( Base ` ZZring ) |
21 |
19 20
|
eleqtrdi |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> A e. ( Base ` ZZring ) ) |
22 |
1
|
zlmodzxzel |
|- ( ( B e. ZZ /\ C e. ZZ ) -> { <. 0 , B >. , <. 1 , C >. } e. ( Base ` Z ) ) |
23 |
22
|
3adant1 |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> { <. 0 , B >. , <. 1 , C >. } e. ( Base ` Z ) ) |
24 |
|
eqid |
|- ( .r ` ZZring ) = ( .r ` ZZring ) |
25 |
1 17 18 4 21 23 2 24
|
frlmvscafval |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> ( A .xb { <. 0 , B >. , <. 1 , C >. } ) = ( ( { 0 , 1 } X. { A } ) oF ( .r ` ZZring ) { <. 0 , B >. , <. 1 , C >. } ) ) |
26 |
7
|
a1i |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> 0 e. _V ) |
27 |
8
|
a1i |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> 1 e. _V ) |
28 |
|
ovexd |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> ( A x. B ) e. _V ) |
29 |
|
ovexd |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> ( A x. C ) e. _V ) |
30 |
|
fveq2 |
|- ( x = 0 -> ( ( { 0 , 1 } X. { A } ) ` x ) = ( ( { 0 , 1 } X. { A } ) ` 0 ) ) |
31 |
|
fveq2 |
|- ( x = 0 -> ( { <. 0 , B >. , <. 1 , C >. } ` x ) = ( { <. 0 , B >. , <. 1 , C >. } ` 0 ) ) |
32 |
30 31
|
oveq12d |
|- ( x = 0 -> ( ( ( { 0 , 1 } X. { A } ) ` x ) ( .r ` ZZring ) ( { <. 0 , B >. , <. 1 , C >. } ` x ) ) = ( ( ( { 0 , 1 } X. { A } ) ` 0 ) ( .r ` ZZring ) ( { <. 0 , B >. , <. 1 , C >. } ` 0 ) ) ) |
33 |
|
zringmulr |
|- x. = ( .r ` ZZring ) |
34 |
33
|
eqcomi |
|- ( .r ` ZZring ) = x. |
35 |
34
|
a1i |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> ( .r ` ZZring ) = x. ) |
36 |
7
|
prid1 |
|- 0 e. { 0 , 1 } |
37 |
|
fvconst2g |
|- ( ( A e. ZZ /\ 0 e. { 0 , 1 } ) -> ( ( { 0 , 1 } X. { A } ) ` 0 ) = A ) |
38 |
19 36 37
|
sylancl |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> ( ( { 0 , 1 } X. { A } ) ` 0 ) = A ) |
39 |
|
simp2 |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> B e. ZZ ) |
40 |
|
fvpr1g |
|- ( ( 0 e. _V /\ B e. ZZ /\ 0 =/= 1 ) -> ( { <. 0 , B >. , <. 1 , C >. } ` 0 ) = B ) |
41 |
26 39 13 40
|
syl3anc |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> ( { <. 0 , B >. , <. 1 , C >. } ` 0 ) = B ) |
42 |
35 38 41
|
oveq123d |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> ( ( ( { 0 , 1 } X. { A } ) ` 0 ) ( .r ` ZZring ) ( { <. 0 , B >. , <. 1 , C >. } ` 0 ) ) = ( A x. B ) ) |
43 |
32 42
|
sylan9eqr |
|- ( ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) /\ x = 0 ) -> ( ( ( { 0 , 1 } X. { A } ) ` x ) ( .r ` ZZring ) ( { <. 0 , B >. , <. 1 , C >. } ` x ) ) = ( A x. B ) ) |
44 |
|
fveq2 |
|- ( x = 1 -> ( ( { 0 , 1 } X. { A } ) ` x ) = ( ( { 0 , 1 } X. { A } ) ` 1 ) ) |
45 |
|
fveq2 |
|- ( x = 1 -> ( { <. 0 , B >. , <. 1 , C >. } ` x ) = ( { <. 0 , B >. , <. 1 , C >. } ` 1 ) ) |
46 |
44 45
|
oveq12d |
|- ( x = 1 -> ( ( ( { 0 , 1 } X. { A } ) ` x ) ( .r ` ZZring ) ( { <. 0 , B >. , <. 1 , C >. } ` x ) ) = ( ( ( { 0 , 1 } X. { A } ) ` 1 ) ( .r ` ZZring ) ( { <. 0 , B >. , <. 1 , C >. } ` 1 ) ) ) |
47 |
8
|
prid2 |
|- 1 e. { 0 , 1 } |
48 |
|
fvconst2g |
|- ( ( A e. ZZ /\ 1 e. { 0 , 1 } ) -> ( ( { 0 , 1 } X. { A } ) ` 1 ) = A ) |
49 |
19 47 48
|
sylancl |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> ( ( { 0 , 1 } X. { A } ) ` 1 ) = A ) |
50 |
|
simp3 |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> C e. ZZ ) |
51 |
|
fvpr2g |
|- ( ( 1 e. _V /\ C e. ZZ /\ 0 =/= 1 ) -> ( { <. 0 , B >. , <. 1 , C >. } ` 1 ) = C ) |
52 |
27 50 13 51
|
syl3anc |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> ( { <. 0 , B >. , <. 1 , C >. } ` 1 ) = C ) |
53 |
35 49 52
|
oveq123d |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> ( ( ( { 0 , 1 } X. { A } ) ` 1 ) ( .r ` ZZring ) ( { <. 0 , B >. , <. 1 , C >. } ` 1 ) ) = ( A x. C ) ) |
54 |
46 53
|
sylan9eqr |
|- ( ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) /\ x = 1 ) -> ( ( ( { 0 , 1 } X. { A } ) ` x ) ( .r ` ZZring ) ( { <. 0 , B >. , <. 1 , C >. } ` x ) ) = ( A x. C ) ) |
55 |
26 27 28 29 43 54
|
fmptpr |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> { <. 0 , ( A x. B ) >. , <. 1 , ( A x. C ) >. } = ( x e. { 0 , 1 } |-> ( ( ( { 0 , 1 } X. { A } ) ` x ) ( .r ` ZZring ) ( { <. 0 , B >. , <. 1 , C >. } ` x ) ) ) ) |
56 |
16 25 55
|
3eqtr4d |
|- ( ( A e. ZZ /\ B e. ZZ /\ C e. ZZ ) -> ( A .xb { <. 0 , B >. , <. 1 , C >. } ) = { <. 0 , ( A x. B ) >. , <. 1 , ( A x. C ) >. } ) |