| 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 ) ) |