Research source · python

check_mixed_region_coupling.py

tools/research/check_mixed_region_coupling.py

87 lines. Source is displayed for inspection; it is not executed by this page.

File fingerprint

SHA-256: 09ecca0b996cd00be125eacfd6d8b6f3a03a3d4dd5bf97a6de0c5e5be4efc819

#!/usr/bin/env python3
"""Independent finite audit of one-time mixed-coordinate charging.
Canonical aligned Boolean trees; counts are tree-coordinate occurrences,
not distinct DAG records. Integer masks are independent semantic oracles.
"""
from itertools import product
from random import Random
import json


def tree(mask, height):
    width = 1 << height
    if mask == 0:
        return False
    if mask == (1 << width) - 1:
        return True
    half = width // 2
    return (tree(mask & ((1 << half) - 1), height - 1),
            tree(mask >> half, height - 1))


def mixed(t, path=()):
    if isinstance(t, bool):
        return set()
    return {path} | mixed(t[0], path + (0,)) | mixed(t[1], path + (1,))


def merge(a, b, expanded, path=()):
    if b is False:
        return a
    if b is True or a is True:
        return True
    if a is False:
        return b
    expanded.add(path)
    left = merge(a[0], b[0], expanded, path + (0,))
    right = merge(a[1], b[1], expanded, path + (1,))
    if left is True and right is True:
        return True
    if left is False and right is False:
        return False
    return (left, right)


def check(a_mask, c_mask, incoming, height):
    base = tree(a_mask, height)
    c = tree(c_mask, height)
    augmented = merge(base, c, set())
    potential = mixed(c)
    charged = set()
    base_expansions = augmented_expansions = 0
    for mask in incoming:
        b = tree(mask, height)
        old_events, new_events = set(), set()
        base = merge(base, b, old_events)
        augmented = merge(augmented, b, new_events)
        extra = new_events - old_events
        assert extra <= potential
        assert not (extra & charged)
        charged |= extra
        base_expansions += len(old_events)
        augmented_expansions += len(new_events)
        assert augmented_expansions <= base_expansions + len(potential)
        a_mask |= mask
        assert base == tree(a_mask, height)
        assert augmented == tree(a_mask | c_mask, height)
    return len(incoming)


def main():
    histories = operations = 0
    for a, c, b1, b2 in product(range(16), repeat=4):
        operations += check(a, c, (b1, b2), 2)
        histories += 1
    rng = Random(200)
    for _ in range(10000):
        a, c = rng.randrange(256), rng.randrange(256)
        bs = [rng.randrange(256) for _ in range(8)]
        operations += check(a, c, bs, 3)
        histories += 1
    print(json.dumps(dict(histories=histories,
                          old_job_insertions=operations,
                          coordinate_charges_unique=True)))


if __name__ == '__main__':
    main()