Step |
Hyp |
Ref |
Expression |
1 |
|
zlmodzxz.z |
|- Z = ( ZZring freeLMod { 0 , 1 } ) |
2 |
|
zlmodzxzadd.p |
|- .+ = ( +g ` Z ) |
3 |
|
eqid |
|- ( Base ` Z ) = ( Base ` Z ) |
4 |
|
zringring |
|- ZZring e. Ring |
5 |
4
|
a1i |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ZZring e. Ring ) |
6 |
|
prex |
|- { 0 , 1 } e. _V |
7 |
6
|
a1i |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> { 0 , 1 } e. _V ) |
8 |
|
simpl |
|- ( ( A e. ZZ /\ B e. ZZ ) -> A e. ZZ ) |
9 |
|
simpl |
|- ( ( C e. ZZ /\ D e. ZZ ) -> C e. ZZ ) |
10 |
1
|
zlmodzxzel |
|- ( ( A e. ZZ /\ C e. ZZ ) -> { <. 0 , A >. , <. 1 , C >. } e. ( Base ` Z ) ) |
11 |
8 9 10
|
syl2an |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> { <. 0 , A >. , <. 1 , C >. } e. ( Base ` Z ) ) |
12 |
|
simpr |
|- ( ( A e. ZZ /\ B e. ZZ ) -> B e. ZZ ) |
13 |
|
simpr |
|- ( ( C e. ZZ /\ D e. ZZ ) -> D e. ZZ ) |
14 |
1
|
zlmodzxzel |
|- ( ( B e. ZZ /\ D e. ZZ ) -> { <. 0 , B >. , <. 1 , D >. } e. ( Base ` Z ) ) |
15 |
12 13 14
|
syl2an |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> { <. 0 , B >. , <. 1 , D >. } e. ( Base ` Z ) ) |
16 |
|
eqid |
|- ( +g ` ZZring ) = ( +g ` ZZring ) |
17 |
1 3 5 7 11 15 16 2
|
frlmplusgval |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( { <. 0 , A >. , <. 1 , C >. } .+ { <. 0 , B >. , <. 1 , D >. } ) = ( { <. 0 , A >. , <. 1 , C >. } oF ( +g ` ZZring ) { <. 0 , B >. , <. 1 , D >. } ) ) |
18 |
|
c0ex |
|- 0 e. _V |
19 |
|
1ex |
|- 1 e. _V |
20 |
18 19
|
pm3.2i |
|- ( 0 e. _V /\ 1 e. _V ) |
21 |
20
|
a1i |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( 0 e. _V /\ 1 e. _V ) ) |
22 |
8 9
|
anim12i |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( A e. ZZ /\ C e. ZZ ) ) |
23 |
|
0ne1 |
|- 0 =/= 1 |
24 |
23
|
a1i |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> 0 =/= 1 ) |
25 |
|
fnprg |
|- ( ( ( 0 e. _V /\ 1 e. _V ) /\ ( A e. ZZ /\ C e. ZZ ) /\ 0 =/= 1 ) -> { <. 0 , A >. , <. 1 , C >. } Fn { 0 , 1 } ) |
26 |
21 22 24 25
|
syl3anc |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> { <. 0 , A >. , <. 1 , C >. } Fn { 0 , 1 } ) |
27 |
12 13
|
anim12i |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( B e. ZZ /\ D e. ZZ ) ) |
28 |
|
fnprg |
|- ( ( ( 0 e. _V /\ 1 e. _V ) /\ ( B e. ZZ /\ D e. ZZ ) /\ 0 =/= 1 ) -> { <. 0 , B >. , <. 1 , D >. } Fn { 0 , 1 } ) |
29 |
21 27 24 28
|
syl3anc |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> { <. 0 , B >. , <. 1 , D >. } Fn { 0 , 1 } ) |
30 |
7 26 29
|
offvalfv |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( { <. 0 , A >. , <. 1 , C >. } oF ( +g ` ZZring ) { <. 0 , B >. , <. 1 , D >. } ) = ( x e. { 0 , 1 } |-> ( ( { <. 0 , A >. , <. 1 , C >. } ` x ) ( +g ` ZZring ) ( { <. 0 , B >. , <. 1 , D >. } ` x ) ) ) ) |
31 |
18
|
a1i |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> 0 e. _V ) |
32 |
19
|
a1i |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> 1 e. _V ) |
33 |
|
ovexd |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( A ( +g ` ZZring ) B ) e. _V ) |
34 |
|
ovexd |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( C ( +g ` ZZring ) D ) e. _V ) |
35 |
|
fveq2 |
|- ( x = 0 -> ( { <. 0 , A >. , <. 1 , C >. } ` x ) = ( { <. 0 , A >. , <. 1 , C >. } ` 0 ) ) |
36 |
|
fveq2 |
|- ( x = 0 -> ( { <. 0 , B >. , <. 1 , D >. } ` x ) = ( { <. 0 , B >. , <. 1 , D >. } ` 0 ) ) |
37 |
35 36
|
oveq12d |
|- ( x = 0 -> ( ( { <. 0 , A >. , <. 1 , C >. } ` x ) ( +g ` ZZring ) ( { <. 0 , B >. , <. 1 , D >. } ` x ) ) = ( ( { <. 0 , A >. , <. 1 , C >. } ` 0 ) ( +g ` ZZring ) ( { <. 0 , B >. , <. 1 , D >. } ` 0 ) ) ) |
38 |
8
|
adantr |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> A e. ZZ ) |
39 |
|
fvpr1g |
|- ( ( 0 e. _V /\ A e. ZZ /\ 0 =/= 1 ) -> ( { <. 0 , A >. , <. 1 , C >. } ` 0 ) = A ) |
40 |
31 38 24 39
|
syl3anc |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( { <. 0 , A >. , <. 1 , C >. } ` 0 ) = A ) |
41 |
12
|
adantr |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> B e. ZZ ) |
42 |
|
fvpr1g |
|- ( ( 0 e. _V /\ B e. ZZ /\ 0 =/= 1 ) -> ( { <. 0 , B >. , <. 1 , D >. } ` 0 ) = B ) |
43 |
31 41 24 42
|
syl3anc |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( { <. 0 , B >. , <. 1 , D >. } ` 0 ) = B ) |
44 |
40 43
|
oveq12d |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( ( { <. 0 , A >. , <. 1 , C >. } ` 0 ) ( +g ` ZZring ) ( { <. 0 , B >. , <. 1 , D >. } ` 0 ) ) = ( A ( +g ` ZZring ) B ) ) |
45 |
37 44
|
sylan9eqr |
|- ( ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) /\ x = 0 ) -> ( ( { <. 0 , A >. , <. 1 , C >. } ` x ) ( +g ` ZZring ) ( { <. 0 , B >. , <. 1 , D >. } ` x ) ) = ( A ( +g ` ZZring ) B ) ) |
46 |
|
fveq2 |
|- ( x = 1 -> ( { <. 0 , A >. , <. 1 , C >. } ` x ) = ( { <. 0 , A >. , <. 1 , C >. } ` 1 ) ) |
47 |
|
fveq2 |
|- ( x = 1 -> ( { <. 0 , B >. , <. 1 , D >. } ` x ) = ( { <. 0 , B >. , <. 1 , D >. } ` 1 ) ) |
48 |
46 47
|
oveq12d |
|- ( x = 1 -> ( ( { <. 0 , A >. , <. 1 , C >. } ` x ) ( +g ` ZZring ) ( { <. 0 , B >. , <. 1 , D >. } ` x ) ) = ( ( { <. 0 , A >. , <. 1 , C >. } ` 1 ) ( +g ` ZZring ) ( { <. 0 , B >. , <. 1 , D >. } ` 1 ) ) ) |
49 |
9
|
adantl |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> C e. ZZ ) |
50 |
|
fvpr2g |
|- ( ( 1 e. _V /\ C e. ZZ /\ 0 =/= 1 ) -> ( { <. 0 , A >. , <. 1 , C >. } ` 1 ) = C ) |
51 |
32 49 24 50
|
syl3anc |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( { <. 0 , A >. , <. 1 , C >. } ` 1 ) = C ) |
52 |
13
|
adantl |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> D e. ZZ ) |
53 |
|
fvpr2g |
|- ( ( 1 e. _V /\ D e. ZZ /\ 0 =/= 1 ) -> ( { <. 0 , B >. , <. 1 , D >. } ` 1 ) = D ) |
54 |
32 52 24 53
|
syl3anc |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( { <. 0 , B >. , <. 1 , D >. } ` 1 ) = D ) |
55 |
51 54
|
oveq12d |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( ( { <. 0 , A >. , <. 1 , C >. } ` 1 ) ( +g ` ZZring ) ( { <. 0 , B >. , <. 1 , D >. } ` 1 ) ) = ( C ( +g ` ZZring ) D ) ) |
56 |
48 55
|
sylan9eqr |
|- ( ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) /\ x = 1 ) -> ( ( { <. 0 , A >. , <. 1 , C >. } ` x ) ( +g ` ZZring ) ( { <. 0 , B >. , <. 1 , D >. } ` x ) ) = ( C ( +g ` ZZring ) D ) ) |
57 |
31 32 33 34 45 56
|
fmptpr |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> { <. 0 , ( A ( +g ` ZZring ) B ) >. , <. 1 , ( C ( +g ` ZZring ) D ) >. } = ( x e. { 0 , 1 } |-> ( ( { <. 0 , A >. , <. 1 , C >. } ` x ) ( +g ` ZZring ) ( { <. 0 , B >. , <. 1 , D >. } ` x ) ) ) ) |
58 |
|
zringplusg |
|- + = ( +g ` ZZring ) |
59 |
58
|
eqcomi |
|- ( +g ` ZZring ) = + |
60 |
59
|
oveqi |
|- ( A ( +g ` ZZring ) B ) = ( A + B ) |
61 |
60
|
opeq2i |
|- <. 0 , ( A ( +g ` ZZring ) B ) >. = <. 0 , ( A + B ) >. |
62 |
59
|
oveqi |
|- ( C ( +g ` ZZring ) D ) = ( C + D ) |
63 |
62
|
opeq2i |
|- <. 1 , ( C ( +g ` ZZring ) D ) >. = <. 1 , ( C + D ) >. |
64 |
61 63
|
preq12i |
|- { <. 0 , ( A ( +g ` ZZring ) B ) >. , <. 1 , ( C ( +g ` ZZring ) D ) >. } = { <. 0 , ( A + B ) >. , <. 1 , ( C + D ) >. } |
65 |
57 64
|
eqtr3di |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( x e. { 0 , 1 } |-> ( ( { <. 0 , A >. , <. 1 , C >. } ` x ) ( +g ` ZZring ) ( { <. 0 , B >. , <. 1 , D >. } ` x ) ) ) = { <. 0 , ( A + B ) >. , <. 1 , ( C + D ) >. } ) |
66 |
17 30 65
|
3eqtrd |
|- ( ( ( A e. ZZ /\ B e. ZZ ) /\ ( C e. ZZ /\ D e. ZZ ) ) -> ( { <. 0 , A >. , <. 1 , C >. } .+ { <. 0 , B >. , <. 1 , D >. } ) = { <. 0 , ( A + B ) >. , <. 1 , ( C + D ) >. } ) |