Translation Validation via Linear Recursion Schemes Master Seminar Tobias Tebbi.

Slides:



Advertisements
Similar presentations
If each equation in a system of equations is linear, then we have a system of linear equations.
Advertisements

CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Lecture 24 MAS 714 Hartmut Klauck
Linear Programming Problem
Backtrack Algorithm for Listing Spanning Trees R. C. Read and R. E. Tarjan (1975) Presented by Levit Vadim.
Algorithms + L. Grewe.
1 Policies for POMDPs Minqing Hu. 2 Background on Solving POMDPs MDPs policy: to find a mapping from states to actions POMDPs policy: to find a mapping.
Discovering Affine Equalities Using Random Interpretation Sumit Gulwani George Necula EECS Department University of California, Berkeley.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
1 Combinatorial Search Spring 2008 (Fourth Quarter)
Pursuit Evasion as presented in Megiddo et al. 1988: „The complexity of searching a graph“ Sebastian Blohm.
Solving System of Equations Using Graphing
Chapter 4 Section 2 Copyright © 2011 Pearson Education, Inc.
Unit 1. Sorting and Divide and Conquer. Lecture 1 Introduction to Algorithm and Sorting.
EXAMPLE 3 Write an equation for a function
Thinking Mathematically Algebra: Graphs, Functions and Linear Systems 7.3 Systems of Linear Equations In Two Variables.
Math 71A 3.1 – Systems of Linear Equations in Two Variables 1.
CMPS 3223 Theory of Computation Automata, Computability, & Complexity by Elaine Rich ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slides provided.
Functions Functions. A function is a rule that relates two quantities so that each input value corresponds to exactly one output value. Define-
Swarat Chaudhuri Roberto Lublinerman Pennsylvania State University Sumit Gulwani Microsoft Research CAUCHY Continuity analysis of programs.
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style COMPILER DESIGN Review Joey Paquet,
1 Joe Meehean.  Log: binary search in sorted array  Linear: traverse a tree  Log-Linear: insert into a heap  Quadratic (N 2 ): your sort from P1 
- r r Saturation-Based Decision Procedures and Complexity Analysis Yevgeny Kazakov R. 615 Applications Add semantic markup to a.
CSC 413/513: Intro to Algorithms NP Completeness.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Algorithms & Flowchart
Math /4.2/4.3 – Solving Systems of Linear Equations 1.
Answer these:  1. If two lines intersect, how many solutions exist?  2. If a system of two linear equations has no solution, what is true of their graphs?
Notes Over 2.1 Graphing a Linear Equation Graph the equation.
Solving Linear Equations Define and use: Linear Equation in one variable, Solution types, Equivalent Equations.
1 First order theories (Chapter 1, Sections 1.4 – 1.5) From the slides for the book “Decision procedures” by D.Kroening and O.Strichman.
Computability NP complete problems. Space complexity. Homework: [Post proposal]. Find PSPACE- Complete problems. Work on presentations.
1Computer Sciences Department. Objectives Recurrences.  Substitution Method,  Recursion-tree method,  Master method.
SystemsOfInequalities. 7-1 Solving Systems by Graphing What is a system of linear equations? “SOLUTION” No solution Infinitely Many Solutions Page 342.
On the Hardness of Optimal Vertex Relabeling and Restricted Vertex Relabeling Amihood Amir Benny Porat.
Graphing Linear Equations 4.2 Objective 1 – Graph a linear equation using a table or a list of values Objective 2 – Graph horizontal or vertical lines.
STROUD Worked examples and exercises are in the text Programme 10: Sequences PROGRAMME 10 SEQUENCES.
Chapter 3 Polynomial and Rational Functions Copyright © 2014, 2010, 2007 Pearson Education, Inc Polynomial and Rational Inequalities.
Turing Machines Sections 17.6 – The Universal Turing Machine Problem: All our machines so far are hardwired. ENIAC
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
Great Theoretical Ideas in Computer Science.
Certifying and Synthesizing Membership Equational Proofs Patrick Lincoln (SRI) joint work with Steven Eker (SRI), Jose Meseguer (Urbana) and Grigore Rosu.
Warm-Up Solve the system by graphing y = x + 2 x = −3 Solve the system by graphing 4x + y = 2 x − y = 3.
Algebra 2 Chapter 3 Review Sections: 3-1, 3-2 part 1 & 2, 3-3, and 3-5.
Quick Course Overview Quick review of logic and computational problems
Systems of Equations can be linear or non-linear
Slope Intercept form. Geometry Unit 2-3, 2-4 Equations of lines Parallel and perpendicular slopes.
Given Slope & y-Intercept
Programming Languages Translator
4.8 Functions and Relations
Notes Over 4.2 Is a Solution Verifying Solutions of an Equation
Propositional Calculus: Boolean Algebra and Simplification
لجنة الهندسة الكهربائية
Solve a system of linear equation in two variables
Use back - substitution to solve the triangular system. {image}
مفاهیم بهره وري.
7.1 System of Equations Solve by graphing.
Chapter 4 Systems of Linear Equations; Matrices
Warm-up: Find the equation of the parabola y = ax2 + bx + c that passes through the given points: (-1, 4), (1, -6), (2, -5) CW: 7.1 – 7.3 Systems Quiz.
Define evaluate and compare functions
Meaning of Slope for Equations, Graphs, and Tables
Graphing and Writing Equations in Standard Form
Linear Programming Problem
Systems of Equations Solve by Graphing.
Linear, non linear, and non functions
6.2 Using Substitution to Solve Systems
5.4 Finding Linear Equations
Heuristic Search Viewed as path Finding in a Graph
Presentation transcript:

Translation Validation via Linear Recursion Schemes Master Seminar Tobias Tebbi

Translation Validation Goal Verified Compiler MethodImplement Validator that checks if input and output of compiler pass are equivalent. NeedsDecidable sufficient criterion for program equivalence

CPS Control Flow Graph

Unfolding the Procedures if

Program Equivalence If trees equal, then programs equivalent. This is decidable! [Sabelfeld2000] Many optimizations do not change the tree. It does not matter – which arguments/variables/registers are used. – when values are computed. But the branching structure does matter, e.g. which test is done first.

Linear Recursion Scheme Restriction with polynomial equivalence check linear: nesting forbidden

Simplifications for this Talk

Equality of Infinite Trees

Substitutions

Finite Equivalence Proofs

Unification

Universal Finite Equivalence Proofs

Decidability of Equivalence Equivalence of terms is semi-decidable. Non-equivalence is semi-decidable too: the trees must differ at some finite level. Thus equivalence is decidable. In the next talks, I will present an efficient procedure to decide equivalence by reducing the problem to a fragment of semi-unification.

Literature Fokkink, W. Unification for infinite sets of equations between finite terms. Information processing letters 62, 4 (1997), 183–188. Sabelfeld, V. The tree equivalence of linear recursion schemes. Theoretical Computer Science 238, 1–2 (2000), 1–29.