Idealized-Substrate Fallacy¶
Core Idea¶
Building a system against an assumed substrate stripped of friction terms — zero cost, instant response, perfect delivery — then deploying it against a real substrate that has none of those idealizations, so failures concentrate exactly on the enumerable list of elided terms. The fault is not the idealization (tractable design needs it) but forgetting to re-introduce the dropped terms before deployment.
How would you explain it like I'm…
Smooth Floor, Bumpy Grass
Forgetting the Messy Parts
Built for a Frictionless World
Broad Use¶
- Distributed computing: the "fallacies of distributed computing" — the network is reliable, secure, zero-latency.
- Economics: perfect competition and zero transaction costs (Coase, Modigliani–Miller).
- Physics pedagogy: frictionless planes and ideal gases carried into manufactured systems.
- AI / reinforcement learning: sim-to-real transfer failing on perfect actuation and no sensor noise.
- Software engineering: "it works on my machine" — the dev environment as idealized substrate.
- Governance: policies assuming rational, fully-informed, compliant agents in a homogeneous jurisdiction.
- Healthcare: guidelines written for an idealized adherent, single-comorbidity patient.
Clarity¶
Separates what the system does under the abstraction from what it does against the real substrate — and makes the elided terms inspectable by naming the idealization as a list of friction terms set to zero, auditable before deployment.
Manages Complexity¶
Preserves the abstraction's simplicity at design time while staging the complexity at deployment — decomposing "everything that could go wrong" into a finite checklist of exactly the dropped friction terms.
Abstract Reasoning¶
Reasons at the level of substrates: enumerate the difference set between abstraction and reality, mass-weight the dropped terms to find which dominate, stage the path through partial substrates, and predict failures concentrate on the elision points.
Knowledge Transfer¶
- Distributed systems → clinical protocols: the enumeration habit ports to any new substrate on first contact.
- Engineering → curricula: enumerate latency/loss before shipping; enumerate prerequisite-mastery/time-scarcity before deploying a syllabus.
- Everywhere: the matched move is the same — a substrate audit re-introducing elided terms as explicit parameters.
Example¶
A service mesh built against a reliable, low-latency dev cluster exposes its elisions one by one in production — a flaky link reveals the unreliability term, a busy hour the latency term — each fixed by re-introducing that dropped term as a parameter.
Relationships to Other Primes¶
Parents (1) — more general patterns this builds on
- Idealized-Substrate Fallacy presupposes Abstraction — The fallacy is carrying a (legitimate) idealizing ABSTRACTION across a deployment boundary without re-introducing the friction terms it dropped; it presupposes an abstraction and is the specific decision-error of trusting it where its preconditions stop holding.
Path to root: Idealized-Substrate Fallacy → Abstraction
Not to Be Confused With¶
- Idealized-Substrate Fallacy is not Abstraction because abstraction is the legitimate move of dropping detail whereas the fallacy is carrying that abstraction across the deployment boundary without re-introducing the dropped features.
- Idealized-Substrate Fallacy is not the Fallacy of Misplaced Concreteness because that treats an abstraction as concretely real whereas this is its dual — treating a real substrate as if it had the abstraction's idealized properties.
- Idealized-Substrate Fallacy is not a Leaky Abstraction because a leak is the substrate fact that reality bleeds through whereas the fallacy is the decision to trust the abstraction's hiding when it should not.