Presentation is loading. Please wait.

Presentation is loading. Please wait.

Reduced Functional Consistency of Uninterpreted Functions.

Similar presentations


Presentation on theme: "Reduced Functional Consistency of Uninterpreted Functions."— Presentation transcript:

1 Reduced Functional Consistency of Uninterpreted Functions

2 Technion 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.

3 Technion Example: Circuit Transformations = ?

4 Technion 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: x 1 = x 1 ’ Æ … Æ x n = x n ’ ! f ( x 1,…, x n ) = f ( x 1 ’,…, x n ’) Sometimes, functional consistency is all that is needed for the proof.

5 Technion 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 the same function. UFs  Equality Logic: Ackermann’s reduction F 2 ( F 1 ( x )) = 0 f 2 = 0 F ( ), G ( ),… (( x = f 1 )  f 1 = f 2 )  f 2 =0) Given a formula  UF with uninterpreted functions f1f1 f2f2

6 Technion Ackermann’s reduction : Example Given the formula ( x 1  x 2 ) Ç ( F ( x 1 ) = F ( x 2 )) Ç ( F ( x 1 )  F ( x 3 )) which we want to check for validity, we first number the function instances: ( x 1  x 2 ) Ç ( F 1 ( x 1 ) = F 2 ( x 2 )) Ç ( F 1 ( x 1 )  F 3 ( x 3 ))

7 Technion Ackermann’s reduction : Example ( x 1  x 2 ) Ç ( F 1 ( x 1 ) = F 2 ( x 2 )) Ç ( F 1 ( x 1 )  F 3 ( x 3 )) Replace each function with a new variable, ( x 1  x 2 ) Ç ( f 1 = f 2 ) Ç ( f 1  f 3 ) Condition with Functional Consistency constraints:

8 Technion 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:

9 Technion 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.

10 Technion The solution Find FC’ ½ FC such that

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


Download ppt "Reduced Functional Consistency of Uninterpreted Functions."

Similar presentations


Ads by Google