from research import *
s=begin(554,'Separate endpoint and whole-rail translation','Which spans contract when the clutch moves only a parent boundary?',{'lifespans':[175,180,147,137,133,137],'clutch':14},['File61 §7.4; §§17.2–17.3'])
v=s['inputs']['lifespans'];contract=[x-14 for x in v]
finish(s,{'parent_only':contract,'both_ends':v,'Isaac_only_Abraham_fixed':2435-(2260-14),'derived_terminal_to_fixed_Exodus':1512-1446},'One-end translation contracts each lifespan; whole-rail translation preserves it. Outputs166 and119 remain part of the family. Moving Isaac alone makes189, showing why endpoint roles are indispensable.','Determine the exact local composition law for half and full clutch.',{'contractions':contract==[161,166,133,123,119,123],'opposite_endpoint':2435-2246==189,'terminal':1512-1446==66})
