Behavioral Rewrite Systems and Behavioral Productivity

Slides:



Advertisements
Similar presentations
Introduction The concept of transform appears often in the literature of image processing and data compression. Indeed a suitable discrete representation.
Advertisements

10 October 2006 Foundations of Logic and Constraint Programming 1 Unification ­An overview Need for Unification Ranked alfabeths and terms. Substitutions.
1 1 Regression Verification for Multi-Threaded Programs Sagar Chaki, SEI-Pittsburgh Arie Gurfinkel, SEI-Pittsburgh Ofer Strichman, Technion-Haifa Originally.
Normal Forms and Infinity Stefan Kahrs, Connor Smith University of Kent.
Lecture 6 Hyperreal Numbers (Nonstandard Analysis)
A Semantic Characterization of Unbounded-Nondeterministic Abstract State Machines Andreas Glausch and Wolfgang Reisig 1.
Introduction to Computability Theory
Introduction to Code Optimization Comp 412 Copyright 2010, Keith D. Cooper & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at Rice.
Denotational vs Operational Approaches COS 441 Princeton University Fall 2004.
Department of mathematics and computer science 1 of 21 Rob van Glabbeek (Sydney) Marc Voorhoeve (TUE) Liveness, Fairness and Impossible Futures.
Introduction to Gröbner Bases for Geometric Modeling Geometric & Solid Modeling 1989 Christoph M. Hoffmann.
1 State Reduction: Row Matching Example 1, Section 14.3 is reworked, setting up enough states to remember the first three bits of every possible input.
Chapter 14 Programming With Streams. Streams  A stream is an infinite sequence of values.  We could define a special data type for them: data Stream.
Proof by Deduction. Deductions and Formal Proofs A deduction is a sequence of logic statements, each of which is known or assumed to be true A formal.
Winter 2012SEG Chapter 11 Chapter 1 (Part 2) Introduction to Requirements Modeling.
1 Introduction to Parsing Lecture 5. 2 Outline Regular languages revisited Parser overview Context-free grammars (CFG’s) Derivations.
Part I of the Fundamental Theorem says that we can use antiderivatives to compute definite integrals. Part II turns this relationship around: It tells.
In section 11.9, we were able to find power series representations for a certain restricted class of functions. Here, we investigate more general problems.
© Kenneth C. Louden, Chapter 11 - Functional Programming, Part III: Theory Programming Languages: Principles and Practice, 2nd Ed. Kenneth C. Louden.
Understanding and using patterns in software development EEL 6883 Software Engineering Vol. 1 Chapter 4 pp Presenter: Sorosh Olamaei.
2G1516 Formal Methods2005 Mads Dam IMIT, KTH 1 CCS: Processes and Equivalences Mads Dam Reading: Peled 8.5.
All-Path Reachability Logic Andrei Stefanescu 1, Stefan Ciobaca 2, Radu Mereuta 1,2, Brandon Moore 1, Traian Serbanuta 3, Grigore Rosu 1 1 University of.
Determine the number and type of roots for a polynomial equation
Behavioral Extensions of Institutions Andrei Popescu Grigore Roşu University of Illinois at Urbana-Champaign.
Process Algebra (2IF45) Basic Process Algebra Dr. Suzana Andova.
1 Equality of Streams is a Problem Grigore Rosu University of Illinois at Urbana-Champaign.
Certifying and Synthesizing Membership Equational Proofs Patrick Lincoln (SRI) joint work with Steven Eker (SRI), Jose Meseguer (Urbana) and Grigore Rosu.
Introduction to Parsing
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
1 Representing and Reasoning on XML Documents: A Description Logic Approach D. Calvanese, G. D. Giacomo, M. Lenzerini Presented by Daisy Yutao Guo University.
Probability plots.
Introduction to Optimization
Week 9 4. Method of variation of parameters
Research Methods Dr. X.
Introduction to Parsing (adapted from CS 164 at Berkeley)
Schema Refinement and Normal Forms
Hans Bodlaender, Marek Cygan and Stefan Kratsch
Matching Logic An Alternative to Hoare/Floyd Logic
MATH 245 Spring 2009 This is mathematics for computer science
Ch 10.1: Two-Point Boundary Value Problems
Overview Part 1 – Gate Circuits and Boolean Equations
Introduction to Logic for Artificial Intelligence Lecture 1
(One-Path) Reachability Logic
The Derivative Chapter 3.1 Continued.
By Dr. Abdulrahman H. Altalhi
University of Washington Computer Programming I
Apply the Fundamental Theorem of Algebra Lesson 2.7
Introduction to Optimization
Functional Verification I
Information Security CS 526
Implementing Mapping Composition
Generating Optimal Linear Temporal Logic Monitors by Coinduction
Grigore Rosu Mahesh Viswanathan
Iteration Implemented through loop constructs (e.g., in C++)
The Fundamental Theorem of Algebra And Zeros of Polynomials
Subscript and Summation Notation
Finite-Trace Linear Temporal Logic: Coinductive Completeness
Controllability and Observability of Linear Dynamical Equations
Information Security CS 526
Introduction to Optimization
Superposition Theorem.
Introduction to Requirements Modeling
Towards a Unified Theory of Operational and Axiomatic Semantics
Language-Independent Verification Framework
Information Security CS 526
Part 7. Phantoms: Legal States That Cannot Be Constructed
Welcome to ALGEBRA 1 w 3 m ke i+ c unt.
Instructor: Aaron Roth
Lesson 9: Basic Monte Carlo integration
Presentation transcript:

Behavioral Rewrite Systems and Behavioral Productivity Grigore Rosu (University of Illinois at Urbana-Champaign, USA) Dorel Lucanu (University Alexandru Ioan Cuza, Iasi, Romania)

Thanks Kokichi! For my PhD with Joseph Goguen at the University of California I was supported by the CafeOBJ project as a Research Assistant For advice and guiding during my PhD and … many times afterwards Today’s presentation is a result of my work under the CafeOBJ project

Behavioral Abstraction How a system behaves under a given set of obsevations/experiments Abstracts away from internal implementation details Important examples of behavioral abstraction (proposed in early 80’s) Behavioral equivalence (Reichel, Tarlecki, Goguen, Wirsing, Hennicker,…) Indistinguishability under experiments CafeOBJ, BOBJ, Bmaude, CIRC, (co)CASL, etc Productivity (Dijsktra, and many others afterwards) Unlimited progress (infinite behavior = limit of continuous evaluation/rewriting) Originally for streams We want a unified, common ground for the above

Behavioral Equivalence (~1980) Behavioral signature is a pair (∑,∆) where ∑ is an algebraic signature ∆ is a set of ∑-contexts, called derivatives (observers) If δ[*:h] ϵ ∆ then sort h is hidden H is the hidden sorts; V is the rest of sorts, called visible ∆-experiment is a ∆ -context of visible sort Behavioral specification B = (∑,∆,E), with E a set of ∑-equations Behavioral equivalence B |≡ t=t’ iff B |= C[t]=C[t’] for all ∆-experiments C ϵ ∆ :h * = for all t t’ *

Behavioral Specification – Example: Streams Sorts Data (say Bit) and Stream ∑ ∆ or , etc. E

Behavioral Equivalence – Example: Streams We can priove streams s and s’ are behavioral equivalent iff for all n Examples of behavioral equivalence:

Productivity (Dijkstra ~1980) Originally defined for streams; many definitions since then Stream TRS Sorts Data and Stream Operation _:_ : Data x Stream -> Stream, plus others Rewrite rules: Stream TRS R is productive iff for all streams s

The Two Notions are Related So both behavioral equivalence and productivity aim at defining infinite behaviors. Yet, despite common intuitions and ultimate goal, the two notions have lived separate lives.

Our Main Contribution We attempt to bring behavioral equivalence and productivity together Introduce the notion of behavioral rewrite system Define behavioral productivity for such systems Reduce productivity to standard termination Investigate the complexity of the behavioral productivty We counted more than 10 different variations of productivity Instead of unifying them, we attempt to capture the essence of the notion Maybe the relationship to behavioral equivalence gives insights on what the right notion or productivity should be?

Behavioral Rewrite Systems Same like behavioral specification, but replace = with →; e.g.: ∑ ∆ or , etc. R

Behavioral Termination, Coinductivity, Productivity Behavioral TRS (∑,∆,R) terminates iff (∑,R) terminates as normal TRS (∑,∆,R) is coinductive iff δ[f(x)] is not a normal form for any f : s -> h in ∑ - ∆ and for any derivative/observer δ ϵ ∆ Dual to sufficient completeness: behavior of f defined for all observers (∑,∆,R) productive for t iff for any ∆-experiment C, we have C[t] =>* d for some ∑|V U ∆ term d; (∑,∆,R) productive iff productive for all t All these notions work with any behavioral rewrite systems, not only with streams; for example, with infinite trees, processes, etc.

Examples Behaviorally terminating, coinductive and productive: So is the following: but not with some conventional (adhoc) definitions of productivity Behaviorally coinductive, productive, but non-terminating: Tricky non-coinductive and non-productive examples; see paper

Behavioral Productivity vs Stream Productivity Theorem: For the particular behavioral TRS of streams, behavioral productivity is stream productivity. Stream productivity  Behavioral productivity Add Behavioral productivity  Stream productivity Add lazy constructor and rule But behavioral productivity works with any behavioral rewrite system, so it is more general than stream productivity

Termination and Coinductivity  Productivity Theorem: If B=(∑,∆,R) is behaviorally terminating and coinductive, then B is productive. Coinductivity is trivial to check, and termination of (∑,R) can be checked using conventional termination tools (APPROVE, etc.) Related result by Zantema stating that termination implies model- theoretical well-definedness for certain restricted stream TRSes.

Behavioral Productivity is ∏20-complete Theorem: Behavioral productivity is ∏20-complete productive(t) iff (for any experiment C) (there exists terminating rewriting sequence for C[t]) … infinite … ∑1 = r.e. ∏1 = r.e. r. ∑2 ∏2 x

Conclusion Behavioral Rewrite Systems Behavioral Productivity Results: Rewriting used to evaluate observations/experiments Behavioral Productivity Each experiment can be fully evaluated Results: Behavioral productivity generalizes stream productivity Reduction of behavioral productivity to ordinary termination So off-the-shelf termination tools can be used to check behavioral productivity Behavioral productivity = behavioral well-definedness (see paper) Behavioral productivity is ∏20