By Appel A.W., et al.

Show description

Read Online or Download Program Logics for Certified Compilers PDF

Best compilers books

Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity

Joel Spolsky all started his mythical net log, www. joelonsoftware. com, in March 2000, that allows you to provide insights for making improvements to the realm of programming. Spolsky established those observations on years of private adventure. the outcome only a handful of years later? Spolsky's technical wisdom, caustic wit, and notable writing talents have earned him prestige as a programming guru!

From Linear Operators to Computational Biology Essays in Memory of Jacob T. Schwartz

Foreword. - creation. - Nature as Quantum laptop. - Jack Schwartz Meets Karl Marx. - SETL and the Evolution of Programming. - determination approach for basic Sublanguages of Set idea XVII: as a rule taking place Decidable Extensions of Multi-level Syllogistic. - Jack Schwartz and Robotics: The Roaring Eighties.

Principles of Compilers: A New Approach to Compilers Including the Algebraic Method

"Principles of Compilers: a brand new method of Compilers together with the Algebraic approach" introduces the tips of the compilation from the usual intelligence of people through evaluating similarities and modifications among the compilations of ordinary languages and programming languages. The notation is created to checklist the resource language, aim languages, and compiler language, vividly illustrating the multilevel approach of the compilation within the strategy.

Formal Techniques for Safety-Critical Systems: Third International Workshop, FTSCS 2014, Luxembourg, November 6-7, 2014. Revised Selected Papers

This e-book constitutes the refereed lawsuits of the 3rd foreign Workshop on Formal options for Safety-Critical platforms, FTSCS 2014, held in Luxembourg, in November 2014. The 14 revised complete papers provided including invited talks have been conscientiously reviewed and chosen from forty submissions.

Extra info for Program Logics for Certified Compilers

Sample text

INTUITIONISTIC SEPARATION LOGIC. For reasoning about languages with explicit deallocation, one wants rules such as {p x}free(p){emp}, and one often thinks of an assertion Q as holding on a heaplet with a precise domain; this is called classical separation logic. For reasoning about languages with automatic garbage collection, there is no rule for free, and one often thinks of Q as holding on any heaplet with at least a certain domain; this is called intuitionistic separation logic. In the intuitionistic style, one has Q ∗ true = Q, which is not true in classical style; and emp is not a useful concept in the intuitionistic style (because it is equivalent to true).

SOUNDNESS OF HOARE LOGIC 31 Lemma floyd-assign: ∀ (P: h-assert) (x: var) (e: expr), (∀ ρ , P ρ → ∃ v, eval e v ρ ) → Hoare P (Cassign x e) (fun ρ ⇒ ∃ v, ∃ v’, eval (Evar x) v ρ ∧ subst x v’ (eval e v) ρ ∧ subst x v’ P ρ ). Compare this lemma to Floyd’s assignment rule shown on page 29. To prove it, we unfold the definition of Hoare and guard to obtain the proof goal, P : h-assert x : var e : expr H : ∀ ρ : stack, P ρ → ∃ v : val, eval e v ρ k : command H0 : guard (fun ρ : stack ⇒ ∃ v : val, ∃ v’ : option val, eval (Evar x) v ρ ∧ subst x v’ (eval e v) ρ ∧ subst x v’ P ρ ) k ρ : stack H1 : P ρ --------------------------------------(1/1) safe (State ρ m0 (Cseq (Cassign x e) k)) Now, we can use H ρ H1 to find v such that ρ ⊢ e ⇓ v.

That is, the chain of list cells x y is the representation in memory of σ. listrep σ (x, y) = (x = y ∧ σ = ε ∧ emp) ∨(x ̸= y ∧ ∃σ′ ∃h ∃t. next t ∗ listrep σ′ (t, y)) σ y. We will notate listrep σ (x, y) as x Now we are ready to prove the list-reversal program. next = w; w = v; v = t; } rev σ assert{w 0} As usual in Hoare logic, we need a loop invariant: ∃σ1 , σ2 . σ = rev(σ1 ) · σ2 ∧ v σ2 0∗w σ1 0 This separation-logic formula describes w v the picture in which the original sequence σ can be viewed as the concatenation of some σ1 (reversed) and some σ2 —we use · to denote se- 3.

Download PDF sample

Program Logics for Certified Compilers by Appel A.W., et al.
Rated 4.27 of 5 – based on 14 votes