{"_self":{"principle":"Self-explaining payload — no external context required. This _self block describes what you are reading and where to look next.","widget":"article_topology","feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","contains":"claims, sources, anecdotes, question_graph slice","slug":"thinker-barbara-liskov","urls":{"read":"https://miscsubjects.com/api/articles/thinker-barbara-liskov/topology"},"how_to_use":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","write":null,"imessage":null,"router_tag":null,"proof_chain":[{"step":1,"claim":"Articles are voxel graphs of tiered claims, not prose blobs.","verify":"https://miscsubjects.com/api/articles/constitution"},{"step":2,"claim":"Claims link to hash-chained sources via source_ids.","verify":"https://miscsubjects.com/api/articles/thinker-barbara-liskov/sources"},{"step":3,"claim":"Ask reads topology; ingest/claim append to ledger.","verify":"https://miscsubjects.com/api/protocol"},{"step":4,"claim":"Models queue growth: populate → collaborate → repair → reflex.","verify":"https://miscsubjects.com/api/protocol/grow"},{"step":5,"claim":"Graph proves its own shape (reflex) and $/claim (yield).","verify":"https://miscsubjects.com/graph.html?layer=reflex"},{"step":6,"claim":"Full feature index + _explain on every API response.","verify":"https://miscsubjects.com/api/articles/system-map"}],"related_features":[{"id":"ask","name":"Ask protocol","what":"Answer only from topology; creates question_node with gaps and ingest_hint.","urls":{"read":"https://miscsubjects.com/api/articles/thinker-barbara-liskov/prompts","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"graph_topology","name":"Cross-article graph","what":"Merged claims/sources across condition+stack slugs for one question.","urls":{"read":"https://miscsubjects.com/api/articles/thinker-barbara-liskov/graph-topology?question=..."}},{"id":"question_graph","name":"Question graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output).","urls":{"read":"https://miscsubjects.com/api/articles/thinker-barbara-liskov/question-graph","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"voxels","name":"Voxel graph","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance.","urls":{"read":"https://miscsubjects.com/api/articles/thinker-barbara-liskov/voxels","write":"https://miscsubjects.com/api/protocol/claim"}}],"system_map":"https://miscsubjects.com/api/articles/system-map","system_map_markdown":"https://miscsubjects.com/api/articles/system-map?format=markdown","not_medical_advice":true},"_explain":{"feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","why":"Every feature is auditable collective intelligence","how":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","model":null,"verifies":null,"urls":{"read":"https://miscsubjects.com/api/articles/thinker-barbara-liskov/topology"},"imessage":null,"router":null,"related":[{"id":"ask","what":"Answer only from topology; creates question_node with gaps and ingest_hint."},{"id":"graph_topology","what":"Merged claims/sources across condition+stack slugs for one question."},{"id":"question_graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output)."},{"id":"voxels","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance."}],"not_medical_advice":true},"slug":"thinker-barbara-liskov","title":"Barbara Liskov — Abstract Data Types and Distributed Consensus","register":"standard","tags":["oip","kimi-import","self-explaining","voxel","thinkers","thinker-barbara-liskov"],"updated_at":"2026-07-15T04:20:27.762Z","body_excerpt":"<!-- hierarchy:nav -->\n> **Path:** [OIP](https://miscsubjects.com/a/oip) › [Thinker Reference](https://miscsubjects.com/a/oip-thinker-reference) › [Thinkers](https://miscsubjects.com/a/oip-thinkers) › **Barbara Liskov — Abstract Data Types and Distributed Consensus**\n>\n> **Shelf:** Thinkers · **Traversal:** self-explaining · hierarchical · voxel-ready\n> **Machine root:** [OIP tree](https://miscsubjects.com/api/dispatch?map=1&format=markdown) · [Registry](https://miscsubjects.com/api/dispatch?registry=1)\n\n# Barbara Liskov — Abstract Data Types and Distributed Consensus\n\n## §SELF — thinker-barbara-liskov\n\n**What this page is:** A profile of Barbara Liskov and her two major contributions to computer science.\n**What it explains:** Abstract Data Types, the Liskov Substitution Principle, and Viewstamped Replication.\n**Why read it:** To understand how data abstraction and distributed consensus work, and how they apply to OIP.\n\n### Who Barbara Liskov Is\n\nBarbara Liskov (born 1939) is a computer scientist at MIT. She received the Turing Award in 2008 for contributions to practical and theoretical foundations of programming language and system design. She led the design of the CLU programming language in the 1970s and invented Viewstamped Replication in 1988.\n\n### Abstract Data Types (ADTs)\n\nAn Abstract Data Type is a data structure defined by its operations, not its implementation. For example, a \"stack\" is defined by the operations push, pop, and peek — not by whether it is implemented as an array or a linked list.\n\nThe internal representation is hidden. Users interact with the ADT only through its defined operations. This is encapsulation (the bundling of data with the methods that operate on it, while restricting direct access to the data).\n\nLiskov's insight, embodied in the CLU programming language (1974), was that programs become more reliable when the programmer cannot depend on implementation details. If the implementation changes, code that uses only the public operations continues to work.\n\n### The Liskov Substitution Principle (1987)\n\nThe Liskov Substitution Principle states: if S is a subtype of T, then objects of type T can be replaced with objects of type S without breaking the program.\n\nFormally: for each property that holds of objects of type T, that property must also hold for objects of type S. This means a subtype cannot weaken preconditions, strengthen postconditions, or violate invariants of the supertype.\n\nThe principle ensures that polymorphism (the ability to use a value of a subtype wherever a supertype is expected) is safe. Without it, a function expecting type T might fail when given an object of subtype S that behaves differently.\n\n### Viewstamped Replication (1988)\n\nViewstamped Replication is a protocol for distributed consensus — ensuring multiple computers agree on a sequence of operations even when some computers fail.\n\nThe protocol works as follows: one replica is designated the \"primary,\" others are \"backups.\" The primary receives client requests, assigns each a sequence number, and forwards it to backups. Backups acknowledge. Once a majority (including the primary) has acknowledged, the operation is committed.\n\nIf the primary fails, the replicas run a \"view change\" protocol to elect a new primary. Each \"view\" is an epoch with a specific primary. The view change ensures all committed operations are preserved and no operation is lost or duplicated.\n\nViewstamped Replication achieves the same goal as the Paxos protocol (ensuring agreement despite faults) but is structured differently — around primaries and views rather than proposers and acceptors.\n\n### Why These Ideas Matter\n\nAbstract Data Types changed how programmers think about data. Before ADTs, data structures were exposed and manipulated directly. After ADTs, data is accessed through controlled interfaces. This separation of interface from implementation is now standard in every major programming language.\n\nThe Liskov Substitution Principle is a for","ranking":"safety-first (interaction_risk/limitations), then quote-gated effective_weight","claims":[],"sources":[],"anecdotal_sources":[],"scientific_sources":[],"user_reports":[],"related_articles":[],"question_graph":{"slug":"thinker-barbara-liskov","questions":[],"evidence":[],"edges":[],"counts":{"questions":0,"evidence":0,"edges":0}},"honesty":{"active_claims":0,"retracted_claims":0,"cut_claims":0,"challenges":0,"scrub_events":0,"note":"Retracted/cut claims stay on ledger but are excluded from ask unless ?include_inactive=1"},"counts":{"claims":0,"claims_total":0,"sources":0,"anecdotal":0,"scientific":0,"user_reports":0,"questions":0,"evidence_ingests":0}}