TF[xs_]:=TableForm[xs,TableDepth->2]

e[λ_]:=Sum[(i-1)*λ[[i]],{i,1,Length[λ]}]

Multisets as pairs: {element, multiplicity}

MultisetToPairs[{}]:={}

MultisetToPairs[{x_,ys___}]:=Module[
{zs=Select[ys//List,SameQ[#,x]&],
us=Select[ys//List,Not[SameQ[#,x]]&]},
{{x,1+Length[zs]}}~Join~MultisetToPairs[us]]

Check: SameQ always evaluates, EqualQ does not(!)

MultisetToPairs[{1,1,2,3,2,1,2}]

Partition to differences

δs[l_,p_]:=Table[p[[i]]-p[[i+1]]+1,{i,1,Length[p]-1}]~Join~{p[[Length[p]]]+1}~Join~Table[1,{i,1,l-Length[p]}]

Pyramids

Unprotect[Pyramid];

Pyramid[ds_] :=Module[{l=Length[ds]},Table[Table[Sum[ds[[jVar]],{jVar,iVar,iVar+kVar-1}],{iVar,1,l-(kVar-1)}],{kVar,1,l}]]

PyramidP[l_,p_]:=Pyramid[δs[l,p]]

LabelByRows[P_] := Table[{i,P[[i]]},{i,1,Length[P]}]

PyramidWithRowLabels[ds_]:=Pyramid[ds]//LabelByRows

PyramidMultiset[ds_]:=Join@@Pyramid[ds]//Sort

Delta[l_,p_]:=PyramidMultiset[δs[l,p]]

DeltaAsPairs[l_,p_]:=MultisetToPairs[Delta[l,p]]

Example 2.15

{e[{8,7,2,2}],e[{8,6,3}]}

{δs[5,{8,7,2,2}],δs[5,{8,6,3}]}

{Pyramid[{2,6,1,3,1}]//TF,Pyramid[{3,4,4,1,1}]//TF}

{Delta[5,{8,7,2,2}],Delta[5,{8,6,3}]}

{DeltaAsPairs[5,{8,7,2,2}],DeltaAsPairs[5,{8,6,3}]}//TF

Partitions from Definition 11.2

λ[5,j_]:={8+5j,7+4j,2+2j,2+j}

λ[6,j_]:={6+j,4+j,3+j,3+j,3}

λ[7,j_]:={6+j,6+j,3+j,3,3,2,2}

λ[l_,j_]:={5+j,4+j,3+j,3+j,3+j,3+j,3}~Join~Table[1,{i,1,l-8}]

μ[5,j_]:={8+5j,6+4j,3+2j,j}

μ[6,j_]:={6+j,3+j,3+j,3,1}

μ[7,j_]:={6+j,3+j,3+j,3,1,1}

μ[l_,j_]:={5+j}~Join~Table[3+j,{i,1,l-8}]~Join~{2+j,2+j,2,1}

For example

{λ[8,j],μ[8,j]}

Delta[8,λ[8,j]]

Check not complements

CheckNotComplements[l_]:=Not[SameQ[δs[l,λ[l,j]],Reverse[δs[l,μ[l,j]]]]]

CheckNotComplements[l_,j_]:=Not[δs[l,λ[l,j]]==Reverse[δs[l,μ[l,j]]]]

Table[{δs[l,λ[l,j]],δs[l,μ[l,j]],Reverse[δs[l,μ[l,j]]]},{l,5,18}]//TF

Table[Table[CheckNotComplements[l,j],{j,0,10}]~Join~{{CheckNotComplements[l]}},{l,5,18}]

Check for all l <= 18

CheckMultisets[l_]:=Module[
{xs=DeltaAsPairs[l,λ[l,j]],
ys=DeltaAsPairs[l,μ[l,j]]},
{xs==ys,xs,ys}]

Table[{l,CheckMultisets[l]},{l,5,18}]//TF

Proof of Proposition 11.3: doing l=6 case

{PyramidP[6,{6+j,4+j,3+j,3+j,3}]//TF,PyramidP[6,{6+j,3+j,3+j,3,1}]//TF}

Proof of Proposition 11.3: doing l=8 case

{λ[8,j],μ[8,j]}

{δs[8,λ[8,j]],δs[8,μ[8,j]]}

DeltaAsPairs[8,λ[8,j]]

DeltaAsPairs[8,μ[8,j]]

{PyramidP[8,{5+j,4+j,3+j,3+j,3+j,3+j,3}]//TF,PyramidP[8,{5+j,2+j,2+j,2,1}]//TF}

Checks for generic part of proof

δsToPartition[δs_]:=Table[Sum[δs[[m]],{m,i,Length[δs]}]-(Length[δs]-i+1),{i,1,Length[δs]}]

η[l_,j_]:=δsToPartition[Reverse[δs[l,μ[l,j]]]]

Example

δs[5,μ[5,j]]

δsToPartition[{3+j,4+2 j,4+j,1+j,1}]

Reverse[δs[5,μ[5,j]]]

δsToPartition[{1,1+j,4+j,4+2 j,3+j}]

Table[η[l,j],{l,5,18}]//TF

η[18,j]

Generic cases

Table[δs[l,λ[l,j]],{l,{18,19,20}}]//TF

Table[δs[l,μ[l,j]],{l,{18,19,20}}]//TF

Table[δs[l,η[l,j]],{l,{18,19,20}}]//TF

P[l_,j_]:=PyramidP[l,λ[l,j]]

Q[l_,j_]:=PyramidP[l,η[l,j]]

Q[8,j]//TF

P[18,j]//TF

Q[18,j]//TF

{Plus@@λ[6,k],Plus@@μ[6,k]}

Table[{l,Plus@@λ[l,k],Plus@@μ[l,k]},{l,8,20}]//TF