Eine aufbereitete Darstellung der Quelle

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

Benutzer

Impressum 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"

textHeap update p^.h := e is now guarded against termp
  Null. However, termp 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,0900)
  "_fassign"  :: "'a ref => id => 'v => 's com"
   ((indent=2 notation=mixfix Hoare ref assignment_^._ :=/ _) [70,1000,6561)
  "_faccess"  :: "'a ref => ('a ref 'v) => 'v"
   ((open_block notation=infix Hoare ref access_^._) [65,100065)
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

¤ 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.0.11Bemerkung:  (vorverarbeitet am  2026-06-30) ¤

*Bot Zugriff






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

Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik