OK I made a mistake in this message, the ratio is inversed:
f(n,k)/f(n,k+1) = \frac{2(3^k-2^k)(2^n - 3^{k+1})}{(2^n - 3^k)(3^{k+1}-2^{k+1})}
but Python code was correct and what followed as well, i.e. we have:
f(n,k)/f(n,k+1) < \frac{2}{3}
But it gives only a lowerbound instead of an upperbound on the inverse: i.e. f(n,k+1)/f(n,k) > \frac{3}{2} which is interesting but not super useful, we really need an upperbound to get our result.
Interestingly, in experiments, it is only extremal values of k that are problematic:
n=47
k f(n,k) f(n,k+1)/f(n,k)
1 0.500 2.500
2 1.250 1.900
3 2.375 1.711
4 4.063 1.623
5 6.594 1.576
6 10.391 1.548
7 16.086 1.531
8 24.629 1.520
9 37.443 1.513
10 56.665 1.509
11 85.498 1.506
12 128.746 1.504
13 193.620 1.503
14 290.929 1.502
15 436.894 1.501
16 655.841 1.501
17 984.262 1.501
18 1476.896 1.500
19 2215.856 1.500
20 3324.339 1.500
21 4987.256 1.500
22 7482.496 1.501
23 11229.253 1.502
24 16866.961 1.506
25 25403.104 1.518
26 38572.410 1.557
27 60068.847 1.694
28 101763.246 2.452
29 249502.451 -1.660
You can see that the ratio behaves like 3/2 = 1.5 in the middle but is disturbed for high values of k. But the damage always seems to be contained at the very end (approx 7 or 8 values of k before cutoff), see this example for n=200, I also tried for n=1000 with similar result.
So, the quest to an elementary proof of
2^n > 2^{n-k} \frac{3^k - 2^k}{2^n - 3^k}
Remains open ![]()