A Behavioral Notion of Subtyping
E811520
"A Behavioral Notion of Subtyping" is a foundational computer science paper by Barbara Liskov and Jeannette Wing that formally defines subtyping in terms of behavioral substitutability, underpinning modern object-oriented type theory.
All labels observed (1)
| Label | Occurrences |
|---|---|
| A Behavioral Notion of Subtyping canonical | 1 |
How this entity was disambiguated
This entity first appeared as the object of triple T9635078 — resolving that mention is where its identity was fixed. The disambiguator weighed these candidate entities and picked the highlighted one (or “None”, minting a new entity). This is how homonymy is resolved: the same surface form can point to different entities.
Target entity: A Behavioral Notion of Subtyping Context triple: [Liskov Substitution Principle, statedIn, A Behavioral Notion of Subtyping]
-
A.
Hindley–Milner type system
The Hindley–Milner type system is a classical polymorphic type system used in many functional programming languages, notable for enabling type inference without explicit type annotations.
-
B.
Dijkstra weakest precondition calculus
Dijkstra weakest precondition calculus is a formal method for reasoning about program correctness by computing the weakest conditions that must hold before execution to guarantee a desired postcondition.
-
C.
Touch of Class: Learning to Program Well with Objects and Contracts
"Touch of Class: Learning to Program Well with Objects and Contracts" is a computer science textbook by Bertrand Meyer that teaches object-oriented programming and software correctness using the Design by Contract methodology.
-
D.
Types and Programming Languages (research contributions)
Types and Programming Languages (research contributions) refers to Tobias Nipkow’s influential work advancing the theory and mechanization of type systems and programming language semantics, particularly through formal verification and theorem proving.
-
E.
Modularity, Objects, and State
"Modularity, Objects, and State" is a chapter in the classic computer science textbook *Structure and Interpretation of Computer Programs* that explores how to structure programs using modular design, data abstraction, and mutable state, including object-oriented techniques.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
Target entity: A Behavioral Notion of Subtyping Target entity description: "A Behavioral Notion of Subtyping" is a foundational computer science paper by Barbara Liskov and Jeannette Wing that formally defines subtyping in terms of behavioral substitutability, underpinning modern object-oriented type theory.
-
A.
Hindley–Milner type system
The Hindley–Milner type system is a classical polymorphic type system used in many functional programming languages, notable for enabling type inference without explicit type annotations.
-
B.
Dijkstra weakest precondition calculus
Dijkstra weakest precondition calculus is a formal method for reasoning about program correctness by computing the weakest conditions that must hold before execution to guarantee a desired postcondition.
-
C.
Touch of Class: Learning to Program Well with Objects and Contracts
"Touch of Class: Learning to Program Well with Objects and Contracts" is a computer science textbook by Bertrand Meyer that teaches object-oriented programming and software correctness using the Design by Contract methodology.
-
D.
Types and Programming Languages (research contributions)
Types and Programming Languages (research contributions) refers to Tobias Nipkow’s influential work advancing the theory and mechanization of type systems and programming language semantics, particularly through formal verification and theorem proving.
-
E.
Modularity, Objects, and State
"Modularity, Objects, and State" is a chapter in the classic computer science textbook *Structure and Interpretation of Computer Programs* that explores how to structure programs using modular design, data abstraction, and mutable state, including object-oriented techniques.
- F. None of above. chosen
Statements (47)
| Predicate | Object |
|---|---|
| instanceOf |
foundational paper in type theory
ⓘ
scientific paper ⓘ |
| associatedWith |
Carnegie Mellon University (via Jeannette Wing)
NERFINISHED
ⓘ
MIT (via Barbara Liskov) NERFINISHED ⓘ |
| author |
Barbara Liskov
NERFINISHED
ⓘ
Jeannette Wing NERFINISHED ⓘ |
| contribution |
criteria for correct use of inheritance
ⓘ
formalization of substitutability in type systems ⓘ framework for reasoning about object-oriented program correctness ⓘ link between type hierarchies and behavioral specifications ⓘ |
| coreConcept |
clients of a supertype should work with any subtype without modification
ⓘ
invariants of supertype must be preserved by subtype ⓘ postconditions of subtype methods must be at least as strong as those of supertype ⓘ preconditions of subtype methods cannot be stronger than those of supertype ⓘ specifications define required behavior for subtyping ⓘ subtype must preserve behavioral properties of supertype ⓘ subtyping relates specifications, not just implementations ⓘ |
| defines |
behavioral notion of subtyping
ⓘ
subtyping in terms of behavioral substitutability ⓘ |
| emphasizes | substitutability of subtypes for supertypes ⓘ |
| field |
computer science
ⓘ
programming languages ⓘ type theory ⓘ |
| hasNamedPrinciple | Liskov Substitution Principle NERFINISHED ⓘ |
| impact |
considered a classic in programming languages research
ⓘ
shaped understanding of safe reuse via inheritance ⓘ underpins reasoning about inheritance and interfaces ⓘ widely cited in software engineering literature ⓘ |
| influenced |
design of programming language type systems
ⓘ
formal methods for object-oriented software ⓘ modern object-oriented type systems ⓘ research on behavioral subtyping ⓘ |
| introduces | Liskov Substitution Principle NERFINISHED ⓘ |
| languageAgnostic | true ⓘ |
| proposes | subtype relation based on behavior rather than representation ⓘ |
| relatedTo |
Liskov substitution principle
NERFINISHED
ⓘ
abstract data types ⓘ interface specification ⓘ object-oriented design principles ⓘ |
| title | A Behavioral Notion of Subtyping NERFINISHED ⓘ |
| topic |
behavioral subtyping
ⓘ
data abstraction ⓘ object-oriented programming ⓘ specification and verification ⓘ subtyping ⓘ |
| underpins |
design of interface hierarchies in object-oriented languages
ⓘ
formal reasoning about polymorphism ⓘ |
How these facts were elicited
The pipeline generated the facts above by prompting gpt-5.1 with this entity's name + description and the instruction below.
You are a knowledge base construction expert. Given a subject entity and a description of it, return factual statements that you know for the subject as a JSON list of dictionaries(triples), where keys must be "subject", "predicate" and "object". The number of facts may be very high, between 25 to 50 or more, for very popular subjects. For less popular subjects, the number of facts can be very low, like 5 or 10. # Requirements - If you don't know the subject at all, return an empty list. - If the subject is not a named entity, return an empty list. - Include at least one triple where predicate is "instanceOf". - Do not get too wordy. - Separate several objects into multiple triples with one object.
Subject: A Behavioral Notion of Subtyping Description of subject: "A Behavioral Notion of Subtyping" is a foundational computer science paper by Barbara Liskov and Jeannette Wing that formally defines subtyping in terms of behavioral substitutability, underpinning modern object-oriented type theory.
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.