MTC Chapter 4 — Evolution vs Transformation¶
Part II · Week 3 · Seed 20260401
The structural Criterion: an operation is structural iff it changes the reachable profile — a witness class appears. The dividend does not; the mint and the amendment do.
In [ ]:
import sys, os
sys.path.insert(0, r"/home/claude/mtc/mtc-course/downloads/engine_lib")
sys.path.insert(0, r"/home/claude/mtc/nbbuild")
from mtcplot import apply_style, MTC_RED, BRASS, SLATE, MTC_RED_LITE, MTC_RED_DARK
import matplotlib.pyplot as plt
import numpy as np
apply_style()
Three operations, three verdicts¶
The reachable profile at the surely-stratum ($\varepsilon=1$) before and after each operation.
In [ ]:
from engines import mtc_engine_ch04 as e
ops = ["dividend","mint","amendment"]
res = {o: e.is_structural(o) for o in ops}
fig, ax = plt.subplots(figsize=(8,4))
classes = ["Private","Listed","Securitized"]
ypos = range(len(ops))
for i,o in enumerate(ops):
post = set(res[o]["post"]["eps_1"])
base = set(res[o]["base"]["eps_1"])
gained = post - base
for j,c in enumerate(classes):
if c in gained:
ax.scatter(j, i, s=340, color=MTC_RED, zorder=3, marker="*")
elif c in post:
ax.scatter(j, i, s=170, color=SLATE, alpha=0.5, zorder=2)
else:
ax.scatter(j, i, s=90, facecolors="none", edgecolors="#ccc", zorder=1)
ax.set_yticks(list(ypos)); ax.set_yticklabels([f"{o}\n({'STRUCTURAL' if res[o]['structural'] else 'non-struct.'})" for o in ops])
ax.set_xticks(range(len(classes))); ax.set_xticklabels(classes)
ax.set_title("Reachable profile: red star = witness class (newly reachable)")
ax.grid(True, alpha=0.3)
plt.tight_layout(); plt.show()
for o in ops: print(f"{o}: structural={res[o]['structural']}, witnesses={res[o]['witnesses']}")
Validation¶
Every number above is reproduced by the seeded engine; the checks below must all pass.
In [ ]:
from engines import mtc_engine_ch04 as _e
v = _e.validation_checks(); v.pop("_values", None)
for k, val in v.items():
print(f" {k}: {val}")
assert v["ALL_PASS"], "validation failed"
print("\nALL_PASS — matches notebook + workbook + API")