Metamath Proof Explorer


Theorem sticksstones8

Description: Establish mapping between strictly monotone functions and functions that sum to a fixed non-negative integer. (Contributed by metakunt, 1-Oct-2024)

Ref Expression
Hypotheses sticksstones8.1 φN0
sticksstones8.2 φK0
sticksstones8.3 F=aAj1Kj+l=1jal
sticksstones8.4 A=g|g:1K+10i=1K+1gi=N
sticksstones8.5 B=f|f:1K1N+Kx1Ky1Kx<yfx<fy
Assertion sticksstones8 φF:AB

Proof

Step Hyp Ref Expression
1 sticksstones8.1 φN0
2 sticksstones8.2 φK0
3 sticksstones8.3 F=aAj1Kj+l=1jal
4 sticksstones8.4 A=g|g:1K+10i=1K+1gi=N
5 sticksstones8.5 B=f|f:1K1N+Kx1Ky1Kx<yfx<fy
6 eqidd φaAj1Ke1Ke+l=1eal=e1Ke+l=1eal
7 simpr φaAj1Ke=je=j
8 7 oveq2d φaAj1Ke=j1e=1j
9 8 sumeq1d φaAj1Ke=jl=1eal=l=1jal
10 7 9 oveq12d φaAj1Ke=je+l=1eal=j+l=1jal
11 simp3 φaAj1Kj1K
12 ovexd φaAj1Kj+l=1jalV
13 6 10 11 12 fvmptd φaAj1Ke1Ke+l=1ealj=j+l=1jal
14 1 3ad2ant1 φaAj1KN0
15 2 3ad2ant1 φaAj1KK0
16 simpr φaAaA
17 4 a1i φaAA=g|g:1K+10i=1K+1gi=N
18 17 eqcomd φaAg|g:1K+10i=1K+1gi=N=A
19 16 18 eleqtrrd φaAag|g:1K+10i=1K+1gi=N
20 feq1 g=ag:1K+10a:1K+10
21 simpl g=ai1K+1g=a
22 21 fveq1d g=ai1K+1gi=ai
23 22 sumeq2dv g=ai=1K+1gi=i=1K+1ai
24 23 eqeq1d g=ai=1K+1gi=Ni=1K+1ai=N
25 20 24 anbi12d g=ag:1K+10i=1K+1gi=Na:1K+10i=1K+1ai=N
26 25 elabg aAag|g:1K+10i=1K+1gi=Na:1K+10i=1K+1ai=N
27 16 26 syl φaAag|g:1K+10i=1K+1gi=Na:1K+10i=1K+1ai=N
28 27 biimpd φaAag|g:1K+10i=1K+1gi=Na:1K+10i=1K+1ai=N
29 19 28 mpd φaAa:1K+10i=1K+1ai=N
30 29 simpld φaAa:1K+10
31 30 3adant3 φaAj1Ka:1K+10
32 eqid e1Ke+l=1eal=e1Ke+l=1eal
33 fveq2 i=lai=al
34 nfcv _l1K+1
35 nfcv _i1K+1
36 nfcv _lai
37 nfcv _ial
38 33 34 35 36 37 cbvsum i=1K+1ai=l=1K+1al
39 29 simprd φaAi=1K+1ai=N
40 38 39 eqtr3id φaAl=1K+1al=N
41 40 3adant3 φaAj1Kl=1K+1al=N
42 14 15 31 11 32 41 sticksstones7 φaAj1Ke1Ke+l=1ealj1N+K
43 13 42 eqeltrrd φaAj1Kj+l=1jal1N+K
44 43 3expa φaAj1Kj+l=1jal1N+K
45 eqid j1Kj+l=1jal=j1Kj+l=1jal
46 44 45 fmptd φaAj1Kj+l=1jal:1K1N+K
47 1 ad3antrrr φaAx1Ky1KN0
48 47 adantr φaAx1Ky1Kx<yN0
49 2 ad3antrrr φaAx1Ky1KK0
50 49 adantr φaAx1Ky1Kx<yK0
51 26 adantl φaAag|g:1K+10i=1K+1gi=Na:1K+10i=1K+1ai=N
52 51 biimpd φaAag|g:1K+10i=1K+1gi=Na:1K+10i=1K+1ai=N
53 19 52 mpd φaAa:1K+10i=1K+1ai=N
54 53 simpld φaAa:1K+10
55 54 adantr φaAx1Ka:1K+10
56 55 adantr φaAx1Ky1Ka:1K+10
57 56 adantr φaAx1Ky1Kx<ya:1K+10
58 simpllr φaAx1Ky1Kx<yx1K
59 simplr φaAx1Ky1Kx<yy1K
60 simpr φaAx1Ky1Kx<yx<y
61 48 50 57 58 59 60 45 sticksstones6 φaAx1Ky1Kx<yj1Kj+l=1jalx<j1Kj+l=1jaly
62 61 ex φaAx1Ky1Kx<yj1Kj+l=1jalx<j1Kj+l=1jaly
63 62 ralrimiva φaAx1Ky1Kx<yj1Kj+l=1jalx<j1Kj+l=1jaly
64 63 ralrimiva φaAx1Ky1Kx<yj1Kj+l=1jalx<j1Kj+l=1jaly
65 46 64 jca φaAj1Kj+l=1jal:1K1N+Kx1Ky1Kx<yj1Kj+l=1jalx<j1Kj+l=1jaly
66 fzfid φaA1KFin
67 46 66 fexd φaAj1Kj+l=1jalV
68 feq1 f=j1Kj+l=1jalf:1K1N+Kj1Kj+l=1jal:1K1N+K
69 fveq1 f=j1Kj+l=1jalfx=j1Kj+l=1jalx
70 fveq1 f=j1Kj+l=1jalfy=j1Kj+l=1jaly
71 69 70 breq12d f=j1Kj+l=1jalfx<fyj1Kj+l=1jalx<j1Kj+l=1jaly
72 71 imbi2d f=j1Kj+l=1jalx<yfx<fyx<yj1Kj+l=1jalx<j1Kj+l=1jaly
73 72 2ralbidv f=j1Kj+l=1jalx1Ky1Kx<yfx<fyx1Ky1Kx<yj1Kj+l=1jalx<j1Kj+l=1jaly
74 68 73 anbi12d f=j1Kj+l=1jalf:1K1N+Kx1Ky1Kx<yfx<fyj1Kj+l=1jal:1K1N+Kx1Ky1Kx<yj1Kj+l=1jalx<j1Kj+l=1jaly
75 74 elabg j1Kj+l=1jalVj1Kj+l=1jalf|f:1K1N+Kx1Ky1Kx<yfx<fyj1Kj+l=1jal:1K1N+Kx1Ky1Kx<yj1Kj+l=1jalx<j1Kj+l=1jaly
76 67 75 syl φaAj1Kj+l=1jalf|f:1K1N+Kx1Ky1Kx<yfx<fyj1Kj+l=1jal:1K1N+Kx1Ky1Kx<yj1Kj+l=1jalx<j1Kj+l=1jaly
77 65 76 mpbird φaAj1Kj+l=1jalf|f:1K1N+Kx1Ky1Kx<yfx<fy
78 5 a1i φaAB=f|f:1K1N+Kx1Ky1Kx<yfx<fy
79 77 78 eleqtrrd φaAj1Kj+l=1jalB
80 79 3 fmptd φF:AB