from research import *
s=begin(1310,'Register why reversal does not commute with grouping','How does sourcepartition remainvisible in theinversefamily?',{},['C1309','File52c §3','C1058–C1068 inherited'])
original=[1650,1050];whole=sum(original);whole_image=inv(whole);part_images=[inv(x) for x in original]
r={'id':'reversal_partition_dependence','class':'noncommutation_witness','original_source_parts':original,'original_whole':whole,'whole_one_pass_image':whole_image,'separate_one_pass_images':part_images,'separate_image_total':sum(part_images),'statement':'Reverseaftercoarsening differsfromcoarsenaftercomponentreversal.','source_scope':'Botharguments areoriginalsource durations, notinheritedinverseoutputs; eachisreversedoncefor thisexistingcomparison.','consequence':'Originalpartitionandoperationroute arepartoftheinput, notdecorativeannotations.'}
a=artifact('model/relation_inverse_partition.json',json.dumps(r,indent=2)+'\n')
finish(s,{'partition_relation':a,'whole_image':whole_image,'part_total':sum(part_images)},'Theoriginal2700 reverses to7200, whileits1650|1050 parts reverseto5610|5010,total10620. Thisexistingdifference explainswhy thenamedcuts mustremain in thecommonrepresentation.','Register theCovenantjoins asdefinedrelations plusoneadditional sourcecondition.',{'whole7200':whole_image==7200,'parts10620':sum(part_images)==10620,'different_routes':whole_image!=sum(part_images)})
