An Axiomatic Basis for Computer Programming
E459518
"An Axiomatic Basis for Computer Programming" is a seminal 1969 paper by C.A.R. Hoare that introduced the formal logical system now known as Hoare logic for reasoning about program correctness.
All labels observed (1)
| Label | Occurrences |
|---|---|
| An Axiomatic Basis for Computer Programming canonical | 1 |
Statements (47)
| Predicate | Object |
|---|---|
| instanceOf |
computer science paper
ⓘ
scientific paper ⓘ seminal work ⓘ |
| approach |
axiomatic
ⓘ
logic-based reasoning about programs ⓘ |
| author |
C. A. R. Hoare
NERFINISHED
ⓘ
Tony Hoare NERFINISHED ⓘ |
| citedAs | Hoare 1969 NERFINISHED ⓘ |
| coreConcept |
assertion
ⓘ
assignment axiom ⓘ composition rule ⓘ conditional rule ⓘ consequence rule ⓘ inference rule ⓘ iteration rule ⓘ loop invariant ⓘ partial correctness ⓘ postcondition ⓘ precondition ⓘ proof of program correctness ⓘ total correctness ⓘ |
| defines | Hoare triple NERFINISHED ⓘ |
| field |
computer science
ⓘ
formal methods ⓘ program verification ⓘ programming languages ⓘ |
| goal | provide logical foundations for proving program correctness ⓘ |
| historicalSignificance |
helped establish program verification as a research area
ⓘ
one of the earliest formal systems for reasoning about imperative programs ⓘ |
| HoareTripleForm | {P} C {Q} ⓘ |
| influenced |
design of verification tools
ⓘ
formal verification ⓘ programming language theory ⓘ software engineering ⓘ |
| introduced |
Hoare logic
NERFINISHED
ⓘ
axiomatic approach to program verification ⓘ |
| language | English ⓘ |
| publicationYear | 1969 ⓘ |
| publishedIn | Communications of the ACM NERFINISHED ⓘ |
| publisher | Association for Computing Machinery NERFINISHED ⓘ |
| relatedConcept |
Dijkstra weakest precondition calculus
NERFINISHED
ⓘ
axiomatic semantics of programming languages ⓘ |
| relatedWork | Communicating Sequential Processes NERFINISHED ⓘ |
| topic |
Hoare logic
NERFINISHED
ⓘ
axiomatic semantics ⓘ program correctness ⓘ |
| usesNotation | Hoare triple NERFINISHED ⓘ |
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.