from research import *
s=begin(591,'Prove the crossed generation centers','Why do two generation-resolution envelopes share a center?',{'rail':110,'carriers':[70,72]},['File69 §§2.12–2.13,3.4–3.5'])
out=[]
for g in [70,72]:
 u=g+110;L,M,Q=[n*u-64 for n in [70,56,43]];c=M+110
 out.append({'u':u,'minimum':[L-g,c,Q+110],'maximum':[L+110,c,Q-g],'widths':[26*u,28*u]})
finish(s,{'envelopes':out,'symbolic_center_residual':'(u−g−110)/2'},'At u=g+110 the two crossed envelopes center on Matthew birth+110, with widths26u and28u. Center preservation requires the stated change of endpoint roles from the ordinary family.','Test the wrong-role transports and then connect the cells to the full four-rail Enochic grid.',{'centers':all(a+c==2*b for r in out for a,b,c in [r['minimum'],r['maximum']]),'widths':all(r['minimum'][0]-r['minimum'][2]==r['widths'][0] and r['maximum'][0]-r['maximum'][2]==r['widths'][1] for r in out)})
