| Step |
Hyp |
Ref |
Expression |
| 1 |
|
sticksstones11.1 |
|- ( ph -> N e. NN0 ) |
| 2 |
|
sticksstones11.2 |
|- ( ph -> K = 0 ) |
| 3 |
|
sticksstones11.3 |
|- F = ( a e. A |-> ( j e. ( 1 ... K ) |-> ( j + sum_ l e. ( 1 ... j ) ( a ` l ) ) ) ) |
| 4 |
|
sticksstones11.4 |
|- G = ( b e. B |-> if ( K = 0 , { <. 1 , N >. } , ( k e. ( 1 ... ( K + 1 ) ) |-> if ( k = ( K + 1 ) , ( ( N + K ) - ( b ` K ) ) , if ( k = 1 , ( ( b ` 1 ) - 1 ) , ( ( ( b ` k ) - ( b ` ( k - 1 ) ) ) - 1 ) ) ) ) ) ) |
| 5 |
|
sticksstones11.5 |
|- A = { g | ( g : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = N ) } |
| 6 |
|
sticksstones11.6 |
|- B = { f | ( f : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( f ` x ) < ( f ` y ) ) ) } |
| 7 |
|
0nn0 |
|- 0 e. NN0 |
| 8 |
7
|
a1i |
|- ( ph -> 0 e. NN0 ) |
| 9 |
2 8
|
eqeltrd |
|- ( ph -> K e. NN0 ) |
| 10 |
1 9 3 5 6
|
sticksstones8 |
|- ( ph -> F : A --> B ) |
| 11 |
1 2 4 5 6
|
sticksstones9 |
|- ( ph -> G : B --> A ) |
| 12 |
5
|
a1i |
|- ( ph -> A = { g | ( g : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = N ) } ) |
| 13 |
|
nfv |
|- F/ u ph |
| 14 |
|
nfcv |
|- F/_ u { g | ( g : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = N ) } |
| 15 |
|
nfcv |
|- F/_ u { { <. 1 , N >. } } |
| 16 |
|
ffn |
|- ( u : { 1 } --> NN0 -> u Fn { 1 } ) |
| 17 |
16
|
ad2antrl |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> u Fn { 1 } ) |
| 18 |
|
1nn |
|- 1 e. NN |
| 19 |
18
|
a1i |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> 1 e. NN ) |
| 20 |
1
|
adantr |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> N e. NN0 ) |
| 21 |
|
fnsng |
|- ( ( 1 e. NN /\ N e. NN0 ) -> { <. 1 , N >. } Fn { 1 } ) |
| 22 |
19 20 21
|
syl2anc |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> { <. 1 , N >. } Fn { 1 } ) |
| 23 |
|
elsni |
|- ( p e. { 1 } -> p = 1 ) |
| 24 |
23
|
adantl |
|- ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ p e. { 1 } ) -> p = 1 ) |
| 25 |
|
simpr |
|- ( ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ p e. { 1 } ) /\ p = 1 ) -> p = 1 ) |
| 26 |
25
|
fveq2d |
|- ( ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ p e. { 1 } ) /\ p = 1 ) -> ( u ` p ) = ( u ` 1 ) ) |
| 27 |
|
simprl |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> u : { 1 } --> NN0 ) |
| 28 |
|
1ex |
|- 1 e. _V |
| 29 |
28
|
snid |
|- 1 e. { 1 } |
| 30 |
29
|
a1i |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> 1 e. { 1 } ) |
| 31 |
27 30
|
ffvelcdmd |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> ( u ` 1 ) e. NN0 ) |
| 32 |
31
|
nn0cnd |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> ( u ` 1 ) e. CC ) |
| 33 |
|
fveq2 |
|- ( i = 1 -> ( u ` i ) = ( u ` 1 ) ) |
| 34 |
33
|
sumsn |
|- ( ( 1 e. NN /\ ( u ` 1 ) e. CC ) -> sum_ i e. { 1 } ( u ` i ) = ( u ` 1 ) ) |
| 35 |
19 32 34
|
syl2anc |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> sum_ i e. { 1 } ( u ` i ) = ( u ` 1 ) ) |
| 36 |
35
|
adantr |
|- ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ sum_ i e. { 1 } ( u ` i ) = ( u ` 1 ) ) -> sum_ i e. { 1 } ( u ` i ) = ( u ` 1 ) ) |
| 37 |
36
|
eqcomd |
|- ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ sum_ i e. { 1 } ( u ` i ) = ( u ` 1 ) ) -> ( u ` 1 ) = sum_ i e. { 1 } ( u ` i ) ) |
| 38 |
|
simplrr |
|- ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ sum_ i e. { 1 } ( u ` i ) = ( u ` 1 ) ) -> sum_ i e. { 1 } ( u ` i ) = N ) |
| 39 |
37 38
|
eqtrd |
|- ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ sum_ i e. { 1 } ( u ` i ) = ( u ` 1 ) ) -> ( u ` 1 ) = N ) |
| 40 |
39
|
ex |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> ( sum_ i e. { 1 } ( u ` i ) = ( u ` 1 ) -> ( u ` 1 ) = N ) ) |
| 41 |
35 40
|
mpd |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> ( u ` 1 ) = N ) |
| 42 |
41
|
adantr |
|- ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ p e. { 1 } ) -> ( u ` 1 ) = N ) |
| 43 |
18
|
a1i |
|- ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ p e. { 1 } ) -> 1 e. NN ) |
| 44 |
20
|
adantr |
|- ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ p e. { 1 } ) -> N e. NN0 ) |
| 45 |
|
fvsng |
|- ( ( 1 e. NN /\ N e. NN0 ) -> ( { <. 1 , N >. } ` 1 ) = N ) |
| 46 |
43 44 45
|
syl2anc |
|- ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ p e. { 1 } ) -> ( { <. 1 , N >. } ` 1 ) = N ) |
| 47 |
46
|
eqcomd |
|- ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ p e. { 1 } ) -> N = ( { <. 1 , N >. } ` 1 ) ) |
| 48 |
42 47
|
eqtrd |
|- ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ p e. { 1 } ) -> ( u ` 1 ) = ( { <. 1 , N >. } ` 1 ) ) |
| 49 |
48
|
adantr |
|- ( ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ p e. { 1 } ) /\ p = 1 ) -> ( u ` 1 ) = ( { <. 1 , N >. } ` 1 ) ) |
| 50 |
25
|
eqcomd |
|- ( ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ p e. { 1 } ) /\ p = 1 ) -> 1 = p ) |
| 51 |
50
|
fveq2d |
|- ( ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ p e. { 1 } ) /\ p = 1 ) -> ( { <. 1 , N >. } ` 1 ) = ( { <. 1 , N >. } ` p ) ) |
| 52 |
26 49 51
|
3eqtrd |
|- ( ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ p e. { 1 } ) /\ p = 1 ) -> ( u ` p ) = ( { <. 1 , N >. } ` p ) ) |
| 53 |
24 52
|
mpdan |
|- ( ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) /\ p e. { 1 } ) -> ( u ` p ) = ( { <. 1 , N >. } ` p ) ) |
| 54 |
17 22 53
|
eqfnfvd |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> u = { <. 1 , N >. } ) |
| 55 |
|
fsng |
|- ( ( 1 e. NN /\ N e. NN0 ) -> ( u : { 1 } --> { N } <-> u = { <. 1 , N >. } ) ) |
| 56 |
19 20 55
|
syl2anc |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> ( u : { 1 } --> { N } <-> u = { <. 1 , N >. } ) ) |
| 57 |
54 56
|
mpbird |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> u : { 1 } --> { N } ) |
| 58 |
|
ssidd |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> { N } C_ { N } ) |
| 59 |
|
fss |
|- ( ( u : { 1 } --> { N } /\ { N } C_ { N } ) -> u : { 1 } --> { N } ) |
| 60 |
57 58 59
|
syl2anc |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> u : { 1 } --> { N } ) |
| 61 |
60 58 59
|
syl2anc |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> u : { 1 } --> { N } ) |
| 62 |
61 56
|
mpbid |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> u = { <. 1 , N >. } ) |
| 63 |
|
vex |
|- u e. _V |
| 64 |
63
|
elsn |
|- ( u e. { { <. 1 , N >. } } <-> u = { <. 1 , N >. } ) |
| 65 |
62 64
|
sylibr |
|- ( ( ph /\ ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) ) -> u e. { { <. 1 , N >. } } ) |
| 66 |
65
|
ex |
|- ( ph -> ( ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) -> u e. { { <. 1 , N >. } } ) ) |
| 67 |
|
1zzd |
|- ( ph -> 1 e. ZZ ) |
| 68 |
|
fzsn |
|- ( 1 e. ZZ -> ( 1 ... 1 ) = { 1 } ) |
| 69 |
67 68
|
syl |
|- ( ph -> ( 1 ... 1 ) = { 1 } ) |
| 70 |
69
|
eqcomd |
|- ( ph -> { 1 } = ( 1 ... 1 ) ) |
| 71 |
|
1e0p1 |
|- 1 = ( 0 + 1 ) |
| 72 |
71
|
a1i |
|- ( ph -> 1 = ( 0 + 1 ) ) |
| 73 |
72
|
oveq2d |
|- ( ph -> ( 1 ... 1 ) = ( 1 ... ( 0 + 1 ) ) ) |
| 74 |
70 73
|
eqtrd |
|- ( ph -> { 1 } = ( 1 ... ( 0 + 1 ) ) ) |
| 75 |
2
|
eqcomd |
|- ( ph -> 0 = K ) |
| 76 |
75
|
oveq1d |
|- ( ph -> ( 0 + 1 ) = ( K + 1 ) ) |
| 77 |
76
|
oveq2d |
|- ( ph -> ( 1 ... ( 0 + 1 ) ) = ( 1 ... ( K + 1 ) ) ) |
| 78 |
74 77
|
eqtrd |
|- ( ph -> { 1 } = ( 1 ... ( K + 1 ) ) ) |
| 79 |
78
|
feq2d |
|- ( ph -> ( u : { 1 } --> NN0 <-> u : ( 1 ... ( K + 1 ) ) --> NN0 ) ) |
| 80 |
78
|
sumeq1d |
|- ( ph -> sum_ i e. { 1 } ( u ` i ) = sum_ i e. ( 1 ... ( K + 1 ) ) ( u ` i ) ) |
| 81 |
80
|
eqeq1d |
|- ( ph -> ( sum_ i e. { 1 } ( u ` i ) = N <-> sum_ i e. ( 1 ... ( K + 1 ) ) ( u ` i ) = N ) ) |
| 82 |
79 81
|
anbi12d |
|- ( ph -> ( ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) <-> ( u : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( u ` i ) = N ) ) ) |
| 83 |
82
|
imbi1d |
|- ( ph -> ( ( ( u : { 1 } --> NN0 /\ sum_ i e. { 1 } ( u ` i ) = N ) -> u e. { { <. 1 , N >. } } ) <-> ( ( u : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( u ` i ) = N ) -> u e. { { <. 1 , N >. } } ) ) ) |
| 84 |
66 83
|
mpbid |
|- ( ph -> ( ( u : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( u ` i ) = N ) -> u e. { { <. 1 , N >. } } ) ) |
| 85 |
|
feq1 |
|- ( g = u -> ( g : ( 1 ... ( K + 1 ) ) --> NN0 <-> u : ( 1 ... ( K + 1 ) ) --> NN0 ) ) |
| 86 |
|
simpl |
|- ( ( g = u /\ i e. ( 1 ... ( K + 1 ) ) ) -> g = u ) |
| 87 |
86
|
fveq1d |
|- ( ( g = u /\ i e. ( 1 ... ( K + 1 ) ) ) -> ( g ` i ) = ( u ` i ) ) |
| 88 |
87
|
sumeq2dv |
|- ( g = u -> sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = sum_ i e. ( 1 ... ( K + 1 ) ) ( u ` i ) ) |
| 89 |
88
|
eqeq1d |
|- ( g = u -> ( sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = N <-> sum_ i e. ( 1 ... ( K + 1 ) ) ( u ` i ) = N ) ) |
| 90 |
85 89
|
anbi12d |
|- ( g = u -> ( ( g : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = N ) <-> ( u : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( u ` i ) = N ) ) ) |
| 91 |
63 90
|
elab |
|- ( u e. { g | ( g : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = N ) } <-> ( u : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( u ` i ) = N ) ) |
| 92 |
91
|
a1i |
|- ( ph -> ( u e. { g | ( g : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = N ) } <-> ( u : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( u ` i ) = N ) ) ) |
| 93 |
92
|
imbi1d |
|- ( ph -> ( ( u e. { g | ( g : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = N ) } -> u e. { { <. 1 , N >. } } ) <-> ( ( u : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( u ` i ) = N ) -> u e. { { <. 1 , N >. } } ) ) ) |
| 94 |
84 93
|
mpbird |
|- ( ph -> ( u e. { g | ( g : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = N ) } -> u e. { { <. 1 , N >. } } ) ) |
| 95 |
94
|
imp |
|- ( ( ph /\ u e. { g | ( g : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = N ) } ) -> u e. { { <. 1 , N >. } } ) |
| 96 |
95
|
ex |
|- ( ph -> ( u e. { g | ( g : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = N ) } -> u e. { { <. 1 , N >. } } ) ) |
| 97 |
13 14 15 96
|
ssrd |
|- ( ph -> { g | ( g : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = N ) } C_ { { <. 1 , N >. } } ) |
| 98 |
18
|
a1i |
|- ( ph -> 1 e. NN ) |
| 99 |
98 1 55
|
syl2anc |
|- ( ph -> ( u : { 1 } --> { N } <-> u = { <. 1 , N >. } ) ) |
| 100 |
99
|
bicomd |
|- ( ph -> ( u = { <. 1 , N >. } <-> u : { 1 } --> { N } ) ) |
| 101 |
100
|
biimpd |
|- ( ph -> ( u = { <. 1 , N >. } -> u : { 1 } --> { N } ) ) |
| 102 |
|
elsni |
|- ( u e. { { <. 1 , N >. } } -> u = { <. 1 , N >. } ) |
| 103 |
101 102
|
impel |
|- ( ( ph /\ u e. { { <. 1 , N >. } } ) -> u : { 1 } --> { N } ) |
| 104 |
1
|
snssd |
|- ( ph -> { N } C_ NN0 ) |
| 105 |
104
|
adantr |
|- ( ( ph /\ u e. { { <. 1 , N >. } } ) -> { N } C_ NN0 ) |
| 106 |
|
fss |
|- ( ( u : { 1 } --> { N } /\ { N } C_ NN0 ) -> u : { 1 } --> NN0 ) |
| 107 |
103 105 106
|
syl2anc |
|- ( ( ph /\ u e. { { <. 1 , N >. } } ) -> u : { 1 } --> NN0 ) |
| 108 |
79
|
adantr |
|- ( ( ph /\ u e. { { <. 1 , N >. } } ) -> ( u : { 1 } --> NN0 <-> u : ( 1 ... ( K + 1 ) ) --> NN0 ) ) |
| 109 |
107 108
|
mpbid |
|- ( ( ph /\ u e. { { <. 1 , N >. } } ) -> u : ( 1 ... ( K + 1 ) ) --> NN0 ) |
| 110 |
102
|
adantl |
|- ( ( ph /\ u e. { { <. 1 , N >. } } ) -> u = { <. 1 , N >. } ) |
| 111 |
78
|
3ad2ant1 |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> { 1 } = ( 1 ... ( K + 1 ) ) ) |
| 112 |
111
|
eqcomd |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> ( 1 ... ( K + 1 ) ) = { 1 } ) |
| 113 |
112
|
sumeq1d |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> sum_ i e. ( 1 ... ( K + 1 ) ) ( u ` i ) = sum_ i e. { 1 } ( u ` i ) ) |
| 114 |
18
|
a1i |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> 1 e. NN ) |
| 115 |
1
|
3ad2ant1 |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> N e. NN0 ) |
| 116 |
115
|
nn0cnd |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> N e. CC ) |
| 117 |
114 115 45
|
syl2anc |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> ( { <. 1 , N >. } ` 1 ) = N ) |
| 118 |
117
|
eqcomd |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> N = ( { <. 1 , N >. } ` 1 ) ) |
| 119 |
110
|
3adant3 |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> u = { <. 1 , N >. } ) |
| 120 |
119
|
fveq1d |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> ( u ` 1 ) = ( { <. 1 , N >. } ` 1 ) ) |
| 121 |
118 120
|
eqtr4d |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> N = ( u ` 1 ) ) |
| 122 |
121
|
eleq1d |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> ( N e. CC <-> ( u ` 1 ) e. CC ) ) |
| 123 |
116 122
|
mpbid |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> ( u ` 1 ) e. CC ) |
| 124 |
114 123 34
|
syl2anc |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> sum_ i e. { 1 } ( u ` i ) = ( u ` 1 ) ) |
| 125 |
120 117
|
eqtrd |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> ( u ` 1 ) = N ) |
| 126 |
124 125
|
eqtrd |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> sum_ i e. { 1 } ( u ` i ) = N ) |
| 127 |
113 126
|
eqtrd |
|- ( ( ph /\ u e. { { <. 1 , N >. } } /\ u = { <. 1 , N >. } ) -> sum_ i e. ( 1 ... ( K + 1 ) ) ( u ` i ) = N ) |
| 128 |
127
|
3expa |
|- ( ( ( ph /\ u e. { { <. 1 , N >. } } ) /\ u = { <. 1 , N >. } ) -> sum_ i e. ( 1 ... ( K + 1 ) ) ( u ` i ) = N ) |
| 129 |
110 128
|
mpdan |
|- ( ( ph /\ u e. { { <. 1 , N >. } } ) -> sum_ i e. ( 1 ... ( K + 1 ) ) ( u ` i ) = N ) |
| 130 |
109 129
|
jca |
|- ( ( ph /\ u e. { { <. 1 , N >. } } ) -> ( u : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( u ` i ) = N ) ) |
| 131 |
130 91
|
sylibr |
|- ( ( ph /\ u e. { { <. 1 , N >. } } ) -> u e. { g | ( g : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = N ) } ) |
| 132 |
131
|
ex |
|- ( ph -> ( u e. { { <. 1 , N >. } } -> u e. { g | ( g : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = N ) } ) ) |
| 133 |
13 15 14 132
|
ssrd |
|- ( ph -> { { <. 1 , N >. } } C_ { g | ( g : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = N ) } ) |
| 134 |
97 133
|
eqssd |
|- ( ph -> { g | ( g : ( 1 ... ( K + 1 ) ) --> NN0 /\ sum_ i e. ( 1 ... ( K + 1 ) ) ( g ` i ) = N ) } = { { <. 1 , N >. } } ) |
| 135 |
12 134
|
eqtrd |
|- ( ph -> A = { { <. 1 , N >. } } ) |
| 136 |
|
eqss |
|- ( A = { { <. 1 , N >. } } <-> ( A C_ { { <. 1 , N >. } } /\ { { <. 1 , N >. } } C_ A ) ) |
| 137 |
136
|
biimpi |
|- ( A = { { <. 1 , N >. } } -> ( A C_ { { <. 1 , N >. } } /\ { { <. 1 , N >. } } C_ A ) ) |
| 138 |
137
|
simpld |
|- ( A = { { <. 1 , N >. } } -> A C_ { { <. 1 , N >. } } ) |
| 139 |
135 138
|
syl |
|- ( ph -> A C_ { { <. 1 , N >. } } ) |
| 140 |
|
fss |
|- ( ( G : B --> A /\ A C_ { { <. 1 , N >. } } ) -> G : B --> { { <. 1 , N >. } } ) |
| 141 |
11 139 140
|
syl2anc |
|- ( ph -> G : B --> { { <. 1 , N >. } } ) |
| 142 |
141
|
adantr |
|- ( ( ph /\ c e. A ) -> G : B --> { { <. 1 , N >. } } ) |
| 143 |
10
|
ffvelcdmda |
|- ( ( ph /\ c e. A ) -> ( F ` c ) e. B ) |
| 144 |
|
fvconst |
|- ( ( G : B --> { { <. 1 , N >. } } /\ ( F ` c ) e. B ) -> ( G ` ( F ` c ) ) = { <. 1 , N >. } ) |
| 145 |
142 143 144
|
syl2anc |
|- ( ( ph /\ c e. A ) -> ( G ` ( F ` c ) ) = { <. 1 , N >. } ) |
| 146 |
135
|
eleq2d |
|- ( ph -> ( c e. A <-> c e. { { <. 1 , N >. } } ) ) |
| 147 |
146
|
biimpd |
|- ( ph -> ( c e. A -> c e. { { <. 1 , N >. } } ) ) |
| 148 |
147
|
imp |
|- ( ( ph /\ c e. A ) -> c e. { { <. 1 , N >. } } ) |
| 149 |
|
vex |
|- c e. _V |
| 150 |
149
|
elsn |
|- ( c e. { { <. 1 , N >. } } <-> c = { <. 1 , N >. } ) |
| 151 |
148 150
|
sylib |
|- ( ( ph /\ c e. A ) -> c = { <. 1 , N >. } ) |
| 152 |
151
|
eqcomd |
|- ( ( ph /\ c e. A ) -> { <. 1 , N >. } = c ) |
| 153 |
145 152
|
eqtrd |
|- ( ( ph /\ c e. A ) -> ( G ` ( F ` c ) ) = c ) |
| 154 |
153
|
ralrimiva |
|- ( ph -> A. c e. A ( G ` ( F ` c ) ) = c ) |
| 155 |
|
simpr |
|- ( ( ph /\ d e. B ) -> d e. B ) |
| 156 |
|
nfv |
|- F/ d ph |
| 157 |
|
nfcv |
|- F/_ d B |
| 158 |
|
nfcv |
|- F/_ d { (/) } |
| 159 |
6
|
a1i |
|- ( ( ph /\ d e. B ) -> B = { f | ( f : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( f ` x ) < ( f ` y ) ) ) } ) |
| 160 |
159
|
eleq2d |
|- ( ( ph /\ d e. B ) -> ( d e. B <-> d e. { f | ( f : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( f ` x ) < ( f ` y ) ) ) } ) ) |
| 161 |
160
|
biimpd |
|- ( ( ph /\ d e. B ) -> ( d e. B -> d e. { f | ( f : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( f ` x ) < ( f ` y ) ) ) } ) ) |
| 162 |
161
|
syldbl2 |
|- ( ( ph /\ d e. B ) -> d e. { f | ( f : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( f ` x ) < ( f ` y ) ) ) } ) |
| 163 |
|
vex |
|- d e. _V |
| 164 |
|
feq1 |
|- ( f = d -> ( f : ( 1 ... K ) --> ( 1 ... ( N + K ) ) <-> d : ( 1 ... K ) --> ( 1 ... ( N + K ) ) ) ) |
| 165 |
|
fveq1 |
|- ( f = d -> ( f ` x ) = ( d ` x ) ) |
| 166 |
|
fveq1 |
|- ( f = d -> ( f ` y ) = ( d ` y ) ) |
| 167 |
165 166
|
breq12d |
|- ( f = d -> ( ( f ` x ) < ( f ` y ) <-> ( d ` x ) < ( d ` y ) ) ) |
| 168 |
167
|
imbi2d |
|- ( f = d -> ( ( x < y -> ( f ` x ) < ( f ` y ) ) <-> ( x < y -> ( d ` x ) < ( d ` y ) ) ) ) |
| 169 |
168
|
2ralbidv |
|- ( f = d -> ( A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( f ` x ) < ( f ` y ) ) <-> A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( d ` x ) < ( d ` y ) ) ) ) |
| 170 |
164 169
|
anbi12d |
|- ( f = d -> ( ( f : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( f ` x ) < ( f ` y ) ) ) <-> ( d : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( d ` x ) < ( d ` y ) ) ) ) ) |
| 171 |
163 170
|
elab |
|- ( d e. { f | ( f : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( f ` x ) < ( f ` y ) ) ) } <-> ( d : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( d ` x ) < ( d ` y ) ) ) ) |
| 172 |
162 171
|
sylib |
|- ( ( ph /\ d e. B ) -> ( d : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( d ` x ) < ( d ` y ) ) ) ) |
| 173 |
172
|
simpld |
|- ( ( ph /\ d e. B ) -> d : ( 1 ... K ) --> ( 1 ... ( N + K ) ) ) |
| 174 |
|
0lt1 |
|- 0 < 1 |
| 175 |
174
|
a1i |
|- ( ph -> 0 < 1 ) |
| 176 |
2 175
|
eqbrtrd |
|- ( ph -> K < 1 ) |
| 177 |
9
|
nn0zd |
|- ( ph -> K e. ZZ ) |
| 178 |
|
fzn |
|- ( ( 1 e. ZZ /\ K e. ZZ ) -> ( K < 1 <-> ( 1 ... K ) = (/) ) ) |
| 179 |
67 177 178
|
syl2anc |
|- ( ph -> ( K < 1 <-> ( 1 ... K ) = (/) ) ) |
| 180 |
176 179
|
mpbid |
|- ( ph -> ( 1 ... K ) = (/) ) |
| 181 |
180
|
feq2d |
|- ( ph -> ( d : ( 1 ... K ) --> ( 1 ... ( N + K ) ) <-> d : (/) --> ( 1 ... ( N + K ) ) ) ) |
| 182 |
181
|
adantr |
|- ( ( ph /\ d e. B ) -> ( d : ( 1 ... K ) --> ( 1 ... ( N + K ) ) <-> d : (/) --> ( 1 ... ( N + K ) ) ) ) |
| 183 |
173 182
|
mpbid |
|- ( ( ph /\ d e. B ) -> d : (/) --> ( 1 ... ( N + K ) ) ) |
| 184 |
|
f0bi |
|- ( d : (/) --> ( 1 ... ( N + K ) ) <-> d = (/) ) |
| 185 |
183 184
|
sylib |
|- ( ( ph /\ d e. B ) -> d = (/) ) |
| 186 |
|
velsn |
|- ( d e. { (/) } <-> d = (/) ) |
| 187 |
185 186
|
sylibr |
|- ( ( ph /\ d e. B ) -> d e. { (/) } ) |
| 188 |
187
|
ex |
|- ( ph -> ( d e. B -> d e. { (/) } ) ) |
| 189 |
|
f0 |
|- (/) : (/) --> ( 1 ... ( N + K ) ) |
| 190 |
189
|
a1i |
|- ( ph -> (/) : (/) --> ( 1 ... ( N + K ) ) ) |
| 191 |
180
|
feq2d |
|- ( ph -> ( (/) : ( 1 ... K ) --> ( 1 ... ( N + K ) ) <-> (/) : (/) --> ( 1 ... ( N + K ) ) ) ) |
| 192 |
190 191
|
mpbird |
|- ( ph -> (/) : ( 1 ... K ) --> ( 1 ... ( N + K ) ) ) |
| 193 |
|
ral0 |
|- A. x e. (/) A. y e. ( 1 ... K ) ( x < y -> ( (/) ` x ) < ( (/) ` y ) ) |
| 194 |
193
|
a1i |
|- ( ph -> A. x e. (/) A. y e. ( 1 ... K ) ( x < y -> ( (/) ` x ) < ( (/) ` y ) ) ) |
| 195 |
194 180
|
raleqtrrdv |
|- ( ph -> A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( (/) ` x ) < ( (/) ` y ) ) ) |
| 196 |
192 195
|
jca |
|- ( ph -> ( (/) : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( (/) ` x ) < ( (/) ` y ) ) ) ) |
| 197 |
|
0ex |
|- (/) e. _V |
| 198 |
|
feq1 |
|- ( f = (/) -> ( f : ( 1 ... K ) --> ( 1 ... ( N + K ) ) <-> (/) : ( 1 ... K ) --> ( 1 ... ( N + K ) ) ) ) |
| 199 |
|
fveq1 |
|- ( f = (/) -> ( f ` x ) = ( (/) ` x ) ) |
| 200 |
|
fveq1 |
|- ( f = (/) -> ( f ` y ) = ( (/) ` y ) ) |
| 201 |
199 200
|
breq12d |
|- ( f = (/) -> ( ( f ` x ) < ( f ` y ) <-> ( (/) ` x ) < ( (/) ` y ) ) ) |
| 202 |
201
|
imbi2d |
|- ( f = (/) -> ( ( x < y -> ( f ` x ) < ( f ` y ) ) <-> ( x < y -> ( (/) ` x ) < ( (/) ` y ) ) ) ) |
| 203 |
202
|
2ralbidv |
|- ( f = (/) -> ( A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( f ` x ) < ( f ` y ) ) <-> A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( (/) ` x ) < ( (/) ` y ) ) ) ) |
| 204 |
198 203
|
anbi12d |
|- ( f = (/) -> ( ( f : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( f ` x ) < ( f ` y ) ) ) <-> ( (/) : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( (/) ` x ) < ( (/) ` y ) ) ) ) ) |
| 205 |
204
|
elabg |
|- ( (/) e. _V -> ( (/) e. { f | ( f : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( f ` x ) < ( f ` y ) ) ) } <-> ( (/) : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( (/) ` x ) < ( (/) ` y ) ) ) ) ) |
| 206 |
197 205
|
ax-mp |
|- ( (/) e. { f | ( f : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( f ` x ) < ( f ` y ) ) ) } <-> ( (/) : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( (/) ` x ) < ( (/) ` y ) ) ) ) |
| 207 |
196 206
|
sylibr |
|- ( ph -> (/) e. { f | ( f : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( f ` x ) < ( f ` y ) ) ) } ) |
| 208 |
6
|
a1i |
|- ( ph -> B = { f | ( f : ( 1 ... K ) --> ( 1 ... ( N + K ) ) /\ A. x e. ( 1 ... K ) A. y e. ( 1 ... K ) ( x < y -> ( f ` x ) < ( f ` y ) ) ) } ) |
| 209 |
207 208
|
eleqtrrd |
|- ( ph -> (/) e. B ) |
| 210 |
209
|
adantr |
|- ( ( ph /\ d e. { (/) } ) -> (/) e. B ) |
| 211 |
|
elsni |
|- ( d e. { (/) } -> d = (/) ) |
| 212 |
211
|
adantl |
|- ( ( ph /\ d e. { (/) } ) -> d = (/) ) |
| 213 |
212
|
eleq1d |
|- ( ( ph /\ d e. { (/) } ) -> ( d e. B <-> (/) e. B ) ) |
| 214 |
210 213
|
mpbird |
|- ( ( ph /\ d e. { (/) } ) -> d e. B ) |
| 215 |
214
|
ex |
|- ( ph -> ( d e. { (/) } -> d e. B ) ) |
| 216 |
188 215
|
impbid |
|- ( ph -> ( d e. B <-> d e. { (/) } ) ) |
| 217 |
156 157 158 216
|
eqrd |
|- ( ph -> B = { (/) } ) |
| 218 |
217
|
adantr |
|- ( ( ph /\ d e. B ) -> B = { (/) } ) |
| 219 |
155 218
|
eleqtrd |
|- ( ( ph /\ d e. B ) -> d e. { (/) } ) |
| 220 |
163
|
elsn |
|- ( d e. { (/) } <-> d = (/) ) |
| 221 |
219 220
|
sylib |
|- ( ( ph /\ d e. B ) -> d = (/) ) |
| 222 |
221
|
fveq2d |
|- ( ( ph /\ d e. B ) -> ( G ` d ) = ( G ` (/) ) ) |
| 223 |
222
|
fveq2d |
|- ( ( ph /\ d e. B ) -> ( F ` ( G ` d ) ) = ( F ` ( G ` (/) ) ) ) |
| 224 |
180
|
adantr |
|- ( ( ph /\ a e. A ) -> ( 1 ... K ) = (/) ) |
| 225 |
224
|
mpteq1d |
|- ( ( ph /\ a e. A ) -> ( j e. ( 1 ... K ) |-> ( j + sum_ l e. ( 1 ... j ) ( a ` l ) ) ) = ( j e. (/) |-> ( j + sum_ l e. ( 1 ... j ) ( a ` l ) ) ) ) |
| 226 |
|
mpt0 |
|- ( j e. (/) |-> ( j + sum_ l e. ( 1 ... j ) ( a ` l ) ) ) = (/) |
| 227 |
226
|
a1i |
|- ( ( ph /\ a e. A ) -> ( j e. (/) |-> ( j + sum_ l e. ( 1 ... j ) ( a ` l ) ) ) = (/) ) |
| 228 |
225 227
|
eqtrd |
|- ( ( ph /\ a e. A ) -> ( j e. ( 1 ... K ) |-> ( j + sum_ l e. ( 1 ... j ) ( a ` l ) ) ) = (/) ) |
| 229 |
|
fzfid |
|- ( ph -> ( 1 ... K ) e. Fin ) |
| 230 |
229
|
mptexd |
|- ( ph -> ( j e. ( 1 ... K ) |-> ( j + sum_ l e. ( 1 ... j ) ( a ` l ) ) ) e. _V ) |
| 231 |
|
elsng |
|- ( ( j e. ( 1 ... K ) |-> ( j + sum_ l e. ( 1 ... j ) ( a ` l ) ) ) e. _V -> ( ( j e. ( 1 ... K ) |-> ( j + sum_ l e. ( 1 ... j ) ( a ` l ) ) ) e. { (/) } <-> ( j e. ( 1 ... K ) |-> ( j + sum_ l e. ( 1 ... j ) ( a ` l ) ) ) = (/) ) ) |
| 232 |
230 231
|
syl |
|- ( ph -> ( ( j e. ( 1 ... K ) |-> ( j + sum_ l e. ( 1 ... j ) ( a ` l ) ) ) e. { (/) } <-> ( j e. ( 1 ... K ) |-> ( j + sum_ l e. ( 1 ... j ) ( a ` l ) ) ) = (/) ) ) |
| 233 |
232
|
adantr |
|- ( ( ph /\ a e. A ) -> ( ( j e. ( 1 ... K ) |-> ( j + sum_ l e. ( 1 ... j ) ( a ` l ) ) ) e. { (/) } <-> ( j e. ( 1 ... K ) |-> ( j + sum_ l e. ( 1 ... j ) ( a ` l ) ) ) = (/) ) ) |
| 234 |
228 233
|
mpbird |
|- ( ( ph /\ a e. A ) -> ( j e. ( 1 ... K ) |-> ( j + sum_ l e. ( 1 ... j ) ( a ` l ) ) ) e. { (/) } ) |
| 235 |
234 3
|
fmptd |
|- ( ph -> F : A --> { (/) } ) |
| 236 |
235
|
adantr |
|- ( ( ph /\ d e. B ) -> F : A --> { (/) } ) |
| 237 |
|
ffvelcdm |
|- ( ( G : B --> A /\ (/) e. B ) -> ( G ` (/) ) e. A ) |
| 238 |
11 209 237
|
syl2anc |
|- ( ph -> ( G ` (/) ) e. A ) |
| 239 |
238
|
adantr |
|- ( ( ph /\ d e. B ) -> ( G ` (/) ) e. A ) |
| 240 |
|
fvconst |
|- ( ( F : A --> { (/) } /\ ( G ` (/) ) e. A ) -> ( F ` ( G ` (/) ) ) = (/) ) |
| 241 |
236 239 240
|
syl2anc |
|- ( ( ph /\ d e. B ) -> ( F ` ( G ` (/) ) ) = (/) ) |
| 242 |
223 241
|
eqtrd |
|- ( ( ph /\ d e. B ) -> ( F ` ( G ` d ) ) = (/) ) |
| 243 |
221
|
eqcomd |
|- ( ( ph /\ d e. B ) -> (/) = d ) |
| 244 |
242 243
|
eqtrd |
|- ( ( ph /\ d e. B ) -> ( F ` ( G ` d ) ) = d ) |
| 245 |
244
|
ralrimiva |
|- ( ph -> A. d e. B ( F ` ( G ` d ) ) = d ) |
| 246 |
10 11 154 245
|
2fvidf1od |
|- ( ph -> F : A -1-1-onto-> B ) |