{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

lec32a-HoareLogicInvariants.pdf

lec32a-HoareLogicInvariants.pdf - BITS Pilani Pilani Campus...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon
BITS Pilani Pilani Campus MODULE: PROGRAM VERIFICATION Floyd-Hoare Logic: Verifying Loops: Loop Invariants Sundar B. CS&IS, BITS Pilani 0 20-11-2016 CS/IS F214 Logic in Computer Science
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Hoare Logic Basic Method Hoare Logic reduces basic correctness argument for a program /* Precondition: Input x satisfies some properties */ A(x) /* Postcondition: Running A on x results in ... */ to each statement in a program: /* p0 */ S1 /* p1 */ S2 /* p2 * / ... /* pN */ 20-11-2016 1 Sundar B. CS&IS, BITS Pilani such that pN is the required post-condition and p0 is the given precondition. How would this approach work for iterative statements (i.e. loops)? How many iterations will one go through?
Background image of page 2
Hoare Logic Rule for Iterations Invariants Rule for Iterative Statement < φ B, S , φ> ----------------------------------------- <φ, while B do { S } , φ   B> Alternatively /* Precondition: φ */ while (B) do { /* φ B */ S /* φ */ } /* Postcondition: φ   B */ 20-11-2016 2 Sundar B. CS&IS, BITS Pilani This premise states that φ remains invariant (i.e. unchanged) over one iteration.
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}