Hoare-Inferenzregeln (Sequenz, If, Konsequenz)

Regeln zum Zusammensetzen von Programmteilen:

  1. Sequenzregel:{P}S1{R},{R}S2{Q}{P}S1;S2{Q}Die Nachbedingung des ersten Teils ist Vorbedingung des zweiten.
  2. Rule of Consequence (Konsequenzregel):PP,{P}S{Q},QQ{P}S{Q}Erlaubt Verschärfung der Vorbedingung (PP) und Abschwächung der Nachbedingung (QQ).
  3. If-Regel:{PB}S1{Q},{P¬B}S2{Q}{P} if B then S1 else S2 fi {Q}Beweist beide Zweige unter der Annahme der Bedingung bzw. deren Negation.