next up previous
Next: Mechanizing the Hoare calculus Up: The Hoare Calculus Previous: Weakest liberal precondition

Expressiveness and completeness

A data structure is called expressive, if the previous infinite disjunction is always first order definable. It turns out that standard arithmetic is expressive, whereas Presburger arithmetic is not. For expressive data structures, the Hoare calculus is relatively complete[3]. For a program C over an expressive data structure we therefore have :

displaymath1648



H.Peter Gumm