from research import *
s=begin(981,'Cap support explains the rounding residual','Where does the inherited SP rounding difference of+3 arise?',{},['C953','C956','C978','C749–C770'])
q=lambda n:5*((n+2)//5);L=json.loads((ROOT/'model/sp_cap_inputs.json').read_text())['baseline_lives'];Y=json.loads((ROOT/'model/sp_cap_prediction.json').read_text())['lifespans'];delta=[(q(y)-y)-(q(l)-l) for l,y in zip(L,Y)]
finish(s,{'residual_difference_by_row':delta,'total_residual_difference':sum(delta),'cumulative_total_comparison':[-608,-608+sum(delta)]},'The changed rows contribute0,−1,+4, yielding the established+3 residual difference. The cap now explains its support;−608→−605 remains a dependent total.', 'Classify the cap’s information loss alongside invertible frame changes.',{'support_values':delta==[0,0,0,0,0,0,0,-1,4],'total':sum(delta)==3})
Evidence
s981.py
Edition and provenance
s981.py
SHA-256 c4998173edc93249ee3e1eb344be12efd8c8b1464f4557fbbbfa2b27b7edfc40
C480–C1634/Research_Cycles/C0932_C1131/evidence/s981.py