Step |
Hyp |
Ref |
Expression |
1 |
|
fprodex01.1 |
|- ( k = l -> B = C ) |
2 |
|
fprodex01.a |
|- ( ph -> A e. Fin ) |
3 |
|
fprodex01.b |
|- ( ( ph /\ k e. A ) -> B e. { 0 , 1 } ) |
4 |
|
simpr |
|- ( ( ph /\ A. l e. A C = 1 ) -> A. l e. A C = 1 ) |
5 |
1
|
eqeq1d |
|- ( k = l -> ( B = 1 <-> C = 1 ) ) |
6 |
5
|
cbvralvw |
|- ( A. k e. A B = 1 <-> A. l e. A C = 1 ) |
7 |
4 6
|
sylibr |
|- ( ( ph /\ A. l e. A C = 1 ) -> A. k e. A B = 1 ) |
8 |
7
|
prodeq2d |
|- ( ( ph /\ A. l e. A C = 1 ) -> prod_ k e. A B = prod_ k e. A 1 ) |
9 |
|
prod1 |
|- ( ( A C_ ( ZZ>= ` 0 ) \/ A e. Fin ) -> prod_ k e. A 1 = 1 ) |
10 |
9
|
olcs |
|- ( A e. Fin -> prod_ k e. A 1 = 1 ) |
11 |
2 10
|
syl |
|- ( ph -> prod_ k e. A 1 = 1 ) |
12 |
11
|
adantr |
|- ( ( ph /\ A. l e. A C = 1 ) -> prod_ k e. A 1 = 1 ) |
13 |
8 12
|
eqtr2d |
|- ( ( ph /\ A. l e. A C = 1 ) -> 1 = prod_ k e. A B ) |
14 |
|
nfv |
|- F/ l ph |
15 |
|
nfra1 |
|- F/ l A. l e. A C = 1 |
16 |
15
|
nfn |
|- F/ l -. A. l e. A C = 1 |
17 |
14 16
|
nfan |
|- F/ l ( ph /\ -. A. l e. A C = 1 ) |
18 |
|
nfv |
|- F/ l prod_ k e. A B = 0 |
19 |
2
|
adantr |
|- ( ( ph /\ -. A. l e. A C = 1 ) -> A e. Fin ) |
20 |
19
|
ad2antrr |
|- ( ( ( ( ph /\ -. A. l e. A C = 1 ) /\ l e. A ) /\ C = 0 ) -> A e. Fin ) |
21 |
|
pr01ssre |
|- { 0 , 1 } C_ RR |
22 |
|
ax-resscn |
|- RR C_ CC |
23 |
21 22
|
sstri |
|- { 0 , 1 } C_ CC |
24 |
23 3
|
sselid |
|- ( ( ph /\ k e. A ) -> B e. CC ) |
25 |
24
|
adantlr |
|- ( ( ( ph /\ -. A. l e. A C = 1 ) /\ k e. A ) -> B e. CC ) |
26 |
25
|
adantlr |
|- ( ( ( ( ph /\ -. A. l e. A C = 1 ) /\ l e. A ) /\ k e. A ) -> B e. CC ) |
27 |
26
|
adantlr |
|- ( ( ( ( ( ph /\ -. A. l e. A C = 1 ) /\ l e. A ) /\ C = 0 ) /\ k e. A ) -> B e. CC ) |
28 |
|
simplr |
|- ( ( ( ( ph /\ -. A. l e. A C = 1 ) /\ l e. A ) /\ C = 0 ) -> l e. A ) |
29 |
|
simpr |
|- ( ( ( ( ph /\ -. A. l e. A C = 1 ) /\ l e. A ) /\ C = 0 ) -> C = 0 ) |
30 |
1 20 27 28 29
|
fprodeq02 |
|- ( ( ( ( ph /\ -. A. l e. A C = 1 ) /\ l e. A ) /\ C = 0 ) -> prod_ k e. A B = 0 ) |
31 |
|
rexnal |
|- ( E. l e. A -. C = 1 <-> -. A. l e. A C = 1 ) |
32 |
31
|
biimpri |
|- ( -. A. l e. A C = 1 -> E. l e. A -. C = 1 ) |
33 |
32
|
adantl |
|- ( ( ph /\ -. A. l e. A C = 1 ) -> E. l e. A -. C = 1 ) |
34 |
3
|
ralrimiva |
|- ( ph -> A. k e. A B e. { 0 , 1 } ) |
35 |
1
|
eleq1d |
|- ( k = l -> ( B e. { 0 , 1 } <-> C e. { 0 , 1 } ) ) |
36 |
35
|
cbvralvw |
|- ( A. k e. A B e. { 0 , 1 } <-> A. l e. A C e. { 0 , 1 } ) |
37 |
34 36
|
sylib |
|- ( ph -> A. l e. A C e. { 0 , 1 } ) |
38 |
37
|
r19.21bi |
|- ( ( ph /\ l e. A ) -> C e. { 0 , 1 } ) |
39 |
|
c0ex |
|- 0 e. _V |
40 |
|
1ex |
|- 1 e. _V |
41 |
39 40
|
elpr2 |
|- ( C e. { 0 , 1 } <-> ( C = 0 \/ C = 1 ) ) |
42 |
38 41
|
sylib |
|- ( ( ph /\ l e. A ) -> ( C = 0 \/ C = 1 ) ) |
43 |
42
|
orcomd |
|- ( ( ph /\ l e. A ) -> ( C = 1 \/ C = 0 ) ) |
44 |
43
|
ord |
|- ( ( ph /\ l e. A ) -> ( -. C = 1 -> C = 0 ) ) |
45 |
44
|
reximdva |
|- ( ph -> ( E. l e. A -. C = 1 -> E. l e. A C = 0 ) ) |
46 |
45
|
adantr |
|- ( ( ph /\ -. A. l e. A C = 1 ) -> ( E. l e. A -. C = 1 -> E. l e. A C = 0 ) ) |
47 |
33 46
|
mpd |
|- ( ( ph /\ -. A. l e. A C = 1 ) -> E. l e. A C = 0 ) |
48 |
17 18 30 47
|
r19.29af2 |
|- ( ( ph /\ -. A. l e. A C = 1 ) -> prod_ k e. A B = 0 ) |
49 |
48
|
eqcomd |
|- ( ( ph /\ -. A. l e. A C = 1 ) -> 0 = prod_ k e. A B ) |
50 |
13 49
|
ifeqda |
|- ( ph -> if ( A. l e. A C = 1 , 1 , 0 ) = prod_ k e. A B ) |
51 |
50
|
eqcomd |
|- ( ph -> prod_ k e. A B = if ( A. l e. A C = 1 , 1 , 0 ) ) |