from research import *
s=begin(942,'One carry exchange','Why do the two cumulative branches differ by 990?',{'branches':[[11,15,10],[12,5,10]]},['C940','C941'])
a,b=s['inputs']['branches']; d=[b[i]-a[i] for i in range(3)]
raw=10*sum(x*y for x,y in zip(d,[100,10,1])); rev=10*sum(x*y for x,y in zip(d,[1,10,100]))
finish(s,{'column_exchange':d,'original_change':raw,'reversed_change':rev},'A hundreds increment and ten tens decrement preserves the original sum but moves its reversed measurement by −990.','Test the full linear kernel to distinguish aggregate recovery from component recovery.',{'same_original':raw==0,'branch_gap':rev==-990})
