from research import *
s=begin(938,'Derive the aggregate-digit measurement','How much component information determines the reversed total?',{},['C933–937;declared decimal register'])
q=json.loads((ROOT/'model/junction_path_coordinates.json').read_text())['coordinates'];out={}
for name in ['regular','cumulative']:
legs=q[name+'_legs'];digits=[]
for n in legs:
assert n%10==0 and (n//10)%10!=0 and 100<=n//10<=999
digits.append([int(d) for d in str(n//10)])
H,T,U=[sum(d[i] for d in digits) for i in range(3)]
out[name]={'digits':digits,'aggregate':[H,T,U],'original':10*(100*H+10*T+U),'reversed':10*(H+10*T+100*U)}
a=artifact('model/junction_aggregate_digits.json',json.dumps(out,indent=2)+'\n')
finish(s,{'aggregates':{k:v['aggregate'] for k,v in out.items()},'artifact':a},'For these four-digit durations with exactly one trailingzero, the whole component evaluation depends only on three digit-column sums. Individual component digits contain additional information about the internal breakpoint, but are unnecessary for the outer transformed total.','Classify the aggregate possibilities for the regular2700 total before selecting a breakpoint.',{'source_totals':[v['original'] for v in out.values()]==[2700,12600],'evaluated_totals':[v['reversed'] for v in out.values()]==[10620,10620]})
Evidence
s938.py
Edition and provenance
s938.py
SHA-256 4f4de84bcc2bca7030db9197207510e87c70919ecf254094f284320f5ba65d76
C480–C1634/Research_Cycles/C0932_C1131/evidence/s938.py