Evidence

s1175.py

Download source fileOpen in research workspace
from research import *
s=begin(1175,'Check source-row normal forms against their domains','Are the normal forms for all18 observed post-Flood changes numerically admissible, and which intermediate rows are actually supplied?',{},['C1151–C1153','C1173–C1174'])
d=json.loads((ROOT/'model/postflood_rows.json').read_text());mt=d['MT_native_OFF'];sp=d['SP_native_OFF_official145'];lx=[r for r in d['LXX_native_ON'] if r['name']!='2nd Cainan'];states={tuple(r[k] for k in ['b','r','L']) for rr in d.values() for r in rr};checks=[]
for t,rows in [('SP',sp),('LXX_OFF',lx)]:
 for m,x in zip(mt,rows):
  dd=x['b']-m['b'];ee=x['L']-m['L'];inter=[m['b']+dd,m['r']-dd,m['L']]
  checks.append({'tradition':t,'row':m['name'],'R_first_intermediate':inter,'nonnegative':min(inter)>=0,'same_named_SP_intermediate':inter==[next(r for r in sp if r['name']==m['name'])[k] for k in ['b','r','L']],'endpoint':[inter[0],inter[1]+ee,inter[2]+ee]})
a=artifact('model/postflood_normal_form_domain_check.json',json.dumps(checks,indent=2)+'\n')
finish(s,{'normal_form_domain_check':a,'rows':len(checks)},'All18 selected R-first normal forms stay nonnegative. The intermediate matches a suppliedSP row only where its lifespan is unchanged; Eber andTerah retain an additional source life change. Mathematical admissibility and source realization are now distinguished row by row.','Summarize the whole post-Flood connection in a compact source-labelled reconstruction.',{'all_nonnegative':all(r['nonnegative'] for r in checks),'all_endpoints':all(c['endpoint']==[r[k] for k in ['b','r','L']] for c,r in zip(checks,sp+lx))})
Edition and provenance

s1175.py

SHA-256 93bdaa7e811eca369c942c75b3bf15cb51f7fc9aea069cf0d28e3a933141a2cd

C480–C1634/Research_Cycles/C1132_C1431_Recovered/evidence/s1175.py