Evidence

s860.py

Download source fileOpen in research workspace
from research import *
s=begin(860,'Recover the complete 78-row display','Does one civil index reconstruct every opening and closing boundary?',{'civil':'BC b maps to 1−b; AD a maps to a'},['File43 §3.4'])
p=json.loads((ROOT/'model/NT_inputs.json').read_text())
rows=p['convenience']['full_File43_display_ledger']
out=[]
for row in rows:
 r=row['index_to_6BC_hinge']
 out.append({'r':r,'open':-5-70*r,'close':-5-70*(r-1),'Luke':row['Luke_display'],'Matthew':row['Matthew_display']})
 assert out[-1]['open']==row['civil_open'] and out[-1]['close']==row['civil_close']
a=artifact('model/NT_full_display.json',json.dumps(out,indent=2)+'\n')
finish(s,{'display':a,'primary_span':70*77,'extended_span':70*78,'crossing_row':out[76]},'One rule x(r)=−5−70r reconstructs all 78 displayed rows. The primary 77-row span is 5390; the final AD65–135 extension increases it to 5460.','Separate named generations, intervals and carrier slots before comparison.',{'complete':len(out)==78,'consecutive':all(out[i]['close']==out[i+1]['open'] for i in range(77)),'civil_crossing':out[76]['close']-out[76]['open']==70})

Linked sources and evidence

Edition and provenance

s860.py

SHA-256 6b2082699011804a0bc096c8b67e357fdf9c92cf60c38f3a554bb525b3274611

C480–C1634/Research_Cycles/C0832_C0931/evidence/s860.py