c
play

c } false loop body P (postcondition) Loop Invariant Defn : A - PowerPoint PPT Presentation

while (c) { loop body true c } false loop body P (postcondition) Loop Invariant Defn : A boolean condition that is checked immediately before every evaluation of the loop guard . while (c) I //@loop_invariant I; true c { loop


  1. while (c) { loop body true c } false loop body P (postcondition)

  2. Loop Invariant • Def’n : A boolean condition that is checked immediately before every evaluation of the loop guard .

  3. while (c) I //@loop_invariant I; true c { loop body false } //@assert P; loop body P (postcondition)

  4. Loop Invariant • Def’n : A boolean condition that is checked immediately before every evaluation of the loop guard . • It is true even if the loop runs 0 times (i.e. is skipped). • It is true immediately before each evaluation of the loop guard, including the last evaluation if the loop terminates. • It is true immediately after the loop terminates, if the loop terminates.

  5. 1. INIT I Show that the loop true c invariant I is true immediately before false the first evaluation of the loop guard C. loop body P (postcondition)

  6. 2. PRESERVATION I Show that if the loop invariant I is true true c immediately before the evaluation of the false loop guard C, then I is true immediately loop before the next body evaluation of the loop guard C. P (postcondition)

  7. 3. EXIT I Once we have a true c valid loop invariant, we can show that the false logical conjunction of the loop invariant I and the negation of loop the loop guard C body implies the desired postcondition P: P (postcondition) I ^ ~ C  P

  8. 4. TERMINATION Show that the loop true c will always terminate (i.e. that C must false eventually be false). loop body P (postcondition)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend