Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  HeapSyntaxAbort.thy   Sprache: Isabelle

 

(*  Title:      HOL/Hoare/HeapSyntaxAbort.thy
    Author:     Tobias Nipkow
    Copyright   2002 TUM
*)


section ‹Heap syntax (abort)›

theory HeapSyntaxAbort
  imports Hoare_Logic_Abort Heap
begin

subsection "Field access and update"

text‹Heap update ‹p^.h := e› is now guarded against term‹p›
  Null. However, term‹p› may still be illegal,
 .g. uninitialized or dangling. To guard against that, one needs a
  detailed model of the heap where allocated and free addresses are
 , e.g. by making the heap a map, or by carrying the set
  free addresses around. This is needed anyway as soon as we want to
  about storage allocation/deallocation.
›

syntax
  "_refupdate" :: "('a → 'b) → 'a ref → 'b → ('a → 'b)"
   (‹(‹open_block notation=‹mixfix Hoare ref update››_/'((_ → _)'))› [1000,0] 900)
  "_fassign"  :: "'a ref => id => 'v => 's com"
   (‹(‹indent=2 notation=‹mixfix Hoare ref assignment››_^._ :=/ _)› [70,1000,65] 61)
  "_faccess"  :: "'a ref => ('a ref → 'v) => 'v"
   (‹(‹open_block notation=‹infix Hoare ref access››_^._)› [65,1000] 65)
translations
  "_refupdate f r v" == "f(CONST addr r := v)"
  "p^.f := e" => "(p ≠ CONST Null) → (f := _refupdate f p e)"
  "p^.f" => "f(CONST addr p)"


declare fun_upd_apply[simp del] fun_upd_same[simp] fun_upd_other[simp]


text "An example due to Suzuki:"

lemma "VARS v n
  {w = Ref w0 & x = Ref x0 & y = Ref y0 & z = Ref z0 &
   distinct[w0,x0,y0,z0]}
  w^.v := (1::int); w^.n := x;
  x^.v := 2; x^.n := y;
  y^.v := 3; y^.n := z;
  z^.v := 4; x^.n := z
  {w^.n^.n^.v = 4}"
by vcg_simp

end

Messung V0.5 in Prozent
C=59 H=85 G=72

¤ Dauer der Verarbeitung: 0.14 Sekunden  (vorverarbeitet am  2026-09-29) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1126438
#Domains=1897691