from research import *
s=begin(1035,'The two147 source conditions','What constraints make the three differently defined rails agree?',{},['File60 §2.3','C1032'])
from covenant_model import *
v={k:F(x) for k,x in json.loads((ROOT/'model/covenant_source_inputs.json').read_text()).items()};r=regular(v);rails=[r['Isaac_birth']-r['Levi_birth'],v['L_J'],r['Jacob_call']-r['Levi_death']];res=claims(v)[:2]
finish(s,{'rails':rails,'A1_A2_residuals':res,'conditions':['xJ+jCall+callL=L_J','callL+L_L=L_J'],'derived_diagonal':'xJ+jCall=L_L'},'The biographical147 is supplied; two source conditions make the intergenerational and call-to-death rails equal it. Their difference explains the shared137 diagonal.','Keep the equality of Ishmael and Levi lifespans separately labelled.',{'all_rails':rails==[147]*3,'conditions':res==[0,0],'diagonal':v['xJ']+v['jCall']==v['L_L']})
