Step |
Hyp |
Ref |
Expression |
1 |
|
eulerpart.p |
|- P = { f e. ( NN0 ^m NN ) | ( ( `' f " NN ) e. Fin /\ sum_ k e. NN ( ( f ` k ) x. k ) = N ) } |
2 |
|
eulerpart.o |
|- O = { g e. P | A. n e. ( `' g " NN ) -. 2 || n } |
3 |
|
eulerpart.d |
|- D = { g e. P | A. n e. NN ( g ` n ) <_ 1 } |
4 |
|
eulerpart.j |
|- J = { z e. NN | -. 2 || z } |
5 |
|
eulerpart.f |
|- F = ( x e. J , y e. NN0 |-> ( ( 2 ^ y ) x. x ) ) |
6 |
|
eulerpart.h |
|- H = { r e. ( ( ~P NN0 i^i Fin ) ^m J ) | ( r supp (/) ) e. Fin } |
7 |
|
eulerpart.m |
|- M = ( r e. H |-> { <. x , y >. | ( x e. J /\ y e. ( r ` x ) ) } ) |
8 |
|
fzfid |
|- ( T. -> ( 1 ... N ) e. Fin ) |
9 |
|
fzfi |
|- ( 0 ... N ) e. Fin |
10 |
|
snfi |
|- { 0 } e. Fin |
11 |
9 10
|
ifcli |
|- if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) e. Fin |
12 |
11
|
a1i |
|- ( ( T. /\ x e. NN ) -> if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) e. Fin ) |
13 |
|
eldifn |
|- ( x e. ( NN \ ( 1 ... N ) ) -> -. x e. ( 1 ... N ) ) |
14 |
13
|
adantl |
|- ( ( T. /\ x e. ( NN \ ( 1 ... N ) ) ) -> -. x e. ( 1 ... N ) ) |
15 |
|
iffalse |
|- ( -. x e. ( 1 ... N ) -> if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) = { 0 } ) |
16 |
|
eqimss |
|- ( if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) = { 0 } -> if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) C_ { 0 } ) |
17 |
14 15 16
|
3syl |
|- ( ( T. /\ x e. ( NN \ ( 1 ... N ) ) ) -> if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) C_ { 0 } ) |
18 |
8 12 17
|
ixpfi2 |
|- ( T. -> X_ x e. NN if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) e. Fin ) |
19 |
18
|
mptru |
|- X_ x e. NN if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) e. Fin |
20 |
1
|
eulerpartleme |
|- ( g e. P <-> ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) ) |
21 |
|
ffn |
|- ( g : NN --> NN0 -> g Fn NN ) |
22 |
21
|
3ad2ant1 |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) -> g Fn NN ) |
23 |
|
ffvelrn |
|- ( ( g : NN --> NN0 /\ x e. NN ) -> ( g ` x ) e. NN0 ) |
24 |
23
|
3ad2antl1 |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( g ` x ) e. NN0 ) |
25 |
24
|
nn0red |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( g ` x ) e. RR ) |
26 |
|
nnre |
|- ( x e. NN -> x e. RR ) |
27 |
26
|
adantl |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> x e. RR ) |
28 |
25 27
|
remulcld |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( ( g ` x ) x. x ) e. RR ) |
29 |
|
cnvimass |
|- ( `' g " NN ) C_ dom g |
30 |
|
fdm |
|- ( g : NN --> NN0 -> dom g = NN ) |
31 |
30
|
adantr |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) -> dom g = NN ) |
32 |
29 31
|
sseqtrid |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) -> ( `' g " NN ) C_ NN ) |
33 |
32
|
sselda |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ k e. ( `' g " NN ) ) -> k e. NN ) |
34 |
|
ffvelrn |
|- ( ( g : NN --> NN0 /\ k e. NN ) -> ( g ` k ) e. NN0 ) |
35 |
34
|
adantlr |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ k e. NN ) -> ( g ` k ) e. NN0 ) |
36 |
33 35
|
syldan |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ k e. ( `' g " NN ) ) -> ( g ` k ) e. NN0 ) |
37 |
33
|
nnnn0d |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ k e. ( `' g " NN ) ) -> k e. NN0 ) |
38 |
36 37
|
nn0mulcld |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ k e. ( `' g " NN ) ) -> ( ( g ` k ) x. k ) e. NN0 ) |
39 |
38
|
nn0cnd |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ k e. ( `' g " NN ) ) -> ( ( g ` k ) x. k ) e. CC ) |
40 |
|
simpl |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) -> g : NN --> NN0 ) |
41 |
|
nnex |
|- NN e. _V |
42 |
|
frnnn0supp |
|- ( ( NN e. _V /\ g : NN --> NN0 ) -> ( g supp 0 ) = ( `' g " NN ) ) |
43 |
41 42
|
mpan |
|- ( g : NN --> NN0 -> ( g supp 0 ) = ( `' g " NN ) ) |
44 |
43
|
adantr |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) -> ( g supp 0 ) = ( `' g " NN ) ) |
45 |
|
eqimss |
|- ( ( g supp 0 ) = ( `' g " NN ) -> ( g supp 0 ) C_ ( `' g " NN ) ) |
46 |
44 45
|
syl |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) -> ( g supp 0 ) C_ ( `' g " NN ) ) |
47 |
41
|
a1i |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) -> NN e. _V ) |
48 |
|
0nn0 |
|- 0 e. NN0 |
49 |
48
|
a1i |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) -> 0 e. NN0 ) |
50 |
40 46 47 49
|
suppssr |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ k e. ( NN \ ( `' g " NN ) ) ) -> ( g ` k ) = 0 ) |
51 |
50
|
oveq1d |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ k e. ( NN \ ( `' g " NN ) ) ) -> ( ( g ` k ) x. k ) = ( 0 x. k ) ) |
52 |
|
eldifi |
|- ( k e. ( NN \ ( `' g " NN ) ) -> k e. NN ) |
53 |
52
|
adantl |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ k e. ( NN \ ( `' g " NN ) ) ) -> k e. NN ) |
54 |
|
nncn |
|- ( k e. NN -> k e. CC ) |
55 |
|
mul02 |
|- ( k e. CC -> ( 0 x. k ) = 0 ) |
56 |
53 54 55
|
3syl |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ k e. ( NN \ ( `' g " NN ) ) ) -> ( 0 x. k ) = 0 ) |
57 |
51 56
|
eqtrd |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ k e. ( NN \ ( `' g " NN ) ) ) -> ( ( g ` k ) x. k ) = 0 ) |
58 |
|
nnuz |
|- NN = ( ZZ>= ` 1 ) |
59 |
58
|
eqimssi |
|- NN C_ ( ZZ>= ` 1 ) |
60 |
59
|
a1i |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) -> NN C_ ( ZZ>= ` 1 ) ) |
61 |
32 39 57 60
|
sumss |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) -> sum_ k e. ( `' g " NN ) ( ( g ` k ) x. k ) = sum_ k e. NN ( ( g ` k ) x. k ) ) |
62 |
|
simpr |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) -> ( `' g " NN ) e. Fin ) |
63 |
62 38
|
fsumnn0cl |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) -> sum_ k e. ( `' g " NN ) ( ( g ` k ) x. k ) e. NN0 ) |
64 |
61 63
|
eqeltrrd |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) -> sum_ k e. NN ( ( g ` k ) x. k ) e. NN0 ) |
65 |
|
eleq1 |
|- ( sum_ k e. NN ( ( g ` k ) x. k ) = N -> ( sum_ k e. NN ( ( g ` k ) x. k ) e. NN0 <-> N e. NN0 ) ) |
66 |
64 65
|
syl5ibcom |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) -> ( sum_ k e. NN ( ( g ` k ) x. k ) = N -> N e. NN0 ) ) |
67 |
66
|
3impia |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) -> N e. NN0 ) |
68 |
67
|
adantr |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> N e. NN0 ) |
69 |
68
|
nn0red |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> N e. RR ) |
70 |
24
|
nn0ge0d |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> 0 <_ ( g ` x ) ) |
71 |
|
nnge1 |
|- ( x e. NN -> 1 <_ x ) |
72 |
71
|
adantl |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> 1 <_ x ) |
73 |
25 27 70 72
|
lemulge11d |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( g ` x ) <_ ( ( g ` x ) x. x ) ) |
74 |
62
|
adantr |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ ( x e. NN /\ x e. ( `' g " NN ) ) ) -> ( `' g " NN ) e. Fin ) |
75 |
38
|
nn0red |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ k e. ( `' g " NN ) ) -> ( ( g ` k ) x. k ) e. RR ) |
76 |
75
|
adantlr |
|- ( ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ ( x e. NN /\ x e. ( `' g " NN ) ) ) /\ k e. ( `' g " NN ) ) -> ( ( g ` k ) x. k ) e. RR ) |
77 |
38
|
nn0ge0d |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ k e. ( `' g " NN ) ) -> 0 <_ ( ( g ` k ) x. k ) ) |
78 |
77
|
adantlr |
|- ( ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ ( x e. NN /\ x e. ( `' g " NN ) ) ) /\ k e. ( `' g " NN ) ) -> 0 <_ ( ( g ` k ) x. k ) ) |
79 |
|
fveq2 |
|- ( k = x -> ( g ` k ) = ( g ` x ) ) |
80 |
|
id |
|- ( k = x -> k = x ) |
81 |
79 80
|
oveq12d |
|- ( k = x -> ( ( g ` k ) x. k ) = ( ( g ` x ) x. x ) ) |
82 |
|
simprr |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ ( x e. NN /\ x e. ( `' g " NN ) ) ) -> x e. ( `' g " NN ) ) |
83 |
74 76 78 81 82
|
fsumge1 |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ ( x e. NN /\ x e. ( `' g " NN ) ) ) -> ( ( g ` x ) x. x ) <_ sum_ k e. ( `' g " NN ) ( ( g ` k ) x. k ) ) |
84 |
83
|
expr |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ x e. NN ) -> ( x e. ( `' g " NN ) -> ( ( g ` x ) x. x ) <_ sum_ k e. ( `' g " NN ) ( ( g ` k ) x. k ) ) ) |
85 |
|
eldif |
|- ( x e. ( NN \ ( `' g " NN ) ) <-> ( x e. NN /\ -. x e. ( `' g " NN ) ) ) |
86 |
57
|
ralrimiva |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) -> A. k e. ( NN \ ( `' g " NN ) ) ( ( g ` k ) x. k ) = 0 ) |
87 |
81
|
eqeq1d |
|- ( k = x -> ( ( ( g ` k ) x. k ) = 0 <-> ( ( g ` x ) x. x ) = 0 ) ) |
88 |
87
|
rspccva |
|- ( ( A. k e. ( NN \ ( `' g " NN ) ) ( ( g ` k ) x. k ) = 0 /\ x e. ( NN \ ( `' g " NN ) ) ) -> ( ( g ` x ) x. x ) = 0 ) |
89 |
86 88
|
sylan |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ x e. ( NN \ ( `' g " NN ) ) ) -> ( ( g ` x ) x. x ) = 0 ) |
90 |
85 89
|
sylan2br |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ ( x e. NN /\ -. x e. ( `' g " NN ) ) ) -> ( ( g ` x ) x. x ) = 0 ) |
91 |
62
|
adantr |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ x e. NN ) -> ( `' g " NN ) e. Fin ) |
92 |
38
|
adantlr |
|- ( ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ x e. NN ) /\ k e. ( `' g " NN ) ) -> ( ( g ` k ) x. k ) e. NN0 ) |
93 |
92
|
nn0red |
|- ( ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ x e. NN ) /\ k e. ( `' g " NN ) ) -> ( ( g ` k ) x. k ) e. RR ) |
94 |
92
|
nn0ge0d |
|- ( ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ x e. NN ) /\ k e. ( `' g " NN ) ) -> 0 <_ ( ( g ` k ) x. k ) ) |
95 |
91 93 94
|
fsumge0 |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ x e. NN ) -> 0 <_ sum_ k e. ( `' g " NN ) ( ( g ` k ) x. k ) ) |
96 |
95
|
adantrr |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ ( x e. NN /\ -. x e. ( `' g " NN ) ) ) -> 0 <_ sum_ k e. ( `' g " NN ) ( ( g ` k ) x. k ) ) |
97 |
90 96
|
eqbrtrd |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ ( x e. NN /\ -. x e. ( `' g " NN ) ) ) -> ( ( g ` x ) x. x ) <_ sum_ k e. ( `' g " NN ) ( ( g ` k ) x. k ) ) |
98 |
97
|
expr |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ x e. NN ) -> ( -. x e. ( `' g " NN ) -> ( ( g ` x ) x. x ) <_ sum_ k e. ( `' g " NN ) ( ( g ` k ) x. k ) ) ) |
99 |
84 98
|
pm2.61d |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ x e. NN ) -> ( ( g ` x ) x. x ) <_ sum_ k e. ( `' g " NN ) ( ( g ` k ) x. k ) ) |
100 |
61
|
adantr |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ x e. NN ) -> sum_ k e. ( `' g " NN ) ( ( g ` k ) x. k ) = sum_ k e. NN ( ( g ` k ) x. k ) ) |
101 |
99 100
|
breqtrd |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin ) /\ x e. NN ) -> ( ( g ` x ) x. x ) <_ sum_ k e. NN ( ( g ` k ) x. k ) ) |
102 |
101
|
3adantl3 |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( ( g ` x ) x. x ) <_ sum_ k e. NN ( ( g ` k ) x. k ) ) |
103 |
|
simpl3 |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> sum_ k e. NN ( ( g ` k ) x. k ) = N ) |
104 |
102 103
|
breqtrd |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( ( g ` x ) x. x ) <_ N ) |
105 |
25 28 69 73 104
|
letrd |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( g ` x ) <_ N ) |
106 |
|
nn0uz |
|- NN0 = ( ZZ>= ` 0 ) |
107 |
24 106
|
eleqtrdi |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( g ` x ) e. ( ZZ>= ` 0 ) ) |
108 |
68
|
nn0zd |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> N e. ZZ ) |
109 |
|
elfz5 |
|- ( ( ( g ` x ) e. ( ZZ>= ` 0 ) /\ N e. ZZ ) -> ( ( g ` x ) e. ( 0 ... N ) <-> ( g ` x ) <_ N ) ) |
110 |
107 108 109
|
syl2anc |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( ( g ` x ) e. ( 0 ... N ) <-> ( g ` x ) <_ N ) ) |
111 |
105 110
|
mpbird |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( g ` x ) e. ( 0 ... N ) ) |
112 |
111
|
adantr |
|- ( ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) /\ x e. ( 1 ... N ) ) -> ( g ` x ) e. ( 0 ... N ) ) |
113 |
|
iftrue |
|- ( x e. ( 1 ... N ) -> if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) = ( 0 ... N ) ) |
114 |
113
|
adantl |
|- ( ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) /\ x e. ( 1 ... N ) ) -> if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) = ( 0 ... N ) ) |
115 |
112 114
|
eleqtrrd |
|- ( ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) /\ x e. ( 1 ... N ) ) -> ( g ` x ) e. if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) ) |
116 |
|
nnge1 |
|- ( ( g ` x ) e. NN -> 1 <_ ( g ` x ) ) |
117 |
|
nnnn0 |
|- ( x e. NN -> x e. NN0 ) |
118 |
117
|
adantl |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> x e. NN0 ) |
119 |
118
|
nn0ge0d |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> 0 <_ x ) |
120 |
|
lemulge12 |
|- ( ( ( x e. RR /\ ( g ` x ) e. RR ) /\ ( 0 <_ x /\ 1 <_ ( g ` x ) ) ) -> x <_ ( ( g ` x ) x. x ) ) |
121 |
120
|
expr |
|- ( ( ( x e. RR /\ ( g ` x ) e. RR ) /\ 0 <_ x ) -> ( 1 <_ ( g ` x ) -> x <_ ( ( g ` x ) x. x ) ) ) |
122 |
27 25 119 121
|
syl21anc |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( 1 <_ ( g ` x ) -> x <_ ( ( g ` x ) x. x ) ) ) |
123 |
|
letr |
|- ( ( x e. RR /\ ( ( g ` x ) x. x ) e. RR /\ N e. RR ) -> ( ( x <_ ( ( g ` x ) x. x ) /\ ( ( g ` x ) x. x ) <_ N ) -> x <_ N ) ) |
124 |
27 28 69 123
|
syl3anc |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( ( x <_ ( ( g ` x ) x. x ) /\ ( ( g ` x ) x. x ) <_ N ) -> x <_ N ) ) |
125 |
104 124
|
mpan2d |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( x <_ ( ( g ` x ) x. x ) -> x <_ N ) ) |
126 |
122 125
|
syld |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( 1 <_ ( g ` x ) -> x <_ N ) ) |
127 |
116 126
|
syl5 |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( ( g ` x ) e. NN -> x <_ N ) ) |
128 |
|
simpr |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> x e. NN ) |
129 |
128 58
|
eleqtrdi |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> x e. ( ZZ>= ` 1 ) ) |
130 |
|
elfz5 |
|- ( ( x e. ( ZZ>= ` 1 ) /\ N e. ZZ ) -> ( x e. ( 1 ... N ) <-> x <_ N ) ) |
131 |
129 108 130
|
syl2anc |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( x e. ( 1 ... N ) <-> x <_ N ) ) |
132 |
127 131
|
sylibrd |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( ( g ` x ) e. NN -> x e. ( 1 ... N ) ) ) |
133 |
132
|
con3d |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( -. x e. ( 1 ... N ) -> -. ( g ` x ) e. NN ) ) |
134 |
|
elnn0 |
|- ( ( g ` x ) e. NN0 <-> ( ( g ` x ) e. NN \/ ( g ` x ) = 0 ) ) |
135 |
24 134
|
sylib |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( ( g ` x ) e. NN \/ ( g ` x ) = 0 ) ) |
136 |
135
|
ord |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( -. ( g ` x ) e. NN -> ( g ` x ) = 0 ) ) |
137 |
133 136
|
syld |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( -. x e. ( 1 ... N ) -> ( g ` x ) = 0 ) ) |
138 |
137
|
imp |
|- ( ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) /\ -. x e. ( 1 ... N ) ) -> ( g ` x ) = 0 ) |
139 |
|
fvex |
|- ( g ` x ) e. _V |
140 |
139
|
elsn |
|- ( ( g ` x ) e. { 0 } <-> ( g ` x ) = 0 ) |
141 |
138 140
|
sylibr |
|- ( ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) /\ -. x e. ( 1 ... N ) ) -> ( g ` x ) e. { 0 } ) |
142 |
15
|
adantl |
|- ( ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) /\ -. x e. ( 1 ... N ) ) -> if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) = { 0 } ) |
143 |
141 142
|
eleqtrrd |
|- ( ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) /\ -. x e. ( 1 ... N ) ) -> ( g ` x ) e. if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) ) |
144 |
115 143
|
pm2.61dan |
|- ( ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) /\ x e. NN ) -> ( g ` x ) e. if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) ) |
145 |
144
|
ralrimiva |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) -> A. x e. NN ( g ` x ) e. if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) ) |
146 |
|
vex |
|- g e. _V |
147 |
146
|
elixp |
|- ( g e. X_ x e. NN if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) <-> ( g Fn NN /\ A. x e. NN ( g ` x ) e. if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) ) ) |
148 |
22 145 147
|
sylanbrc |
|- ( ( g : NN --> NN0 /\ ( `' g " NN ) e. Fin /\ sum_ k e. NN ( ( g ` k ) x. k ) = N ) -> g e. X_ x e. NN if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) ) |
149 |
20 148
|
sylbi |
|- ( g e. P -> g e. X_ x e. NN if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) ) |
150 |
149
|
ssriv |
|- P C_ X_ x e. NN if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) |
151 |
|
ssfi |
|- ( ( X_ x e. NN if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) e. Fin /\ P C_ X_ x e. NN if ( x e. ( 1 ... N ) , ( 0 ... N ) , { 0 } ) ) -> P e. Fin ) |
152 |
19 150 151
|
mp2an |
|- P e. Fin |