from research import *
s=begin(1228,'Distinguish common translation from a changed held anchor','Is equal gain automatic for another comparison anchor?',{},['C1227','Strategy §4.3'])
rhead,chead=4206,13406;anchor=F(13*rhead-3*chead,10);tests=[{'anchor_shift':h,'balance':3*(chead-1446-h)-13*(rhead-1446-h)} for h in [-1,0,1,40]]
a=artifact('model/SP_rectangle_anchor_dependence.json',json.dumps(clean({'fixed_heads':[rhead,chead],'equal_gain_anchor':anchor,'changed_anchor_tests':tests,'law':'With heads fixed and anchor increased by h,3C−13R changes by10h. Translating all three dates together preserves both radii.','scope':'The equation conditionally identifies an arithmetic anchor; the source independently assigns Exodus1446 its role.'}),indent=2)+'\n')
finish(s,{'anchor_dependence':a,'conditional_anchor':anchor},'For these fixed source heads, equal gain selects1446 algebraically. Moving only the comparison anchor breaks the equality; translating the complete frame preserves it. The source’s Exodus identification is separate from the equation.','Present the entire source-to-rectangle dependency chain with its explanatory limits.',{'anchor1446':anchor==1446,'law_all':all(x['balance']==10*x['anchor_shift'] for x in tests)})
