lemma strengthen_pre: "\ \s. P' s \ P s; \ {P} c {Q} \ \ \ {P'} c {Q}" by (blast intro: conseq)
lemma weaken_post: "\ \ {P} c {Q}; \s. Q s \ Q' s \ \ \ {P} c {Q'}" by (blast intro: conseq)
text‹The assignment and While rule are awkward tousein actual proofs
because their preand postcondition are of a very special form and the actual
goal would haveto match this form exactly. Therefore we derive two variants with arbitrary preand postconditions.›
lemma Assign': "\s. P s \ Q(s[a/x]) \ \ {P} x ::= a {Q}" by (simp add: strengthen_pre[OF _ Assign])
lemma While': assumes"\ {\s. P s \ bval b s} c {P}"and"\s. P s \ \ bval b s \ Q s" shows"\ {P} WHILE b DO c {Q}" by(rule weaken_post[OF While[OF assms(1)] assms(2)])
end
Messung V0.5
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.