af[n-bf[n-c]]
a+f[n-bf[n-c]]
n-f[f[n-a]-b]
In[]:=
ListStepPlot[RecursiveFunction[f[n]->f[n-f[-1+n]]+f[f[-1+n]],{}->{},{n<=2->1}][Range[1000]]-Range[1000]/2]
Out[]=
In[]:=
ListStepPlot[RecursiveFunction[f[n]->f[n-f[-1+n]]+f[f[-1+n]],{}->{},{n<=3->1}][Range[1000]]-Range[1000]/2]
Out[]=
In[]:=
Groupings[{a,b,c,d},f->2]
Out[]=
{f[f[f[a,b],c],d],f[a,f[f[b,c],d]],f[f[a,f[b,c]],d],f[a,f[b,f[c,d]]],f[f[a,b],f[c,d]]}
In[]:=
Groupings[{a,b,c,d},{f->2,Subtract->2}]
Out[]=
{f[f[f[a,b],c],d],f[a,f[f[b,c],d]],f[f[a,f[b,c]],d],f[a,f[b,f[c,d]]],f[f[a,b],f[c,d]],f[f[a-b,c],d],f[a,f[b-c,d]],f[f[a,b-c],d],f[a,f[b,c-d]],f[f[a,b],c-d],f[a-b,f[c,d]],f[-c+f[a,b],d],f[a,-d+f[b,c]],f[a-f[b,c],d],f[a,b-f[c,d]],-d+f[f[a,b],c],a-f[f[b,c],d],-d+f[a,f[b,c]],a-f[b,f[c,d]],f[a,b]-f[c,d],f[a-b-c,d],f[a,b-c-d],f[a-b+c,d],f[a,b-c+d],f[a-b,c-d],-d+f[a-b,c],a-f[b-c,d],-d+f[a,b-c],a-f[b,c-d],-c+d+f[a,b],a-b-f[c,d],-c-d+f[a,b],a+d-f[b,c],a-d-f[b,c],a-b+f[c,d],a-b-c-d,a-b+c+d,a-b+c-d,a-b+c-d,a-b-c+d}
Enumerate forms with kf f’s , kn n’s etc.
In[]:=
ExpressionTree[af[n-bf[n-c]],Heads->False]
Out[]=
In[]:=
Groupings[{a,b,c},f->2]
Out[]=
{f[f[a,b],c],f[a,f[b,c]]}
In[]:=
formsWithKConstants[k_]:=Groupings[Prepend[ConstantArray[c,k],n],{f->1,Plus->2}]
In[]:=
formsWithKConstants[2]
Out[]=
{2c+n,2c+n,2c+f[n],c+n+f[c],c+n+f[c],c+n+f[c],c+n+f[c],2c+f[n],c+f[c+n],n+f[2c],f[2c+n],f[2c+n],2c+f[f[n]],c+n+f[f[c]],c+n+f[f[c]],c+n+f[f[c]],c+f[c]+f[n],n+2f[c],c+f[c]+f[n],c+f[c]+f[n],n+2f[c],c+f[c]+f[n],c+f[c+f[n]],n+f[c+f[c]],c+f[n+f[c]],n+f[c+f[c]],f[c]+f[c+n],f[2c]+f[n],c+f[f[c+n]],n+f[f[2c]],2c+f[f[n]],c+n+f[f[c]],f[2c+f[n]],f[c+n+f[c]],f[c+n+f[c]],f[c+n+f[c]],f[c+n+f[c]],f[2c+f[n]],f[c+f[c+n]],f[n+f[2c]],f[f[2c+n]],f[f[2c+n]],2c+f[f[f[n]]],c+n+f[f[f[c]]],c+n+f[f[f[c]]],c+n+f[f[f[c]]],c+f[c]+f[f[n]],n+f[c]+f[f[c]],c+f[n]+f[f[c]],n+f[c]+f[f[c]],c+f[c]+f[f[n]],c+f[n]+f[f[c]],n+f[c]+f[f[c]],c+f[n]+f[f[c]],2f[c]+f[n],2f[c]+f[n],c+f[n]+f[f[c]],c+f[c]+f[f[n]],n+f[c]+f[f[c]],c+f[c]+f[f[n]],c+f[c+f[f[n]]],n+f[c+f[f[c]]],c+f[n+f[f[c]]],n+f[c+f[f[c]]],c+f[f[c]+f[n]],n+f[2f[c]],f[c]+f[c+f[n]],f[n]+f[c+f[c]],f[c]+f[n+f[c]],f[n]+f[c+f[c]],f[c+n]+f[f[c]],f[2c]+f[f[n]],c+f[f[c+f[n]]],n+f[f[c+f[c]]],c+f[f[n+f[c]]],n+f[f[c+f[c]]],f[c]+f[f[c+n]],f[n]+f[f[2c]],c+f[f[f[c+n]]],n+f[f[f[2c]]],2c+f[f[f[n]]],c+n+f[f[f[c]]],f[2c+f[f[n]]],f[c+n+f[f[c]]],f[c+n+f[f[c]]],f[c+n+f[f[c]]],f[c+f[c]+f[n]],f[n+2f[c]],f[c+f[c]+f[n]],f[c+f[c]+f[n]],f[n+2f[c]],f[c+f[c]+f[n]],f[c+f[c+f[n]]],f[n+f[c+f[c]]],f[c+f[n+f[c]]],f[n+f[c+f[c]]],f[f[c]+f[c+n]],f[f[2c]+f[n]],f[c+f[f[c+n]]],f[n+f[f[2c]]],f[2c+f[f[n]]],f[c+n+f[f[c]]],f[f[2c+f[n]]],f[f[c+n+f[c]]],f[f[c+n+f[c]]],f[f[c+n+f[c]]],f[f[c+n+f[c]]],f[f[2c+f[n]]],f[f[c+f[c+n]]],f[f[n+f[2c]]],f[f[f[2c+n]]],f[f[f[2c+n]]]}
In[]:=
Groupings[Prepend[ConstantArray[1,3],n],{f->1,Plus->2}]
Out[]=
af[n-bf[n-c]]
Times,Plus,(-1)*#&,f,1,2,n
{1,n}
{n,n,Table[1,]}
In[]:=
enum[kf_,nf_,n1_]:=Groupings[#,{{f->1,kf},Plus->2,(-1)*#&->1}]&/@Permutations[Join[Table[n,nf],Table[1,n1]]]
In[]:=
e221=enum[2,2,1]
Out[]=
In[]:=
Select[Union[Flatten[e221]],Count[#,f,Infinity,Heads->True]==2&]
Out[]=
In[]:=
DeleteCases[Enclose[Labeled[ListLinePlot[Confirm[RecursiveFunction[f[n]->#,{}->{},{n<=0->1}][Range[200]]],PlotTheme->"Minimal"],#]]&/@%46,_Failure]
Out[]=
f[n-#]&
f[n-XXXX]
In[]:=
enum2[kf_,n1_]:=Groupings[Table[1,n1],{{f[n-#]&->1,kf},Plus->2,(-1)*#&->1}]
In[]:=
enum2[2,2]
Out[]=
In[]:=
DeleteCasesEnclose[Labeled[ListLinePlot[Confirm[RecursiveFunction[f[n]->#,{}->{},{n<=0->1}][Range[200]]],PlotTheme->"Minimal"],#]]&/@
,_Failure
Out[]=
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
2 |
1+f[-1+n] |
1+f[-1+n] |
f[-2+n] |
0 |
0 |
-2 |
1+f[n-f[-1+n]] |
1+f[n-f[-1+n]] |
2f[-1+n] |
f[-1+n-f[-1+n]] |
f[-1+n-f[-1+n]] |
f[n-f[-2+n]] |
-1+f[-1+n] |
-1+f[-1+n] |
1-f[-1+n] |
1-f[-1+n] |
-1-f[-1+n] |
-1-f[-1+n] |
-f[-2+n] |
2 |
2 |
-2 |
0 |
0 |
2 |
0 |
0 |
-2f[-1+n] |
1+f[-1+n] |
1+f[-1+n] |
-1-f[-1+n] |
-1-f[-1+n] |
1+f[-1+n] |
1+f[-1+n] |
1+f[-1+n] |
1+f[-1+n] |
f[-2+n] |
f[-2+n] |
f[-2+n] |
1-f[-1+n] |
1-f[-1+n] |
-1+f[-1+n] |
-1+f[-1+n] |
1+f[-1+n] |
1+f[-1+n] |
f[-2+n] |
1+f[n-f[-1+n]] |
1+f[n-f[-1+n]] |
1+f[n-f[-1+n]] |
1+f[n-f[-1+n]] |
1+f[n-f[-1+n]] |
1+f[n-f[-1+n]] |
2f[-1+n] |
2f[-1+n] |
-2f[-1+n] |
1+f[n-f[-1+n]] |
1+f[n-f[-1+n]] |
2f[-1+n] |
2f[-1+n] |
f[-1+n-f[-1+n]] |
f[-1+n-f[-1+n]] |
f[-1+n-f[-1+n]] |
f[-1+n-f[-1+n]] |
f[-1+n-f[-1+n]] |
f[-1+n-f[-1+n]] |
f[n-f[-2+n]] |
f[n-f[-2+n]] |
f[n-f[-2+n]] |
f[-1+n-f[-1+n]] |
f[-1+n-f[-1+n]] |
f[n-f[-2+n]] |
0 |
0 |
1+f[n-f[-1+n]] |
1+f[n-f[-1+n]] |
2f[-1+n] |
f[-1+n-f[-1+n]] |
f[-1+n-f[-1+n]] |
f[n-f[-2+n]] |