1 / 11

Reduced Functional Consistency of Uninterpreted Functions

Reduced Functional Consistency of Uninterpreted Functions. Equality logic with uninterpreted functions. formula : formula Ç formula | : formula | atom atom : term = term | Boolean-variable term : term-variable | function ( list of terms ).

edae
Download Presentation

Reduced Functional Consistency of Uninterpreted Functions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reduced Functional Consistency of Uninterpreted Functions

  2. Equality logic with uninterpreted functions • formula : formulaÇformula | :formula | atom • atom : term = term | Boolean-variable • term : term-variable | function ( list of terms ) term-variables are defined over some (possible infinite) domain. Note that constants are functions with empty list of terms. Technion

  3. Example: Circuit Transformations ? = Technion

  4. Uninterpreted Functions (UF’s) • The most general axiom for any function is functional consistency. • Example: if x = y, then f(x) = f(y) for any function f. • Functional consistency axiom scheme: x1=x1’ Æ … Æxn=xn’ !f(x1,…, xn) = f(x1’,…, xn’) • Sometimes, functional consistency is all that is needed for the proof. Technion

  5. F( ), G( ),… f1 F2(F1(x)) = 0 f2 f2 =0 UFs  Equality Logic: Ackermann’s reduction • For each function in UF: • Number function instances (from the inside out) • Replace each function instance with a new variable • Condition UF with a functional consistency constraint for every pair of instances of thesame function. Given a formula UF with uninterpreted functions ((x=f1) f1=f2 )  (f2=0) Technion

  6. Ackermann’s reduction : Example • Given the formula(x1x2) Ç (F(x1) =F(x2)) Ç (F(x1) F(x3))which we want to check for validity, we first number the function instances: (x1x2) Ç (F1(x1) =F2(x2)) Ç (F1(x1) F3(x3)) Technion

  7. Ackermann’s reduction : Example (x1x2) Ç (F1(x1) =F2(x2)) Ç (F1(x1) F3(x3)) • Replace each function with a new variable, (x1x2) Ç (f1 =f2 ) Ç (f1f3 ) • Condition with Functional Consistency constraints: Technion

  8. Ackermann’s reduction: summary • Let UF be the EUF formula representing the verification condition • After Ackermann’s reduction: • Let  be the result of replacing all UFs in UF with new variables • Let FC be the corresponding set of functional consistency constraints • Need to prove: Technion

  9. The problem and the setting • Ackermann’s reduction imposes a quadratic growth in the formula • Practically, we have formulas with hundreds of function instances, resulting in thousands of constraints. • No theorem-prover (as of 2002) could solve them. • Our own decision procedure: BDD based + range allocation. Technion

  10. The solution • Find FC’ ½ FC such that Technion

  11. The solution (cont’d) • Possible solution: Abstraction-refinement loop Technion

More Related