from research import *
s=begin(1303,'Classify relations by their explanatory role','Which equalitiesare identities,sourceconditions or completefamilyreconstructions?',{},['C1302','Strategy §§5D,6','C1227','C1259'])
kinds=[{'id':'identity','meaning':'Followsforalldeclaredinputsfromoperationdefinitions','example':'Accumulationofrowdifferences equalsdifferenceofaccumulatedfields'},{'id':'domain_condition','meaning':'Determineswhenaspecifiedcompositionisvalid','example':'Intermediateintegergrid ornonnegativeR/A path'},{'id':'source_constraint','meaning':'Additionalrelationamongreceivedsourcevaluesorroles','example':'Eber40+Nahor60=u100;C=1.3u andT=.6u'},{'id':'family_reconstruction','meaning':'Completefixedsourcefield generatedbyretaineddataandmaps','example':'Moses25nodes andthreeinverseinputwords'},{'id':'interpretive_comparison','meaning':'Literaryorhistoricalmeaningattachedtotheverifiedarithmetic','example':'ArphaxadassecondAdam'}]
a=artifact('model/relation_claim_classes.json',json.dumps({'classes':kinds,'counting_rule':'Dependentdisplaysremainonefamily; identitychecksarenotindependenthistoricalwitnesses.','source_origin':'No classbyitselfestablishesthesourcevalueshistoricalorigin.'},indent=2)+'\n')
finish(s,{'claim_classes':a},'Therelationledger willstatewhatkindofclaim eachconnectionmakes. Thislets thereaderseeexactlywhere aproofisautomatic, whereanadditionalsourceconditionenters, andwhereinterpretationbegins.','Register thelinearmeasurementrelationthat carriesordinaryrowchanges intocompletefields.',{'fiveclasses':len(kinds)==5,'distinct_ids':len({x['id'] for x in kinds})==5})
