(* Title: HOL/Hoare/ExamplesAbort.thy Author: Tobias Nipkow Copyright 1998 TUM *) section ‹Some small examples for programs that may abort› theory ExamplesAbort imports Hoare_Logic_Abort begin lemma "VARS x y z::nat {y = z & z ≠ 0} z ≠ 0 → x := y div z {x = 1}" by vcg_simp lemma "VARS a i j {k <= length a & i < k & j < k} j < length a → a[i] := a!j {True}" by vcg_simp lemma "VARS (a::int list) i {True} i := 0; WHILE i < length a INV {i <= length a} DO a[i] := 7; i := i+1 OD {True}" by vcg_simp end