Evidence

phase4.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 mt_packet():
    nodes=[7536,5436,4836,536];edges=[a-b for a,b in zip(nodes,nodes[1:])]
    assert edges==[2100,600,4300] and sum(edges)==7000
    return model('MT_7000_packet',{'nodes_BC':nodes,'roles':['MT completed inverse cumulative Flood','SP completed inverse cumulative Flood / ordinary MT cumulative Shem','ordinary and held-inverse MT cumulative Flood','restoration'],'edges':edges,'whole':sum(edges)})
run('Retain all the named nodes inside the MT7000',
    'Can7000 and4900 be explained together by the existing MT/SP Flood and Shem junctions?',mt_packet,
    'MT7536→SP5436/MT Shem→MT4836→536 has2100+600+4300=7000. Its lower two edges give4900=600+4300 and its upper two give2700=2100+600.',
    'Test every corresponding node in the LXX packet, rather than checking only its total7000.',
    ['SP_MT_Shem_condition.json','File51a §16.2'])

def lxx_packet():
    mt=model('MT_7000_packet')['nodes_BC'];lxx=[8446,6346,5746,1446]
    assert [a-b for a,b in zip(lxx,mt)]==[910]*4
    assert [a-b for a,b in zip(lxx,lxx[1:])]==[2100,600,4300]
    return model('LXX_7000_packet',{'nodes_BC':lxx,'roles':['LXX completed inverse cumulative Flood','ordinary LXX cumulative Shem','ordinary and held-inverse LXX cumulative Flood','Exodus'],'edges':[2100,600,4300],'translation_from_MT_BC':910})
run('Verify the whole MT–LXX7000 packet',
    'Does the910 translation preserve the two internal nodes as well as the endpoints?',lxx_packet,
    'Every node maps:7536/5436/4836/536 becomes8446/6346/5746/1446. Both packets have the same2100|600|4300 partition.',
    'Identify the few quantities that reconstruct this whole packet and separate them from derived spans.',
    ['LXX_MT_7000_translation.json','Comparative_Study §4.1'])

def packet_formula():
    D,L,R=2700,600,4300;v=[D+R,L+R,R,0]
    assert v==[7000,4900,4300,0]
    assert [536+x for x in v]==model('MT_7000_packet')['nodes_BC']
    assert [1446+x for x in v]==model('LXX_7000_packet')['nodes_BC']
    return model('packet_generator',{'stage_D':D,'Shem_L':L,'held_Flood_to_target_R':R,'relative_node_formula':['D+R','L+R','R','0'],'relative_nodes':v,'MT_target':536,'LXX_target':1446,'source_R_derivations':['3430+870','4340-40']})
run('Compress the two packets into one source-tagged formula',
    'Which measured quantities reconstruct both ordered four-node packets?',packet_formula,
    'Relative to the selected target, both packets are(D+R,L+R,R,0) withD2700,L600,R4300. MT obtainsR as3430+870; LXX as4340−40.',
    'Count the dependent interval displays explicitly; their repetition must not be mistaken for independent evidence.',
    ['MT_7000_packet.json','LXX_7000_packet.json','Strategy §§5D,6'])

def packet_dependencies():
    # Coordinates in the ordered parameter basis D,L,R.
    M=[[1,-1,0],[1,0,0],[1,0,1],[0,1,0],[0,1,1],[0,0,1]]
    vals=[sum(a*b for a,b in zip(row,[2700,600,4300])) for row in M]
    assert list(map(int,vals))==[2100,2700,7000,600,4900,4300]
    assert [M[i] for i in [1,3,5]]==[[1,0,0],[0,1,0],[0,0,1]] # rank3 minor; only3 columns
    return model('packet_interval_dependencies',{'matrix_D_L_R':M,'spans':list(map(int,vals)),'rank':3,'interpretation':'Six displayed intervals depend on three interval parameters plus a separately appointed target; source rows and the SP incidence remain provenance, not erased inputs.'})
run('Separate packet parameters from its six interval displays',
    'How many interval degrees of freedom does the ordered7000 packet contain?',packet_dependencies,
    'The six pairwise distances have rank3 inD,L,R. The7000,4900,4300,2700,2100 and600 displays belong to one packet, with source conditions retained.',
    'Test whether adjoining the primary cumulative Creation heads preserves the same910 transport.',
    ['packet_generator.json','Strategy §§5D,F,6'])

def head_boundary():
    mt=6+4100+inverse(3430)+inverse(9170);lxx=6+4100+inverse(4340)+inverse(9150)
    assert (mt,lxx)==(14726,13636)
    assert inverse(9150)-inverse(9170)==-2000
    return model('packet_head_boundary',{'primary_heads':{'MT':mt,'LXX':lxx},'lower_leg_difference':910,'upper_inverse_leg_difference':-2000,'head_difference':lxx-mt,'uniform_910_prediction':mt+910,'LXX_residual':lxx-(mt+910)})
run('Locate the boundary of the common packet',
    'Can the primary cumulative Creation heads be appended under the same910 translation?',head_boundary,
    'No. LXX upper leg9150 reverses to5190 versus MT9170→7190, adding−2000. The complete primary head difference is910−2000=−1090, so the shared packet is local.',
    'Use the independently named LXX Regular head to refine the12600 comparison, without claiming a global cumulative translation.',
    ['Comparative_Study §§3.1–3.2','packet_generator.json'])

Linked sources and evidence

Edition and provenance

phase4.py

SHA-256 cae20ed3c3dd2462080a9904488dbfa434757d92c9d5264fa586d900d2fa6684

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