from pathlib import Path
import sys,json
sys.path.insert(0,str(Path(__file__).resolve().parents[1]))
from runner import *
run('Bind the shared cumulative lives','Which original source quantities justify theNoah extension in all three MSS?',
lambda:{'Noah_lifespans':{'MT':950,'LXX':950,'SP':950},'Shem_lifespans':{'MT':600,'LXX':600,'SP':600},'rounding_residuals':[0,0],'domain':'serial cumulativelifespan boundaries'},
'Noah950 andShem600 are common transmitted lifespan inputs, unchanged by five-year rounding; their cumulative adjacency follows the serial rule.',
'Derive eachNoah boundary from its already frozenFlood seam.', ['File18.md §§2–4,6','File51a.md §16.2'])
run('Derive the cumulativeNoah nodes','What ordered source boundaries follow from the fixedFlood seams and950+600?',
lambda:model('cumulative_source_nodes',{m:{'C':c,'F':f,'S':f+600,'N':f+1550,'A':1406} for m,c,f in [('MT',14006,4836),('LXX',14896,5746),('SP',13396,4716)]}),
'Noah/Shem/Flood are6386/5436/4836 forMT,7296/6346/5746 forLXX, and6266/5316/4716 forSP.',
'Rebuild the upperprefix from lifespan rows rather than infer it only from endpoints.')
def rows():
names=['Adam','Seth','Enosh','Kenan','Mahalalel','Jared','Enoch','Methuselah','Lamech']
common=[930,912,905,910,895,962,365,969]
raw={'MT':common+[777],'LXX':common+[753],'SP':[930,912,905,910,895,847,365,720,653]}
rounded={m:[5*((x+2)//5) for x in v] for m,v in raw.items()}
return model('prefix_source_rows',{'names':names,'actual':raw,'rounded':rounded,'sums':{m:sum(v) for m,v in rounded.items()},'residuals':{m:[y-x for x,y in zip(raw[m],rounded[m])] for m in raw}})
run('Reconstruct the nine preNoah lifespans','Do the source-selected rows regenerate thethree cumulative prefixes?',rows,
'The rounded sums are7620 forMT,7600 forLXX, and7135 forSP Creation. TheMT/LXX difference is solely the selectedLamech775/755 row.',
'Apply the already acceptedSPFall adjustment to its sourceprefix.', ['File18.md selectedlifespan tables','File51a.md roundingrule'])
run('Place theSPFall in the prefix','Does theaccepted five-yearFall adjustment recover theprefix7130 andknown490 gap?',
lambda:{'SP_Creation_prefix':model('prefix_source_rows')['sums']['SP'],'SP_Fall_prefix':model('prefix_source_rows')['sums']['SP']-5,'head_minus_Noah':13396-6266,'MT_SP_difference':7620-(7135-5),'row_loss':7620-7135},
'SPFall gives7130=7135−5, preserving theknownMT–SP490=485+5 source difference aboveNoah.',
'Freeze all seven nonempty named-cut selections before root execution.')
run('Specify the finite partition family','Which original segment selections will be compared without arbitrary new cuts?',
lambda:model('partition_spec',{'order':['A','F','S','N','C'],'partitions':{'F':['F'],'S':['S'],'N':['N'],'FS':['F','S'],'FN':['F','N'],'SN':['S','N'],'FSN':['F','S','N']},'head_and_anchor':'alwaysretained','reversal':'eachoriginallegonce','empty_selection':'notpartofthisnamedspineextension'}),
'The test contains exactly seven named-cut selections per manuscript, with source head andConquest held fixed.',
'ExecuteMT first to retain its established secondarybranch controls.')
def execute(m):
n=model('cumulative_source_nodes')[m];out={}
for name,cuts in model('partition_spec')['partitions'].items():
nodes=[n['A']]+[n[k] for k in cuts]+[n['C']]
legs=[y-x for x,y in zip(nodes,nodes[1:])]
out[name]={'source_nodes':nodes,'source_legs':legs,'inverse_legs':[inverse(x) for x in legs],'path1406':path(legs),'path6':path([1400]+legs,6),'total':sum(inverse(x) for x in legs)}
model('partitions_'+m,out);return out
run('Execute the sevenMT partitions','WhichMT heads result from thefixed originalNoah/Shem/Flood cuts?',lambda:execute('MT'),
'MTF/S remain12026;N/FS/FN agree at13016;SN reaches7706 andFSN8696. The inherited13016 branch is reproduced.',
'Apply theidentical procedure to thedeclarednativeLXX.', ['File52c_latest.md §3.4'])
run('Execute the sevenLXX partitions','What does the same named-cut procedure produce fornativeLXX?',lambda:execute('LXX'),
'LXXF gives10936;S/FS11926;N/FN17956;SN/FSN13636. The complete result retains all seven constructions.',
'ExecuteacceptedSP with itsFallhead andunchangedlifespans.')
run('Execute the sevenSP partitions','Does theacceptedSP trunk preserve itshead across theNoah alternatives?',lambda:execute('SP'),
'SPF/S/N/FS/FN allgive11416;SN/FSN give7096. The source-selectedFall does notneedanynew adjustment.',
'Explain theall-three N=FN agreement through itslocalsegment law.')
run('CompareNoah-only withFlood+Noah','Do all three source lowerlegs satisfy the requiredreversal additivity?',
lambda:model('lower_1550_law',{m:{'a':a,'merged_original':a+1550,'merged_inverse':inverse(a+1550),'split_inverse':inverse(a)+inverse(1550),'defect':inverse(a+1550)-inverse(a)-inverse(1550)} for m,a in [('MT',3430),('LXX',4340),('SP',3310)]}),
'All three localdefects vanish:8940=3430+5510,9850=4340+5510,6840=1330+5510. ThereforeN andFN agree.',
'Identify thedigit condition that explains these particularadditive cases.')
run('Explain thelower merge mechanism','Why does the1550 merge preserve these three reversed totals?',
lambda:{'significant_core_additions':[[343,155,498],[434,155,589],[331,155,486]],'each_place_adds_without_carry':all(all(x+y<10 for x,y in zip(map(int,str(a)),map(int,'155'))) for a in [343,434,331]),'register':'three-digitcore,onetrailingzero throughout'},
'Everyplace adds withoutcarry andthethree-digit/one-zero register stays fixed. Reversal distributes over these particular sums.',
'Now split the shared1550 block itself into theoriginal600 and950 lives.')
Evidence
phase6.py
Linked sources and evidence
Edition and provenance
phase6.py
SHA-256 e0089f5ac3349e054ac81fce524eb622a2d158759413075af55089e5f198f83f
C480–C1634/Research_Cycles/C1483_C1582/c1483_c1582/prep/phase6.py