Evidence

review1182 1201.py

Download source fileOpen in research workspace
"""Independent review of C1182–C1201; no root script execution or mutation."""
from pathlib import Path
from fractions import Fraction as F
from collections import Counter
from math import prod
import json,hashlib
BASE=Path(__file__).resolve().parents[2];C=BASE/'c1132_c1431';OUT=C/'prep'
checks=[]
def clean(v):
 if isinstance(v,F):return v.numerator if v.denominator==1 else str(v)
 if isinstance(v,dict):return {str(k):clean(x) for k,x in v.items()}
 if isinstance(v,(list,tuple)):return [clean(x) for x in v]
 return v

def ck(name,actual,expected=True):
 a,b=clean(actual),clean(expected)
 checks.append({'name':name,'pass':a==b,'actual':a,'expected':b})
 if a!=b:raise AssertionError((name,a,b))
def model(n):return json.loads((C/'model'/f'{n}.json').read_text())
def mv(A,v):return [sum((F(x)*F(y) for x,y in zip(r,v)),F(0)) for r in A]
def mm(A,B):return [[sum((F(x)*F(y) for x,y in zip(r,col)),F(0)) for col in zip(*B)] for r in A]
def det(a):
 if len(a)==1:return F(a[0][0])
 return sum(((-1)**j*F(a[0][j])*det([r[:j]+r[j+1:] for r in a[1:]]) for j in range(len(a))),F(0))
def Q(n):
 assert isinstance(n,int) and n>=0
 k,r=divmod(n,5)
 return 5*(k+int(r>=3))
def signed_round(n):return Q(n) if n>=0 else -Q(-n)
J={r['step']:r for r in json.loads((C/'journal.json').read_text()) if 1182<=r['step']<=1201}
ck('twenty completed records',sorted(J),list(range(1182,1202)))
source=model('complete_source_row_packet')
bindings=[]
for n in range(1182,1202):
 p=C/'evidence'/f's{n}.py';s=p.read_text()
 ck(f'C{n} script declaration',f'begin({n},' in s)
 bindings.append({'type':'completed_script','step':n,'path':str(p),'sha256':hashlib.sha256(p.read_bytes()).hexdigest()})
 def bind(o):
  if isinstance(o,dict):
   if {'path','sha256','bytes'}<=o.keys():
    p=C/o['path'];d=p.read_bytes()
    ck(f'C{n} artifact '+o['path'],[hashlib.sha256(d).hexdigest(),len(d)],[o['sha256'],o['bytes']])
    bindings.append({'type':'completed_artifact','step':n,**o})
   for v in o.values():bind(v)
  elif isinstance(o,list):
   for v in o:bind(v)
 bind(J[n]['results'])
# Fresh whole-genealogy design, independent of production Matrix.
names=[r['name'] for r in source['MT']];mt={r['name']:r for r in source['MT']};lx={r['name']:r for r in source['LXX']}
cent={'Adam','Seth','Enosh','Kenan','Mahalalel','Enoch','Arphaxad','Shelah','Eber','Peleg','Reu','Serug'}
B=[];L=[]
for name in names:
 B.append([F(1) if name in cent else F(1,2) if name=='Nahor' else F(0),0,0,0,0])
 L.append([int(name in {'Peleg','Reu','Serug'}),int(name=='Lamech'),int(name in {'Arphaxad','Shelah'}),int(name=='Eber'),int(name=='Nahor')])
M=[r for pair in zip(B,L) for r in pair];theta=[100,-24,27,40,60]
T=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[1,0,0,-1],[0,0,0,1]];N=mm(M,T)
root5=model('whole_genealogy_five_model');root4=model('whole_genealogy_four_model')
ck('C1182 exact design',root5['matrix'],M)
ck('C1183 exact restricted design',root4['matrix'],N)
ck('C1183 parameter alias t=n',root4['parameters'],['u','lambda','a','t'])
ck('C1183 embedding',root4['substitution'],T)
outputs=mv(M,theta)
expected=[v for name in names for v in [lx[name]['b_ledger']-mt[name]['b_ledger'],lx[name]['L_ledger']-mt[name]['L_ledger']]]
ck('C1182 complete source changes',outputs,expected)
ck('C1182 saved outputs',root5['outputs'],outputs)
ck('C1183 restricted source outputs',mv(N,[100,-24,27,60]),outputs)
labels=[f'{name}:{part}' for name in names for part in ['b','L']]
obs=['Adam:b','Lamech:L','Arphaxad:L','Eber:L','Nahor:L']
H=[M[labels.index(n)] for n in obs];H4=[N[labels.index(n)] for n in obs if n!='Eber:L']
ck('C1182 rank-five witness determinant',det(H),1)
ck('C1183 rank-four witness determinant',det(H4),1)
# Widths of matrices bound their ranks above; nonzero minors give equality.
ck('C1184 source observations',model('whole_genealogy_local_recovery')['observations'],dict(zip(obs,theta)))
ck('C1184 recovery',model('whole_genealogy_local_recovery')['recovered'],theta)
head=[[sum(F(r[c]) for r in rows) for c in range(5)] for rows in [B,L]]
head4=mm(head,T)
ck('C1185 total map',model('whole_genealogy_head_information')['head_matrix'],head)
ck('C1185 explicit coefficient rows',head,[[F(25,2),0,0,0,0],[3,1,2,1,1]])
ck('C1186 restricted total map',model('whole_genealogy_four_head_information')['matrix'],head4)
ck('C1185 source heads',mv(head,theta),[1250,430])
ck('C1186 source heads',mv(head4,[100,-24,27,60]),[1250,430])
ck('C1185 rank-two minor',det([[head[0][0],head[0][1]],[head[1][0],head[1][1]]]),F(25,2))
for kind,A in [('whole_genealogy_head_information',head),('whole_genealogy_four_head_information',head4)]:
 for i,v in enumerate(model(kind)['kernel_basis']):ck(kind+' kernel '+str(i),mv(A,v),[0,0])
ck('C1185 nullity dimension',len(model('whole_genealogy_head_information')['kernel_basis']),3)
ck('C1186 nullity dimension',len(model('whole_genealogy_four_head_information')['kernel_basis']),2)
ck('C1187 separate Cainan triple',[lx['Cainan2'][k] for k in ['b_ledger','r_calculated','L_ledger']],[130,330,460])
ck('C1187 source Shelah numerical equality',[lx['Shelah'][k] for k in ['b_ledger','r_calculated','L_ledger']],[130,330,460])
ck('C1187 native heads',[1250+lx['Cainan2']['b_ledger'],430+lx['Cainan2']['L_ledger']],[1380,890])
w=model('insertion_redistribution_witness')
for key,cutkey in [('old_Arphaxad_Shelah_intervals','old_cuts'),('inserted_Cainan_path','inserted_cuts'),('same_total_without_Cainan','redistributed_cuts')]:
 vals=w[key];ck('C1188 '+cutkey,[sum(vals[:i]) for i in range(len(vals)+1)],w[cutkey])
ck('C1188 equal final total',sum(w['inserted_Cainan_path']),sum(w['same_total_without_Cainan']))
ck('C1188 extra vertex',len(w['inserted_cuts'])-len(w['redistributed_cuts']),1)
ck('C1188 shared named boundaries agree numerically',[w['inserted_cuts'][i] for i in [0,2,3]],w['redistributed_cuts'])
ck('C1188 diagnostic tag','formal local diagnostic' in w['scope'])
# Rounded fibres from exhaustive b in [0,L], not the root's narrow cell search.
obs=model('joint_rounding_observation')
for q in [0,5,10]:ck('C1190 cell '+str(q),[x for x in range(0,15) if Q(x)==q],obs['zero_cell_truncation'][str(q)])
countmodel=model('joint_rounding_fibre_count')
for z in range(-5,6):
 direct=sum(1 for u in [-2,-1,0,1,2] for v in [-2,-1,0,1,2] if u+v==z)
 geometric=max(0,min(2,z+2)-max(-2,z-2)+1)
 ck('C1191 geometric line count '+str(z),direct,geometric)
 ck('C1191 stored count '+str(z),countmodel['residual_sum_counts'][str(z)],direct)
rootfib=model('ordinary_joint_rounding_fibres');rf={(x['tradition'],x['name']):x for x in rootfib['rows']}
computed=[];excluded=[]
for t,rows in source.items():
 for r in rows:
  if r['L_counting']:
   excluded.append(t+':'+r['name']);continue
  b,L0=r['b_ledger'],r['L_ledger'];r0=L0-b;B0,R0=Q(b),Q(r0)
  possible=[x for x in range(L0+1) if Q(x)==B0 and Q(L0-x)==R0]
  x={'tradition':t,'name':r['name'],'b':b,'r':r0,'L':L0,'B':B0,'R':R0,'z':L0-B0-R0,'candidates_b':possible,'count':len(possible)}
  ck('C1192 full fibre '+t+':'+r['name'],rf[(t,r['name'])],x)
  ck('C1192 interior domain '+t+':'+r['name'],B0>=5 and R0>=5)
  computed.append(x)
ck('C1192 complete ordinary domain',len(computed),55)
ck('C1192 exclusions',excluded,['SP:Jared','SP:Methuselah','SP:Lamech'])
ck('C1192 stored exclusions',rootfib['excluded_inclusive_rows'],excluded)
singletons=[x['tradition']+':'+x['name'] for x in computed if x['count']==1]
ck('C1192 singletons',singletons,['MT:Methuselah','MT:Reu','SP:Reu','LXX:Methuselah','LXX:Reu'])
ck('C1192 saved singletons',rootfib['singletons'],singletons)
inter=model('joint_rounding_singleton_intersections')
for x in inter:
 t,n=x['row'].split(':');v=rf[t,n]
 one=[b for b in range(v['L']+1) if Q(b)==v['B']]
 two=[b for b in range(v['L']+1) if Q(v['L']-b)==v['R']]
 ck('C1193 B/L observation '+x['row'],x['B_and_L_candidates'],one)
 ck('C1193 R/L observation '+x['row'],x['R_and_L_candidates'],two)
 ck('C1193 intersection '+x['row'],sorted(set(one)&set(two)),x['intersection'])
lm=rf['LXX','Lamech'];pairs=[[b,lm['L']-b] for b in lm['candidates_b']]
ck('C1194 Lamech possibilities',pairs,[[181,572],[182,571]])
ck('C1194 saved possibilities',model('LXX_Lamech_joint_rounding_ambiguity')['pairs'],pairs)
summary=model('ordinary_joint_rounding_ambiguity_summary');hist=dict(Counter(x['count'] for x in computed))
products={t:prod(x['count'] for x in computed if x['tradition']==t) for t in source}
ck('C1195 histogram',summary['fibre_size_histogram'],hist)
ck('C1195 formal products',summary['product_by_tradition'],products)
ck('C1195 total formal product',summary['total_product'],prod(products.values()))
ck('C1195 formal-only qualification','no historical alternatives admitted' in summary['scope'])
early=model('early_pair_rounding_relation')
for item in early:
 t=item['tradition'];a=rf[t,'Arphaxad'];s=rf[t,'Shelah']
 pairs=[[b1,b2] for b1 in a['candidates_b'] for b2 in s['candidates_b'] if a['L']-b1==s['L']-b2]
 ck('C1196 equal-remainder fibre '+t,item['allowed_begetting_pairs'],pairs)
 ck('C1196 exact count '+t,[item['separate_choices'],item['joint_choices']],[a['count']*s['count'],len(pairs)])
 ck('C1196 fixed five-year difference '+t,{x[0]-x[1] for x in pairs}=={5})
late=model('late_block_joint_rounding_recovery')
allowed=[]
for b in range(0,240):
 if all(b+shift in rf[t,n]['candidates_b'] for t,shift in [('MT',0),('SP',100),('LXX',100)] for n in ['Peleg','Serug']):allowed.append(b)
ck('C1197 entire conditioned fibre',allowed,[28,29,30,31])
ck('C1197 stored fibre',late['free_MT_Peleg_Serug_b'],allowed)
ck('C1197 MT Reu',late['MT_Reu_b'],[32])
ck('C1197 equal-age premise recorded','Peleg and Serug equal begetting ages within each tradition' in late['premises'])
recovery=model('joint_rounding_residual_recovery')
for t,n,u,b,r in recovery['residual_records']:
 row=rf[t,n]
 ck('C1198 source residual and exact parts '+t+':'+n,[u,b,r],[row['b']-row['B'],row['b'],row['r']])
carry=model('joint_rounding_carry_bridge')
for row in carry['rows']:
 t,n=row['row'].split(':');x=rf[t,n]
 value=Q(x['L'])-Q(x['b'])-Q(x['r'])
 ck('C1199 carry '+row['row'],[row['z'],row['carry']],[x['z'],value])
 ck('C1199 signed auxiliary identity '+row['row'],signed_round(x['z']),value)
for z in range(-4,5):ck('C1199 branch '+str(z),carry['branches'][str(z)],signed_round(z))
info=model('rounding_carry_information')
counts={c:sum(signed_round(u+v)==c for u in range(-2,3) for v in range(-2,3)) for c in [-5,0,5]}
ck('C1200 carry fibres',info['residual_pair_counts'],counts)
ck('C1200 fibre counts',counts,{-5:3,0:19,5:3})
# Domain/claim wording, manually reviewed in addition to these presence checks.
whole=(C/'deliverables/Whole_Genealogy_Row_Grammar_Interim.md').read_text()
rounded=(C/'deliverables/Joint_Rounded_Row_Information.md').read_text()
ck('C1189 conditional and origin qualifications','conditional reconstructions' in whole and 'not explanations of their historical origin' in whole)
ck('C1201 source dependency retained','not independent testimony' in rounded)
ck('C1201 ordinary SP exclusion retained','three inclusive SP cap rows are outside' in rounded)
ck('C1201 main LXX753 retained','| Main LXX Lamech | 753 |' in rounded)
observations=[{'severity':'nonblocking domain-wording clarification','steps':[1190,1199,1200],
'issue':'C1190 defines Q on nonnegative durations, whereas C1199 writes Q(z) for potentially negative residuals. The calculation correctly uses the integer extension of the same floor rule, but that extension should be named explicitly.',
'suggested_text':'For the signed residual z in {-4,...,4}, define the auxiliary carry q(z)=5 floor((z+2)/5). Then Q(L)-Q(b)-Q(r)=q(z). This is an algebraic integer extension, not a negative chronological duration.',
'effect':'No numerical result changes. State the bounded z domain when giving the three carry branches.'},
{'severity':'interpretive precision','steps':[1183,1186],
'issue':'The four-model parameter t is the five-model Nahor parameter n; e=u-t. Its cancellation at the heads is conditional on the fitted e+n=u relation, already implicit in C1154.',
'effect':'Existing artifacts are consistent. Preserve this alias and the extra-premise language in synthesis; do not present the lower rank as an independent derivation.'},
{'severity':'interpretive precision','steps':[1188],
'issue':'The insertion and redistributed examples actually agree at all retained shared named boundaries (0,265,395); the distinguishing observation is the extra Cainan vertex at135 with its name/incidence.',
'effect':'Current finding is correct. Avoid later describing this example as a displacement of the shared Shelah boundary.'},
{'severity':'conditional-recovery guard','steps':[1192,1195,1196,1197,1198],
'issue':'The rounded observations and exact lifespans are held; calculated remainders are not independent readings. Product counts are formal Cartesian-product fibres before cross-row constraints. The late-block result also holds u100 and Peleg/Serug equal ages.',
'effect':'All these qualifications are present. Preserve them; the calculations do not reconstruct an ancient transmission process or generate source30 independently.'}]
result={'status':'PASS_WITH_NONBLOCKING_DOMAIN_CLARIFICATION','scope':'Independent exact and wording review of completed scripts C1182–C1201','method':'Direct source-based model construction; determinant witnesses and exact nullspace substitution; exhaustive b=0..L inverse fibres; divmod nearest-five implementation; no root Matrix/helper imports or root script execution','check_count':len(checks),'passed':sum(x['pass'] for x in checks),'source_packet':{'path':str(C/'model/complete_source_row_packet.json'),'sha256':hashlib.sha256((C/'model/complete_source_row_packet.json').read_bytes()).hexdigest()},'review_script':{'path':str(Path(__file__)),'sha256':hashlib.sha256(Path(__file__).read_bytes()).hexdigest()},'completed_record_bindings':[{'step':n,'sha256':J[n]['sha256']} for n in sorted(J)],'file_bindings':bindings,'observations':observations,'independent_results':{'whole_source_outputs':outputs,'head_maps':{'five':head,'four':head4},'ordinary_fibres':computed,'fibre_histogram':hist,'formal_products':products,'singletons':singletons,'late_conditioned_fibre':allowed,'carry_class_counts':counts},'checks':checks}
with (OUT/'review1182_1201.json').open('x') as f:json.dump(clean(result),f,ensure_ascii=False,indent=2);f.write('\n')
report=f'''# Independent review of C1182–C1201

**PASS: {len(checks)}/{len(checks)} exact checks, with one nonblocking domain-wording clarification.** No arithmetic error, incorrect source selection or missing conditional-recovery premise was found. No completed script, journal record or model was edited.

The evidence is `prep/review1182_1201.json`; its independent reproducer is `prep/review1182_1201.py`. The review reads all20 completed scripts, binds their hashes and verifies each referenced artifact. It reconstructs the whole genealogy directly from the current source packet, uses nonzero determinant witnesses to establish the exact ranks, checks every stored kernel vector, and enumerates Rounded candidates over the full interval0≤b≤L. Its nearest-five function uses integer quotient/remainder, independently of the production formula. No production Matrix helper or numbered script is executed.

## Whole-genealogy model

C1182 reconstructs all38 begetting/lifespan changes on the19 shared rows. The unrestricted model has rank5; the stated local observation basis is exactly the identity on(u,λ,a,e,n). C1183 has rank4 after the additional relation e+n=u. Root’s four-model parameter t equals n, and e=u−t. This is the source-fitted relation already implicit in the post-Flood dictionary; it is not forced by compatible biographies alone.

Both head maps and every stored kernel vector are correct. The five-model rows are(25u/2,3u+λ+2a+e+n), with rank2 and three hidden directions. The restricted Cumulative total is4u+λ+2a, leaving t invisible and permitting the λ/2a exchange. The values1250/430 and native1380/890 agree exactly.

Native Cainan retains130/330/460, his ordered slot and source status. C1188 correctly distinguishes insertion from redistribution, but the precise witness is the additional named Cainan vertex at135: all retained common cuts0,265,395 agree numerically in the two compared paths. The current finding is sound; later prose should not turn it into a claimed displacement of their shared Shelah boundary.

C1189 correctly separates the century’s lifespan-preserving and remainder-preserving executions, the Lamech−24 exception and the additional e+n=u premise. It retains the source-value and historical-origin qualifications.

## Ordinary joint Rounded fibres

C1190 correctly truncates the zero cell to{{0,1,2}} and retains exact L alongside rounded B and R. C1191’s interior formula is max(0,5−|z|), with z=L−B−R and B,R≥5. All55 tested ordinary rows satisfy the interior condition; SP Jared, Methuselah and Lamech are correctly excluded because their lifespans carry inclusive tags.

The complete exhaustive inverse agrees row for row with C1192. The five singletons are MT/LXX Methuselah, MT/LXX Reu and SP Reu. Their separately ambiguous B/L and R/L observations each allow five values and intersect in one endpoint. Main LXX Lamech correctly retains two pairs,181/572 and182/571, under L753 and rounded180/570. Its source-restored182 and calculated571 remain necessary to select the latter.

The histogram{{1:5,2:1,3:13,4:6,5:30}} and all three product counts are exact. C1195 labels those products as formal independent-row decompositions, not admitted chronologies or statistical evidence. Early equal-remainder intersections reduce9→3 for MT/SP and25→5 for LXX without uniqueness. With u100 and the Peleg/Serug equality explicitly held, the full late-block fibre is28,29,30,31; Reu32 does not force source30.

C1198 correctly recovers any remaining row once one exact residual is supplied. It explicitly treats reading back a stored source residual as reconstruction, not discovery. C1201 preserves the conditional nature of the entire exercise and the calculated-remainder dependency.

## Carry formula and required clarification

All C1199 carry values and C1200 class counts3/19/3 are correct. However, C1190 defines Q only on nonnegative durations; C1199 then evaluates Q(z) at signed residuals. Name this auxiliary extension explicitly, for example:

> For signed z∈{{−4,…,4}}, let q(z)=5 floor((z+2)/5). Then Q(L)−Q(b)−Q(r)=q(z). This is an algebraic integer extension, not a negative chronological duration.

Within this bounded residual domain, the three branches are−5 for z≤−3,0 for |z|≤2 and+5 for z≥3. Keeping the domain visible prevents the branch wording from being read as a formula for arbitrary integers. No numerical or source change is required.

## Adoption guidance

Carry forward the signed-residual clarification, the t=n parameter alias, and the named-vertex interpretation of C1188. The ordinary-domain exclusions, exact-lifespan premise, source-derived rounded remainder and additional cross-row equalities are already properly qualified. This block establishes conditional recoverability and its limits; it does not establish source origins or independently infer the source ages from unrelated evidence.
'''
with (OUT/'review1182_1201.md').open('x') as f:f.write(report)
print(json.dumps({'status':result['status'],'checks':len(checks),'passes':result['passed'],'files':['prep/review1182_1201.md','prep/review1182_1201.json','prep/review1182_1201.py']}))
Edition and provenance

review1182_1201.py

SHA-256 2d244418141a2b0e328557a4422351e060833c3a7fc2100e4f109a546e64ab1b

C480–C1634/Research_Cycles/C1132_C1431_Recovered/prep/review1182_1201.py