Evidence

phase2.py

Download source fileOpen in research workspace
import sys
from pathlib import Path
sys.path.insert(0,str(Path(__file__).resolve().parents[1]))
from research import *
from runner import run

def lower_map():
    r=model('postflood_rounded_rows');orig={m:r['totals'][m]+r['shared_downstream'] for m in ['MT','LXX','SP']}
    rev={m:inverse(v) for m,v in orig.items()}
    assert orig=={'MT':3430,'LXX':4340,'SP':3310} and rev=={'MT':3430,'LXX':4340,'SP':1330}
    return model('lower_spine_map',{'original':orig,'reversed':rev,'source_gaps_LXX_MT_SP':[orig['LXX']-orig['MT'],orig['MT']-orig['SP']],'inverse_gaps':[rev['LXX']-rev['MT'],rev['MT']-rev['SP']]})
run('Carry source differences into the inverse lower legs',
    'Which of the source-generated910 and120 differences survive reversal of the complete Flood–Conquest leg?',lower_map,
    'The MT and LXX legs are individually self-reversing, retaining910. SP3310 becomes1330, so its120 source gap below MT becomes2100 in the inverse construction.',
    'Explain the SP amplification from decimal place values, then identify the source condition behind its MT Shem coincidence.',
    ['postflood_rounded_rows.json','Comparative_Study §§2.2,4.1,7.2'])

def decimal_mechanism():
    a=model('lower_spine_map');out=[]
    for m,n in a['original'].items():
        h,t,u=map(int,str(n//10));delta=990*(u-h)
        assert inverse(n)-n==delta
        out.append({'MSS':m,'core':[h,t,u],'inverse_minus_original':delta})
    assert 120+1980==2100
    return model('lower_decimal_mechanism',{'rule':'I(10(100h+10t+u))-10(100h+10t+u)=990(u-h), for this three-digit nonzero-end core register','rows':out,'MT_SP_inverse_gap_components':[120,1980]})
run('Explain the SP2100 gap by its source and place values',
    'Can the change120→2100 be decomposed without choosing a restoration target?',decimal_mechanism,
    'SP first and last core digits differ by2, producing a1980 contraction. The inverse MT–SP separation is therefore120+1980=2100 before any536 comparison is made.',
    'Use that already-derived separation with the common2700 stage shift and Shem600.',
    ['lower_spine_map.json','File52c §1.1'])

def shem_join():
    a=model('lower_spine_map');held={m:1406+n for m,n in a['reversed'].items()};completed={m:n+2700 for m,n in held.items()}
    ordinary_mt_shem=1406+a['original']['MT']+600
    assert completed['SP']==ordinary_mt_shem==5436
    assert 2700-(120+1980)==600
    return model('SP_MT_Shem_condition',{'held_Floods':held,'completed_Floods':completed,'ordinary_MT_Shem':ordinary_mt_shem,'identity':'2700 - (120 + 1980) = 600','independent_inputs':['source MT–SP120','SP reversal contraction1980','anchor stage2700','Shem life600']})
run('Derive the SP inverse Flood–MT Shem junction',
    'Why does the completed SP inverse Flood land at the ordinary Rounded MT Cumulative Shem boundary?',shem_join,
    'The source and operation supply2700−2100=600. Consequently the completed SP inverse Flood lies exactly one Shem lifespan earlier than the held MT Flood, at5436.',
    'This is the informative cross-family condition; test whether the MT–LXX910 transport survives changing the named cut.',
    ['lower_decimal_mechanism.json','File51a §16.2','Comparative_Study §7.5'])

def cuts():
    a=model('lower_spine_map')['original'];rows={}
    for m in ['MT','LXX']:
        rows[m]={'cut_at_Flood':inverse(a[m])+inverse(600),'whole_to_Shem':inverse(a[m]+600)}
    assert rows['LXX']['cut_at_Flood']-rows['MT']['cut_at_Flood']==910
    assert rows['LXX']['whole_to_Shem']-rows['MT']['whole_to_Shem']==1900
    return model('translation_cut_domain',{'rows':rows,'separate_Flood_cut_gap':910,'merged_Shem_gap':1900,'excess':990})
run('Test the domain of the910 transport',
    'Does translating the source biographies by910 imply that every inverse partition also translates by910?',cuts,
    'No. Keeping Flood and Shem as separate legs preserves910, but reversing the whole Conquest–Shem leg gives a1900 difference. The extra990 is the known MT partition response.',
    'Retain the Flood cut when transporting named local packets; verify the largest shared prefix allowed by those cuts.',
    ['C1433–C1482 named600 partitions','lower_spine_map.json'])

def prefixes():
    a=model('lower_spine_map')['original'];paths={m:path([a[m],600,950]) for m in ['MT','LXX']}
    diffs=[x-y for x,y in zip(paths['LXX'],paths['MT'])]
    assert diffs==[0,910,910,910]
    fullhead={m:paths[m][-1]+inverse(p) for m,p in [('MT',7620),('LXX',7600)]}
    assert fullhead['LXX']-fullhead['MT']==4940
    return model('inverse_prefix_extent',{'paths':paths,'node_differences':diffs,'upper_original_legs':{'MT':7620,'LXX':7600},'upper_inverse_legs':{'MT':inverse(7620),'LXX':inverse(7600)},'fully_cut_head_difference':4940})
run('Identify the complete shared inverse prefix',
    'With Flood, Shem and Noah cuts retained, how far does the910 inverse translation extend?',prefixes,
    'The Flood–Shem–Noah inverse prefixes translate by910 after the common Conquest root. The upper Creation legs then contribute4030 more, giving the inherited4940 head gap.',
    'Use the proven lower-prefix domain for the restoration comparison; do not extend910 to the full inverse trees.',
    ['C1558–C1564 source-prefix results','lower_spine_map.json','translation_cut_domain.json'])

Linked sources and evidence

Edition and provenance

phase2.py

SHA-256 9fe94a4118b9123409a72f4278b4c04afa3f164a095f88ef4d9304a375ecde9c

C480–C1634/Research_Cycles/C1585_C1634/prep/phase2.py