Evidence

phase7.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 jubilee_partition():
    widths=[11206-4836,4836-1406,1406+65-1]
    assert widths==[6370,3430,1470] and [n//490 for n in widths]==[13,7,3]
    assert 20-7==13
    return model('Jubilee_partition_dependencies',{'civil_order':['11206 BC','4836 BC','1406 BC','AD65'],'widths':widths,'units490':[13,7,3],'source_constraints':{'SP_to_Conquest':20,'MT_Flood_to_Conquest':7,'Conquest_to_AD65':3},'derived_first_leg':'20-7=13'})
run('Explain the13|7|3 division from its source-appointed anchors',
    'What information generates the internal13-Jubilee leg of the SP11270 comparison?',jubilee_partition,
    'SP supplies20 Jubilees to Conquest, MT supplies the retained7-Jubilee Flood leg, and Conquest→AD65 supplies3. The first13 is their20−7 difference.',
    'Insert the LXX self-retained cumulative Flood at its independently known location and inspect the finer units.',
    ['SP_Jubilee_prefix.json','File51a §16.3','C1583'])

def lxx_jubilee_cut():
    nodes=[11206,5746,4836,1406];widths=[a-b for a,b in zip(nodes,nodes[1:])]+[1406+65-1]
    assert widths==[5460,910,3430,1470]
    assert [v//70 for v in widths]==[78,13,49,21]
    assert widths[0]+widths[1]==13*490
    return model('LXX_Jubilee_refinement',{'BC_nodes_then_civil_AD65':nodes+[65],'widths':widths,'units70':[78,13,49,21],'total_units70':161,'group_first_two_units70':91,'interpretation':'LXX refines the first13 Jubilees on the70-year grid; it does not add another Jubilee boundary.'})
run('Add the LXX cut to the SP–MT Jubilee comparison',
    'How does the source-derivedLXX910 fit inside the existing23-Jubilee interval?',lxx_jubilee_cut,
    'SP11206→LXX5746→MT4836→1406→AD65 has(78+13+49+21)×70. The first two pieces recombine into13 Jubilees; the LXX cut exposes the shared70-year scale.',
    'Use the common MT4836 node to test a direct transport of the already-established4900 restoration interval.',
    ['LXX_910_source.json','Jubilee_partition_dependencies.json'])

def shem_600_transport():
    old=[1-5436,1-536];new=[1-4836,65] # ordinary civil linear coordinates
    assert [b-a for a,b in zip(old,new)]==[600,600]
    assert old[1]-old[0]==new[1]-new[0]==4900
    return model('Shem_600_restoration_Jubilee_transport',{'first_interval':['5436 BC','536 BC'],'second_interval':['4836 BC','civil AD65'],'source_nodes':['ordinary MT cumulative Shem / SP completed inverse cumulative Flood','ordinary and held-inverse MT cumulative Flood'],'civil_coordinates_before':old,'civil_coordinates_after':new,'translation':600,'common_width':4900,'terminal_source_equation':'536+65-1=600'})
run('Join restoration and AD65 by the600-year Shem translation',
    'Does the namedShem–Flood lifespan transport the4900 restoration interval into the Jubilee chain without a new target?',shem_600_transport,
    'Yes. Both endpoints advance600 civil years:5436→4836 BC and536 BC→AD65. Thus the SP inverse Flood/MT Shem4900 reaches the MT Flood→AD65 ten-Jubilee interval.',
    'Adjoin the already-provedLXX910 transport to display a complete three-placement4900 family.',
    ['MT_7000_packet.json','Jubilee_partition_dependencies.json','Style Guide civil rule'])

def three4900():
    pairs=[['LXX cumulative Shem / Exodus',6346,1446],['MT cumulative Shem = SP completed inverse Flood / restoration',5436,536],['MT cumulative Flood / civil AD65',4836,-65]]
    coordinates=[[1-6346,1-1446],[1-5436,1-536],[1-4836,65]]
    shifts=[[b-a for a,b in zip(coordinates[i],coordinates[i+1])] for i in range(2)]
    assert shifts==[[910,910],[600,600]]
    assert all(b-a==4900 for a,b in coordinates)
    return model('three_4900_placements',{'roles_and_labels':pairs,'civil_coordinates':coordinates,'successive_forward_translations':[910,600],'direct_first_to_third':1510,'shared_width':4900,'status':'three linked placements of one width; source translation plus named lifespan transport'})
run('Connect LXX Exodus, SP/MT restoration and MT AD65',
    'Can the new600 relation extend the inherited910 comparison using only already-appointed nodes?',three4900,
    'The4900 family runs LXX6346→1446, MT/SP5436→536, MT4836→AD65, with whole-interval translations910 then600. It joins Exodus, restoration and the NT endpoint through named source boundaries.',
    'Specify the source roles at5436 so that the connection is not misread as a universal inverse-Shem identity.',
    ['Comparative_Study §4.1','Shem_600_restoration_Jubilee_transport.json'])

def incidence_roles():
    assert 6+inverse(1400)+inverse(3310)==5436
    assert 1406+inverse(3430)+inverse(600)==5436
    assert 1406+inverse(3430+600)==4446
    return model('5436_incidence_roles',{'coordinate_BC':5436,'valid_roles':['SP completed primary inverse cumulative Flood','ordinary MT cumulative Shem','MT Conquest-held cumulative inverse Shem when Flood andShem cuts both retained'],'different_partition_Shem_BC':4446,'guard':'A coordinate equality preserves each path label; the whole Conquest–Shem inverse is a separate branch.'})
run('Preserve the meaning of the shared5436 junction',
    'Which declaredinverse paths actually support the5436 node used by the4900 transport?',incidence_roles,
    '5436 is the primary SP completed inverse Flood and ordinary MT cumulative Shem; MT also retains it when Flood andShem are separate inverse legs. The whole-Shem inverse branch is4446.',
    'These source-tagged junctions now support a compact dependency graph; use it to choose what belongs in the explanation.',
    ['SP_MT_Shem_condition.json','translation_cut_domain.json','three_4900_placements.json'])

Linked sources and evidence

Edition and provenance

phase7.py

SHA-256 9a48dc89869d7a06dae9bf4f18c848ba2e3880ca3fcbd36d263d3e0cc7a1a4d3

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