On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which...

173
On Shostak’s Combination of Decision Procedures H. Rueß, N. Shankar, A. Tiwari ruess,shankar,tiwari @csl.sri.com http://www.csl.sri.com/. Computer Science Laboratory SRI International 333 Ravenswood Menlo Park, CA 94025 Shostak’s Combination (p.1 of 121)

Transcript of On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which...

Page 1: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

On Shostak’sCombination of DecisionProcedures

H. Rueß,N. Shankar, A. Tiwari

ruess,shankar,tiwari

�@csl.sri.com

http://www.csl.sri.com/.

ComputerScienceLaboratorySRI International333Ravenswood

MenloPark,CA 94025

Shostak’s Combination(p.1of 121)

Page 2: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

The Combination ProblemVerificationconditionstypically arein combinationofmany theories.

� Theoryof equality

� Arithmetic constraints

� Lists,Arrays,Bitvectors,. . .

Examples.

� � � � � � � � �� � � � � � � �� � � � � � ��

� � � � �� � � � � �� � �� � � � � �� � � � � � � ����

� � � �� � � �� � � �� � � � �� � � � � � � � �

� ����

Shostak’s Combination(p.2of 121)

Page 3: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

West-CoastTheoremProvingTheoremproverswhich rely heavily ondecisionproceduresfor automatingproofs.Historical.

� StanfordPascalVerifier

� Boyer-MooreTheoremProver

� Shostak’s TheoremProver (STP)

Curr ent. (Outline)

� Simplify, Java/ESC

� StanfordTemporalProver (STeP)

� StanfordValidity Checker (SVC)

� PVS Shostak’s Combination(p.3of 121)

Page 4: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

BackendDecisionProcedures

� Decisionproceduresusedasprover backend

� Logical context storedin adatabase

� Communicationvia ask/tellinterface

� Decisionprocedurefor equalityin acombinationoftheoriesbasedon

� NelsonandOppen’s [1979]

� Shostak’s [1984]

� Thesecombinationalgorithmsusevariantsofcongruenceclosurealgorithms

Shostak’s Combination(p.4of 121)

Page 5: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Outline

� AbstractCongruenceClosure

� Nelson-OppenCombination(NO)

� VariousApplicationsof NO

� ShostakTheories

� ShostakCombination

� CommentedBibliography

Shostak’s Combination(p.5of 121)

Page 6: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Outline

� AbstractCongruenceClosure

� Nelson-OppenCombination(NO)

� VariousApplicationsof NO

� ShostakTheories

� ShostakCombination

� CommentedBibliography

Shostak’s Combination(p.6of 121)

Page 7: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Language: SignaturesA signature, , is afinite setofFunctionSymbols : � � � � ��� � �

PredicateSymbols : ! � � � � � � � alongwith anarity function �" #$&% � ' .

Functionsymbolswith arity

arecalledconstantsanddenotedby � (� � � � , with possiblesubscripts.

A countableset of variablesis assumeddisjoint of .

Shostak’s Combination(p.7of 121)

Page 8: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Language: TermsTheset

� � �

of termsis thesmallestsets.t.

� ) � � �

, and

� �+*-, � � � � � */. � 0 � � �

whenever*-, � � � � � */. 0 � � �

and � " #$&% � � � 1.

Thesetof groundtermsis definedas

� � 2�

.

Shostak’s Combination(p.8of 121)

Page 9: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Language: Atomic FormulasAn atomicformula is anexpressionof theform

�+*, � � � � � *3. �

where is apredicatein s.t. � " #$&% � � � 1 and*, �� � � � * . 0 � � �

.

If

*, � � � � � */. aregroundterms,then� *, � � � � � */. �

is calledaground(atomic)formula.

Mostly, we assumea special binary predicate � to be

presentin .

Shostak’s Combination(p.9of 121)

Page 10: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Language: Logical SymbolsThesetof quantifier-freeformula(over ),

� � �, is

thesmallestsets.t.

� Every atomicformulais in

� � �,

� If 0 � � �

, then 4 0 � � �,

� If , � 5 0 � � �

, then

, 6 5 0 � � �

, 7 5 0 � � �

, 5 0 � � �

, 5 0 � � ��

An atomicformulaor its negationis a literal.Shostak’s Combination(p.10of 121)

Page 11: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Language: Sentence,TheoryTheclosureof

� � �

underexistential(

8

) anduniversal(

9

) quantificationdefinesthesetof (first-order)formulas.

A sentenceis aFO formulawith no freevariables.

A (first-order) theory (over asignature ) is asetof(deductively closed)setof sentences(over and ).

A theory is consistentif � ���� 0 .

Dueto completenessof first-orderlogic, wecanidentify aaFO theory with theclassof all modelsof .

Shostak’s Combination(p.11of 121)

Page 12: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

SemanticCharacterizationA model is definedby a

� Domain : setof elements

� Interpretation

:;� . ' for each 0 � with� " #$ % � � � 1

� Interpretation

: .

for each 0 ! with� " #$ % � � � 1

� Assignment � : 0 for eachvariable � 0

A formula is truein amodel if it evaluatesto trueunderthegiveninterpretationsover thedomain .

If all sentencesin a aretruein amodel , then is amodelfor thetheory .

Shostak’s Combination(p.12of 121)

Page 13: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Satisfiability and ValidityA formula

�< �� is satisfiablein a theory if thereis amodelof

= � 8< �� �< ��

, i.e., thereexistsamodel forin which evaluatesto true,denotedby,

> �?

This is alsocalled -satisfiability.

A formula

�< �� is valid in a theory if

9< �� �< �� 0 , i.e.,evaluatesto truein every model of . -validity is

denotedby

> �? .

is -unsatisfiableif it is not thecasethat

> �? .

Shostak’s Combination(p.13of 121)

Page 14: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Getting StartedCheckingvalidity of @ in a theory @:

A @-satisfiabilityof 4 @

A @-satisfiabilityof

< < �� , (PNF)

A , -satisfiabilityof

9< �� , (Skolemize)

A , -satisfiabilityof B (Instantiate)

A , -satisfiabilityof C C (DNF)

A , -satisfiabilityof C

C: conjunctionof literals

, : @ =

Theoryof equalityover UIFs

Shostak’s Combination(p.14of 121)

Page 15: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

PureTheory of Equality

= � (uninterpreted)= Deductive closureof axiomsof equality

Theorem1 Satisfiabilityof (quantifier-free)conjunctionof literals is decidablein

� 1 DFE G � 1� � -time.

Example. Let . Consider

Shostak’s Combination(p.15of 121)

Page 16: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

PureTheory of Equality

= � (uninterpreted)= Deductive closureof axiomsof equality

Theorem1 Satisfiabilityof (quantifier-free)conjunctionof literals is decidablein

� 1 DFE G � 1� � -time.

Example. Let � � H, I� � H 5 I � H @ I � ( H @ I

. Consider

� � ( 6 � � ( 6 � �

Shostak’s Combination(p.15of 121)

Page 17: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Illustration: -rules and -rules

(

-rulesrepresentthetermDAG:

J, J, J 5

J 5 J B J B JLK

( J+M � J, J+M J+N

JN JLO

Equationsarerepresentedas:

� � ( 6 � � (

J, � JPN 6 JLK � JLO

-rulesrepresentanequivalencerelationonvertices:

Thus, , i.e., is acontradiction.

Shostak’s Combination(p.16of 121)

Page 18: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Illustration: -rules and -rules

JQKJ B JLO

J 5 � J+N

J, ( JM

-rulesrepresentthetermDAG:

J, J, J 5

J 5 J B J B JLK

( J+M � J, J+M J+N

JN JLO

-rulesrepresentanequivalencerelationonvertices:

J, � JPN JLK � JLO

Thus, , i.e., is acontradiction.

Shostak’s Combination(p.16of 121)

Page 19: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Illustration: -rules and -rules

JQKJ B JLO

J 5 � J+N

J, ( JM

-rulesrepresentthetermDAG:

J, J, J 5

J 5 J B J B JLK

( J+M � J, J+M J+N

JN JLO

-rulesrepresentanequivalencerelationonvertices:

J, � JPN JLK � JLO

Thus, , i.e., is acontradiction.

Shostak’s Combination(p.16of 121)

Page 20: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Illustration: -rules and -rules

JQKJ B JLO

J 5 � J+N

J, ( JM

-rulesrepresentthetermDAG:

J, J, J 5

J 5 J B J B JLK

( J+M � J, J+M J+N

JN JLO

-rulesrepresentanequivalencerelationonvertices:

J, � JPN JLK � JLO

Thus, � ,i.e., JQK � J 5 is acontradiction.

Shostak’s Combination(p.16of 121)

Page 21: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Abstract CongruenceClosureFormalizingtheprocedure:

: setof new constants,denotedby J� R

: Subsetof useduntil nowS : orderingon

� : Finitesetsof groundequationsover

=

� � � �

: Stateof derivation� 2� @� 2�

: Initial state

Extension:

� � = �T � � J, � � � � � JVU � � � W � �

� = � J � = �T � J � � W � = � � J, � � � � � JU � J

if 0 , J 0 � , and J, � � � � � JVU 0 .Shostak’s Combination(p.17of 121)

Page 22: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Other Infer enceRules

Simplification:

� � = �T �* � � W � = � * J �

� � = �T � J � � W � = � * J �

Orientation:

� � = � J � R � �

� � � = � J R � if J S R

Deletion:

� � = � * � * � �

� � � �

Shostak’s Combination(p.18of 121)

Page 23: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Other Infer enceRules

Deduction:

� � � = � * J� * R �

� � � = � J R� * R � if J S R

Collapse:

� � � = �T � J � R� J J X �

� � � = �T � J X � R� J J X � if T � J � A J

Composition:

� � � = � * J� J R �

� � � = � * R� J R �

Shostak’s Combination(p.19of 121)

Page 24: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

DefinitionA groundrewrite system � =

is an(abstract)congruenceclosure (over and ) ) for if

1. For every constant , thereexistsa terms.t. ,

2. is a terminatingandconfluentrewrite system,

Shostak’s Combination(p.20of 121)

Page 25: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

DefinitionA groundrewrite system � =

is an(abstract)congruenceclosure (over and ) ) for if

1. For every constant J 0 , thereexistsa term* 0 � �

s.t.

* Y[Z J,

2. is a terminatingandconfluentrewrite system,

Shostak’s Combination(p.20of 121)

Page 26: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

DefinitionA groundrewrite system � =

is an(abstract)congruenceclosure (over and ) ) for if

1. For every constant J 0 , thereexistsa term* 0 � �

s.t.

* Y[Z J,2. is a terminatingandconfluentrewrite system,

thereis no infinite rewrite sequenceusing , andwhenever T Y\Z *

, it is alsothecasethat

T *

]*

* *

Shostak’s Combination(p.20of 121)

Page 27: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

DefinitionA groundrewrite system � =

is an(abstract)congruenceclosure (over and ) ) for if

1. For every constant J 0 , thereexistsa term* 0 � �

s.t.

* Y[Z J,2. is a terminatingandconfluentrewrite system,

3. and inducethesameequationaltheoryover ,i.e., for all termsT � * 0 � �

, wehave:

T Y^ *if andonly if T YZ *�

Shostak’s Combination(p.20of 121)

Page 28: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: Abstract ClosureLet

@ � � � � (� � � ( �Then,

� � (� � � (

Shostak’s Combination(p.21of 121)

Page 29: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: Abstract ClosureLet

@ � � � � (� � � ( �Then,

� � (� � � (

J, � J, J 5� J 5 J B� J B JQK � (

J+M � � J, JM JN � J+N JQO � J, J+N � JQK JQO

InferenceRuleUsed:Extension,Simplification,Orientation

Shostak’s Combination(p.21of 121)

Page 30: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: Abstract ClosureLet

@ � � � � (� � � ( �Then,

� � (� � � (

J, � J, J 5� J 5 J B� J B JQK � (

J+M � � J, JM JN � J+N JQO � J, J+N � JQK JQO

JN J 5

InferenceRuleUsed:Collapse

Shostak’s Combination(p.21of 121)

Page 31: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: Abstract ClosureLet

@ � � � � (� � � ( �Then,

� � (� � � (

J, � J, J 5� J 5 J B� J B JQK � (

J+M � � J, JM JN � J+N JQO � J, J+N � JQK JQO

JN J 5

J 5 JLO

InferenceRuleUsed:Deduction

Shostak’s Combination(p.21of 121)

Page 32: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: Abstract ClosureLet

@ � � � � (� � � ( �Then,

� � (� � � (

J, � J, J 5� J 5 J B� J B JQK � (

J+M � � J, JM JN � J+N JQO � J, J+N � JQK JQO

JN J 5

J 5 JLO

Thefinal abstractcongruenceclosure

Shostak’s Combination(p.21of 121)

Page 33: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Corr ectness:StatementIf is afinite setof equationsof size 1, then

1. Any derivationstartingfrom

� 2� @� 2�

reachesasaturatedstate

� _� 2� _� in afinite number

� 1� ofsteps.

2. Theset _ is anabstractcongruenceclosurefor @.3.

> _ > � � 1� andif J, S J 5 Sa` ` ` S Jcb is thelongestchaininducedby S over _, then

� 1� � � 1 d�

.

4. Usingastandardtrick,dcanbeboundedby� DFE G � 1� � .

5. For specialcases,d � � ��

.

Sizeof

e

is thelengthof stringrepresenting

ef is requiredto successfullyorientall generatedequations

Shostak’s Combination(p.22of 121)

Page 34: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Corr ectness:Soundness/Completeness

� Extension:If

� = � J � X� X�

is obtainedfrom� � � �

usingExtension,then

9T � * 0 � = �� T Yg^ih Z *

if f T Yg^j h Zj *�

� All otherrulesarestandard Knuth-Bendixcompletionrules.

� Equationsin canalwaysberemovedby extension,orientation,or deletion.

� Every rewrite rule in is decreasingin asuitablereductionordering.

� By correctnessof completion, _ is convergent.

Shostak’s Combination(p.23of 121)

Page 35: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Corr ectnessProof: Complexity

� Numberof -symbolsin never increasesandExtensionalwaysdecreasesit.k > _ > 1.

� > = >

is increasedby Extensionalone.k afterall Extensionsteps,

> = > � � 1� .k > _ > � � 1� .

� Considera rewrite rule in .

� J, �� � � � JVU � J

Superposition,Collapse,Compositioninferencerulessimplify oneof J, � J 5� � � � � JVU � J, or rewrite theLHS.

Numberof Extension,Simplification,Orientation,andDeletionstepsis .

derivationlength= .

Shostak’s Combination(p.24of 121)

Page 36: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Corr ectnessProof: Complexity

� Numberof -symbolsin never increasesandExtensionalwaysdecreasesit.k > _ > 1.

� > = >

is increasedby Extensionalone.k afterall Extensionsteps,

> = > � � 1� .k > _ > � � 1� .

� Considera rewrite rule in .

� J, �� � � � JVU � J

If

l

inferencesareappliedateachposition,then

J, S J 5 S J B S� � � S Jnm o, k l p d

Numberof Extension,Simplification,Orientation,andDeletionstepsis .

derivationlength= .

Shostak’s Combination(p.24of 121)

Page 37: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Corr ectnessProof: Complexity

� Numberof -symbolsin never increasesandExtensionalwaysdecreasesit.k > _ > 1.

� > = >

is increasedby Extensionalone.k afterall Extensionsteps,

> = > � � 1� .k > _ > � � 1� .

� Considera rewrite rule in .

� J, �� � � � JVU � J

This rulecontributesatmost

� q �� d

inferences.

Numberof Extension,Simplification,Orientation,andDeletionstepsis .

derivationlength= .

Shostak’s Combination(p.24of 121)

Page 38: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Corr ectnessProof: Complexity

� Numberof -symbolsin never increasesandExtensionalwaysdecreasesit.k > _ > 1.

� > = >

is increasedby Extensionalone.k afterall Extensionsteps,

> = > � � 1� .k > _ > � � 1� .

� Theset

> >

cancontributeatmost 1 d

Superposition,Collapse,andCompositioninferences.

Numberof Extension,Simplification,Orientation,andDeletionstepsis .

derivationlength= .

Shostak’s Combination(p.24of 121)

Page 39: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Corr ectnessProof: Complexity

� Numberof -symbolsin never increasesandExtensionalwaysdecreasesit.k > _ > 1.

� > = >

is increasedby Extensionalone.k afterall Extensionsteps,

> = > � � 1� .k > _ > � � 1� .

� Theset

> >

cancontributeatmost 1 d

Superposition,Collapse,andCompositioninferences.

� Numberof Extension,Simplification,Orientation,andDeletionstepsis

� 1� .

k derivationlength=

� 1 d� � � 1 5� .

Shostak’s Combination(p.24of 121)

Page 40: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Efficient VariantsChoosing S at run-timesothat

d

is small:

� Considertheset � � J, � � � � � J+r

of eightconstants.

Saywegenerateequations,whichneedto beoriented,in thefollowing order:

, , , , , .

JPN

J 5 JQO

J, J B JQK J+M J+r

Therefore, .

Shostak’s Combination(p.25of 121)

Page 41: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Efficient VariantsChoosing S at run-timesothat

d

is small:

� Considertheset � � J, � � � � � J+r

of eightconstants.

� Saywegenerateequations,whichneedto beoriented,in thefollowing order:J, � J 5,

, , , , .

JPN

J 5 JQO

J, J B JQK J+M J+r

Therefore, .

Shostak’s Combination(p.25of 121)

Page 42: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Efficient VariantsChoosing S at run-timesothat

d

is small:

� Considertheset � � J, � � � � � J+r

of eightconstants.

� Saywegenerateequations,whichneedto beoriented,in thefollowing order:J, � J 5, J 5 � J B,

, , , .

JPN

J 5 JQO

J, J B JQK J+M J+r

Therefore, .

Shostak’s Combination(p.25of 121)

Page 43: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Efficient VariantsChoosing S at run-timesothat

d

is small:

� Considertheset � � J, � � � � � J+r

of eightconstants.

� Saywegenerateequations,whichneedto beoriented,in thefollowing order:J, � J 5, J 5 � J B, JPM � JPN ,

, , .

JPN

J 5 JQO

J, J B JQK J+M J+r

Therefore, .

Shostak’s Combination(p.25of 121)

Page 44: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Efficient VariantsChoosing S at run-timesothat

d

is small:

� Considertheset � � J, � � � � � J+r

of eightconstants.

� Saywegenerateequations,whichneedto beoriented,in thefollowing order:J, � J 5, J 5 � J B, JPM � JPN , JO � JPr ,

, .

JPN

J 5 JQO

J, J B JQK J+M J+r

Therefore, .

Shostak’s Combination(p.25of 121)

Page 45: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Efficient VariantsChoosing S at run-timesothat

d

is small:

� Considertheset � � J, � � � � � J+r

of eightconstants.

� Saywegenerateequations,whichneedto beoriented,in thefollowing order:J, � J 5, J 5 � J B, JPM � JPN , JO � JPr , JPN � JLO ,

.

JPN

J 5 JQO

J, J B JQK J+M J+r

Therefore, .

Shostak’s Combination(p.25of 121)

Page 46: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Efficient VariantsChoosing S at run-timesothat

d

is small:

� Considertheset � � J, � � � � � J+r

of eightconstants.

� Saywegenerateequations,whichneedto beoriented,in thefollowing order:J, � J 5, J 5 � J B, JPM � JPN , JO � JPr , JPN � JLO , J 5 � JN .

JPN

J 5 JQO

J, J B JQK J+M J+r

Therefore,

d � � DFE G � 1� � .Shostak’s Combination(p.25of 121)

Page 47: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

SpecializedAlgorithms

� Shostak’s dynamiccongruenceclosure:

st uv � � � sw Y` x y Y� Y` � z { = |w � ` � u {` z } Y� Y � Y

� Downey-Sethi-Tarjan’sAlgorithm: usesthe� 1 D E G � 1� � trick with

s � � � u {` � z } = ��~ � � Y�` � sw Y` � z { = |w � � Y � Y

� NelsonandOppen’sAlgorithm:

� � � sw Y ` � |w = z {� ` z } Y � Y

whereNODedrule correspondsto superpositionmodulo .

Shostak’s Combination(p.26of 121)

Page 48: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: Shostak’sCC

@ � � � � (� � � (

� � (� � � (

Final congruenceclosure

Shostak’s Combination(p.27of 121)

Page 49: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: Shostak’sCC

@ � � � � (� � � (

� � (� � � (

J, � ( JPM � � J, JPM J,

Final congruenceclosure

Shostak’s Combination(p.27of 121)

Page 50: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: Shostak’sCC

@ � � � � (� � � (

� � (� � � (

J, � ( JPM � � J, JPM J,

J, � J,

Final congruenceclosure

Shostak’s Combination(p.27of 121)

Page 51: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: Shostak’sCC

@ � � � � (� � � (

� � (� � � (

J, � ( JPM � � J, JPM J,

J, � J,

J, J 5� J 5 J B� J B J 5

Final congruenceclosure

Shostak’s Combination(p.27of 121)

Page 52: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: Shostak’sCC

@ � � � � (� � � (

� � (� � � (

J, � ( JPM � � J, JPM J,

J, � J,

J, J 5� J 5 J B� J B J 5

Final congruenceclosure

� J, � ( JPM � � J, JPM J, � J, J 5� J 5 J B� J B J 5

Shostak’s Combination(p.27of 121)

Page 53: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: DST CC

@ � � � � (� � � (

� � (� � � (

Shostak’s Combination(p.28of 121)

Page 54: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: DST CC

@ � � � � (� � � (

� � (� � � (

J, � � � � � JPN JO � J, � JN � JLK � JO

Shostak’s Combination(p.28of 121)

Page 55: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: DST CC

@ � � � � (� � � (

� � (� � � (

J, � � � � � JPN JO � J, � JPN � JLK � JLO

J, J+N � J+N J 5� J 5 � JQO � � J+N J+M J+N

Shostak’s Combination(p.28of 121)

Page 56: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: DST CC

@ � � � � (� � � (

� � (� � � (

J, � � � � � JPN JO � J, � JPN � JLK � JLO

J, J+N � J+N J 5� J 5 � JQO � � J+N J+M J+N

JQK JQOShostak’s Combination(p.28of 121)

Page 57: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: DST CC

@ � � � � (� � � (

� � (� � � (

J, � � � � � JPN JO � J, � JPN � JLK � JLO

J, J+N � J+N J 5� J 5 � JQO � � J+N J+M J+N

JQK JQO

J 5 JLO � JLO J B

Shostak’s Combination(p.28of 121)

Page 58: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: DST CC

@ � � � � (� � � (

� � (� � � (

J, � � � � � JPN JO � J, � JPN � JLK � JLO

J, J+N � J+N J 5� J 5 � JQO � � J+N J+M J+N

JQK JQO

J 5 JLO � JLO J BFinal congruenceclosureis:� J, � JQO J B� J B JQK � ( JM � J+N J+M J+N � J+N

JLO � J, JPN � J 5 JLO � JLK JLO

Shostak’s Combination(p.28of 121)

Page 59: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Outline

� AbstractCongruenceClosure

� Nelson-OppenCombination(NO)

� VariousApplicationsof NO

� ShostakTheories

� ShostakCombination

� CommentedBibliography

Shostak’s Combination(p.29of 121)

Page 60: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Combination of Theories= , = 5

, � 5 : Theoriesover , and 5

= Deductiveclosureof , = 5Problem1. Is consistent?

Problem2.Givensatisfiabilityproceduresfor(quantifier-free)conjunctionof literalsin , and 5, how todecidesatisfiabilityin ?

Problem3.Whatis thecomplexity of thecombinationprocedure?

Shostak’s Combination(p.30of 121)

Page 61: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Stably-Infinite TheoriesA theoryis stably-infiniteif every satisfiableQFFissatisfiablein aninfinite model.

Example.Theorieswith only finite modelsarenot stablyinfinite. Thus,theoryinducedby theaxiom9 �� �� � � � � � � 7 � � � 7 � � �� is not stably-infinite.

Proposition. If is anequationaltheory, then= � 8 �� �� � � �

is stably-infinite.Proof. If is amodel,then � is amodelaswell.Hence,by compactness,thereis aninfinite model.

Proposition. Theunionof two consistent,disjoint,stably-infinitetheoriesis consistent.Proof. Later! Shostak’s Combination(p.31of 121)

Page 62: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

ConvexityA theoryis convex if whenever aconjunctionof literalsimpliesadisjunctionof atomicformulas,it alsoimpliesoneof thedisjuncts.

Example.Thetheoryof integersover asignaturecontaining p is not convex. Theformula

� p � 6 � p �

implies � � � 7 � �

, but it doesnot imply either � � �

or � �

independently.

Example.Thetheoryof rationalsover thesignature� � p

is convex.

Example.Equationaltheoriesareconvex, but neednotbestably-infinite.

Shostak’s Combination(p.32of 121)

Page 63: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Convexity: Observation

Proposition. A convex theory with no trivial modelsisstably-infinite.Proof. If not, thenfor someQFF ,

=

hasonly finitemodels.Thus, impliesadisjunction

7 Ch � � C � � � , withoutimplying any disjunct.

Example.If is anequationaltheory, then= � 8 �� �� � � �

hasno trivial models,andhenceit isstably-infinite.

Shostak’s Combination(p.33of 121)

Page 64: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Nelson-OppenCombination ResultTheorem1 Let , and 5 beconsistent,stably-infinitetheoriesoverdisjoint (countable)signatures.Assumesatisfiabilityof (quantifier-free)conjunctionof literals canbedecidedin

� , � 1� � and

� 5 � 1� � timerespectively.Then,

1. Thecombinedtheory is consistentandstablyinfinite.

2. Satisfiabilityof (quantifier-free)conjunctionof literalsin canbedecidedin

� �. �[� � , � 1� 5 � 1� � � time.

3. If , and 5 areconvex, thensois andsatisfiabilityin is in

� 1 K � � , � 1� 5 � 1� � � time.

Proof. Later.Shostak’s Combination(p.34of 121)

Page 65: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

ExamplesConvexity is importantfor point (3) above.

, 5 , = 5Signature � � � p � � p = �

Satisfiability

� 1 DFE G � 1� � � 1 5� NP-complete!

Notethat 5 is not convex.

Wecanallow a “addconstant”operatorin signatureof 5.Atomic formulaeareof theform � � � p J, for someconstant J, andsatisfiabilitycanbetestedby searchingfornegativecyclesin a “dif ferencegraph”.

For NP-completenessof theuniontheory, see[Pratt77].

Shostak’s Combination(p.35of 121)

Page 66: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Nelson-OppenResult: Corr ectnessRecallthetheorem. Thecombinationprocedure:

Initial State : is aconjunctionof literalsover , = 5.Purification : Preservingsatisfiability, transform to

, 6 5, s.t. C is over C.Interaction : Guessapartitionof

� , � � � 5� intodisjoint subsets.Expressit asaconjunctionof literals .Example.Thepartition

� �, � � � 5� � B

is representedas � 5 � � B 6 �, � � 5 6 �, � � B.

ComponentProcedures : Useindividualprocedurestodecideif C 6

is satisfiable.

Return : If bothansweryes,returnyes.No, otherwise.Shostak’s Combination(p.36of 121)

Page 67: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

SeparatingConcerns: Purification

Purification:

6 �� � � � T �* � � � � � �

6 �� � � � T � � � � � � � � 6 * � � if T �* �

is notavariable.

Proposition. Purificationis satisfiabilitypreserving:if

X

is obtainedfrom by purification,then is satisfiableintheuniontheoryif f

X

is satisfiablein theuniontheory.

Proposition. Purificationis terminating.

Proposition. Exhaustive applicationresultsin conjunctionwhereeachconjunctis over exactly onesignature.

Shostak’s Combination(p.37of 121)

Page 68: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Purification: Illustration

� � � ��� � ����

� � � � � �� � �� � � � � �� � � � �

Shostak’s Combination(p.38of 121)

Page 69: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Purification: Illustration

� � � ��� � ����

� � � � � �� � �� � � � � �� � � � �

� W��� � �� �

� � � � �� � �� � � � � �� � � � �

� � � � W,

Shostak’s Combination(p.38of 121)

Page 70: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Purification: Illustration

� � � ��� � ����

� � � � � �� � �� � � � � �� � � � �

� W��� � �� �

� � � � �� � �� � � � � �� � � � �

W 5 � � � � �� � ���� � ����

� � � � �� � � � �

� � � � W, ,

� W� � W 5

Shostak’s Combination(p.38of 121)

Page 71: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Purification: Illustration

� � � ��� � ����

� � � � � �� � �� � � � � �� � � � �

� W��� � �� �

� � � � �� � �� � � � � �� � � � �

W 5 � � � � �� � ���� � ����

� � � � �� � � � �

W 5 � � � � �� W B � � � � �� � � � �

� � � � W, ,

� W� � W 5 , � �� � W B

Shostak’s Combination(p.38of 121)

Page 72: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

NO ProcedureSoundnessEachstepis satisfiabilitypreserving.Say is satisfiable(in thecombination).

1. Purification: is satisfiable.

2. Interaction: for somepartition , issatisfiable.

3. ComponentsProcedures: , and arebothsatisfiablein componenttheories.

Therefore,if the procedurereturnsunsatisfiable,then the

formula is indeedunsatisfiable.

Shostak’s Combination(p.39of 121)

Page 73: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

NO ProcedureSoundnessEachstepis satisfiabilitypreserving.Say is satisfiable(in thecombination).

1. Purification: k , 6 5 is satisfiable.

2. Interaction: for somepartition , issatisfiable.

3. ComponentsProcedures: , and arebothsatisfiablein componenttheories.

Therefore,if the procedurereturnsunsatisfiable,then the

formula is indeedunsatisfiable.

Shostak’s Combination(p.39of 121)

Page 74: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

NO ProcedureSoundnessEachstepis satisfiabilitypreserving.Say is satisfiable(in thecombination).

1. Purification: k , 6 5 is satisfiable.

2. Interaction: k for somepartition , , 6 5 6

issatisfiable.

3. ComponentsProcedures: , and arebothsatisfiablein componenttheories.

Therefore,if the procedurereturnsunsatisfiable,then the

formula is indeedunsatisfiable.

Shostak’s Combination(p.39of 121)

Page 75: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

NO ProcedureSoundnessEachstepis satisfiabilitypreserving.Say is satisfiable(in thecombination).

1. Purification: k , 6 5 is satisfiable.

2. Interaction: k for somepartition , , 6 5 6

issatisfiable.

3. ComponentsProcedures: k, , 6and 5 6

arebothsatisfiablein componenttheories.

Therefore,if the procedurereturnsunsatisfiable,then the

formula is indeedunsatisfiable.

Shostak’s Combination(p.39of 121)

Page 76: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

NO ProcedureCorr ectnessSupposetheprocedurereturnssatisfiable.

Let bethepartitionand and bemodelsofand .

Componenttheoriesarestably-infinite, assumemodelsareinfinite (of samecardinality).Let beabijectionbetween and s.t.for eachsharedvariable . Wecando this of .Extend to by interpretationsof symbolsin :

Suchanextended is amodelof

.

Shostak’s Combination(p.40of 121)

Page 77: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

NO ProcedureCorr ectnessSupposetheprocedurereturnssatisfiable.

� Let bethepartitionand and bemodelsof

, 6 , 6

and 5 6 5 6

.

Componenttheoriesarestably-infinite, assumemodelsareinfinite (of samecardinality).Let beabijectionbetween and s.t.for eachsharedvariable . Wecando this of .Extend to by interpretationsof symbolsin :

Suchanextended is amodelof

.

Shostak’s Combination(p.40of 121)

Page 78: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

NO ProcedureCorr ectnessSupposetheprocedurereturnssatisfiable.

� Let bethepartitionand and bemodelsof

, 6 , 6

and 5 6 5 6

.� Componenttheoriesarestably-infinite, k assumemodelsareinfinite (of samecardinality).

� Let

beabijectionbetween and s.t.

� � � :� � � �

for eachsharedvariable �. Wecando this � of .

Extend to by interpretationsof symbolsin :

Suchanextended is amodelof

.

Shostak’s Combination(p.40of 121)

Page 79: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

NO ProcedureCorr ectnessSupposetheprocedurereturnssatisfiable.

� Let bethepartitionand and bemodelsof

, 6 , 6

and 5 6 5 6

.� Componenttheoriesarestably-infinite, k assumemodelsareinfinite (of samecardinality).

� Let

beabijectionbetween and s.t.

� � � :� � � �

for eachsharedvariable �. Wecando this � of .

� Extend to by interpretationsof symbolsin , :

� � (, �� � � � ( m � � � � : � � o, � (, � �� � � � � o, � ( m � � �

Suchanextended is amodelof

, 6 5 6 , 6 5 6

.

Shostak’s Combination(p.40of 121)

Page 80: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Model Construction PictureConsider C-models and of C 6

:

�, , (, � 5

� 5 5 ( 5 �,

� B� � K B ( B � B� � K

K ( K

M ( M

... ...Shostak’s Combination(p.41of 121)

Page 81: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Model Construction PictureConsider C-models and of C 6

:

�, , (, � 5

� 5 5 ( 5 �,

� B� � K B ( B � B� � K

K ( K

M ( M

... ...Shostak’s Combination(p.41of 121)

Page 82: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Model Construction PictureConsider C-models and of C 6

:

�, , (, � 5

� 5 5 ( 5 �,

� B� � K B ( B � B� � K

K ( K

M ( M

... ...Shostak’s Combination(p.41of 121)

Page 83: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Model Construction PictureConsider C-models and of C 6

:

�, , (, � 5

� 5 5 ( 5 �,

� B� � K B ( B � B� � K

K ( K

M ( M

... ...Shostak’s Combination(p.41of 121)

Page 84: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Model Construction PictureConsider C-models and of C 6

:

�, , (, � 5

� 5 5 ( 5 �,

� B� � K B ( B � B� � K

K ( K

M ( M

... ...Shostak’s Combination(p.41of 121)

Page 85: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Model Construction PictureConsider C-models and of C 6

:

�, , (, � 5

� 5 5 ( 5 �,

� B� � K B ( B � B� � K

K ( K

M ( M

... ...Shostak’s Combination(p.41of 121)

Page 86: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Model Construction PictureConsider C-models and of C 6

:

�, , (, � 5

� 5 5 ( 5 �,

� B� � K B ( B � B� � K

K ( K

M ( M

... ...Shostak’s Combination(p.41of 121)

Page 87: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

NO ProcedureComplexityProposition. Thenon-deterministicprocedurecanbedeterminisedto givea

� �. �� � , � 1� 5 � 1� � � -timealgorithm.Proof.

1. Numberof purificationsteps andsizeof resultingis .

2. Numberof partitionof asetwith variables:.

3. For each choices,thecomponentprocedurestake and -time respectively.

Shostak’s Combination(p.42of 121)

Page 88: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

NO ProcedureComplexityProposition. Thenon-deterministicprocedurecanbedeterminisedto givea

� �. �� � , � 1� 5 � 1� � � -timealgorithm.Proof.

1. Numberof purificationsteps p 1 andsizeof resulting

, 6 5 is � 1� .

2. Numberof partitionof asetwith variables:.

3. For each choices,thecomponentprocedurestake and -time respectively.

Shostak’s Combination(p.42of 121)

Page 89: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

NO ProcedureComplexityProposition. Thenon-deterministicprocedurecanbedeterminisedto givea

� �. �� � , � 1� 5 � 1� � � -timealgorithm.Proof.

1. Numberof purificationsteps p 1 andsizeof resulting

, 6 5 is � 1� .

2. Numberof partitionof asetwith 1 variables:� 1� p �. �

.

3. For each choices,thecomponentprocedurestake and -time respectively.

Shostak’s Combination(p.42of 121)

Page 90: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

NO ProcedureComplexityProposition. Thenon-deterministicprocedurecanbedeterminisedto givea

� �. �� � , � 1� 5 � 1� � � -timealgorithm.Proof.

1. Numberof purificationsteps p 1 andsizeof resulting

, 6 5 is � 1� .

2. Numberof partitionof asetwith 1 variables:� 1� p �. �

.

3. For each

� 1� choices,thecomponentprocedurestake , � 1� and 5 � 1� -time respectively.

Shostak’s Combination(p.42of 121)

Page 91: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

NO Deterministic ProcedureInsteadof guessing, wecandeducetheequalitiesto beshared.Thenew combinationprocedure:

Purification : As before.

Interaction : Deduceanequality � � �:

, � � , � � ��

Update 5 � � 5 6 � � �. And vice-versa.Repeatuntil no furtherchangesto get C _.

ComponentProcedures : Useindividualprocedurestodecideif C _ is satisfiable.

Note, C � � C � � �� if f , 6 � � � is not satisfiablein

C.Shostak’s Combination(p.43of 121)

Page 92: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Deterministic Version: Corr ectnessEachstepis satisfiabilitypreserving, k soundnessfollows.

Assumethatthetheoriesareconvex.

Let besatisfiable.

Shostak’s Combination(p.44of 121)

Page 93: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Deterministic Version: Corr ectnessEachstepis satisfiabilitypreserving, k soundnessfollows.

Assumethatthetheoriesareconvex.

� Let C _ besatisfiable.

Shostak’s Combination(p.44of 121)

Page 94: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Deterministic Version: Corr ectnessEachstepis satisfiabilitypreserving, k soundnessfollows.

Assumethatthetheoriesareconvex.

� Let C _ besatisfiable.

� If

� �, � � � � � � U

is thesetof variablesnot yetidentified, C � C _ � � � � � m ��

Shostak’s Combination(p.44of 121)

Page 95: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Deterministic Version: Corr ectnessEachstepis satisfiabilitypreserving, k soundnessfollows.

Assumethatthetheoriesareconvex.

� Let C _ besatisfiable.

� If

� �, � � � � � � U

is thesetof variablesnot yetidentified, C � C _ � � � � � m ��

� By convexity, C � C _ � �F� m� � � � � m ��

Shostak’s Combination(p.44of 121)

Page 96: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Deterministic Version: Corr ectnessEachstepis satisfiabilitypreserving, k soundnessfollows.

Assumethatthetheoriesareconvex.

� Let C _ besatisfiable.

� If

� �, � � � � � � U

is thesetof variablesnot yetidentified, C � C _ � � � � � m ��

� By convexity, C � C _ � �F� m� � � � � m ��

� k C _ 6 � �F� m� � � � � m � is satisfiable.

� Theproof is now identicalto thepreviouscase.

Shostak’s Combination(p.44of 121)

Page 97: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Deterministic Version: ComplexityFor convex theories,thecombinationprocedurerunsin� 1 K � � , � 1� 5 � 1� � � time:

1. Identifying if anequality � � � is implied by C takes� 1 5� C � 1� � time.

2. Sincethereare

� 1 5� possibleequalitiesbetweenvariables,fixpoint is reachedin

� 1 5� iterations.

Modularityof convexity: Unsatisfiabilityis signaledwhenany oneproceduressignalsunsatisfiable.

Shostak’s Combination(p.45of 121)

Page 98: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

NO: Equational Theory Version1. Equationaltheoriesarealwaysconsistent.

2. If

= � 8 �� �� � � �

is consistent,thenthis theoryisalsostably-infinite.

3. Equationaltheoriesareconvex. (If� ��, 7 � 5� ,

thenconsidertheinitial algebrainducedby

=

overanextendedsignature.)

4. OftendecisionproceduresbasedonstandardKnuth-Bendixcompletioncanbeusedto deduceequalities.

5. Therefore,satisfiabilityprocedurescanbecombinedwith only apolynomialtimeoverhead.

Shostak’s Combination(p.46of 121)

Page 99: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Outline

� AbstractCongruenceClosure

� Nelson-OppenCombination(NO)

� VariousApplicationsof NO

� ShostakTheories

� ShostakCombination

� CommentedBibliography

Shostak’s Combination(p.47of 121)

Page 100: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Application: Theory of Equality

= � (uninterpreted)= Deductive closureof axiomsof equality

� is astably-infiniteequationaltheory.

� Congruenceclosuredecidessatisfiabilityof QFFin .

� k congruenceclosurefor disjoint C canbecombinedin polynomialtime.

� If congruenceclosurealgorithmover asingleton C isdescribedusingcompletion,wegetanabstractcongruenceclosurefor thecombination.

Shostak’s Combination(p.48of 121)

Page 101: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

CommutativeSemigroup

=

= Axioms of equality+ AC axiomsfor .

� Treat asvariablearity

�� � � � �� � � � �� � � � � �� � � � � � � � � � � � � �

�� � � � �� �� � � � � � �� � � � �� ��� � � � � �

� Flattenall equationsanddocompletionmodulo

� J, � J, � J, � J, � J 5� � J 5� J 5�

� J, � J 5� � � J, � J 5� J 5�

Shostak’s Combination(p.49of 121)

Page 102: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

CommutativeSemigroup

� All rulesareof theform

�� � � � �� � � �

.

� Collapseguaranteesterminationof completionviaDickson’s lemma.

� J, � J, � J 5� J, � J, � J 5� J,

� J, � J, � J 5� � J,

� Usinganappropriateorderingonmultisets,wegetaalgorithmto constructconvergentsystems(anddecidesatisfiabilityof QFF).

Shostak’s Combination(p.50of 121)

Page 103: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: CommutativeSemigroup

If @ � � J 5, J 5 � J B� J, J 55 � J, J 5

, wecanuseorientation,superposition(modulo ), collapseto getaconvergent(modulo ) rewrite system

J 5, J 5 J B� J, J 55 J, J 5

J 5 J B � J 5, J 5

J 5, J 5 J 5 J B

J B � J 5 J B

J 5 J B J B

J 5, J B J 5 BShostak’s Combination(p.51of 121)

Page 104: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Application: Ground AC-theories

= � = ��

= Axioms of equality+ AC axiomsfor each 0 �� .

� UseExtensioninferencerule to purify equations

� Useabstractcongruenceclosureon � ��

� Usecompletionmodulo oneach

, 0 ��

� Combineby sharingequationsbetweenconstants

Time Complexity:

� 1 5� � �� � 1� 1 D E G � 1� � � .

Similarly, -symbolscanbeadded.

Shostak’s Combination(p.52of 121)

Page 105: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Gröbner Bases=

� �� �� � ` � , � � � � � . =

= Polynomialring

� , �� � � � . �

over field

� Givenafinite setof polynomialequations,newequations(betweenvariables)canbededucedusingGröbnerbasisconstruction.

� Main inferencerulesis superposition.For e.g.,

J 5, J 5 � J, J 55 �

J 5` � � J, ` �

Theequationsaresimplifiedandorienteds.t. themaximalmonomialoccursonLHS, for e.g., J, �

.Shostak’s Combination(p.53of 121)

Page 106: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Gröbner Bases:Contd

� CollapsesimplifiesLHS of rewrite rules.

J, � J, J 55 �

�` J 55 � �whichsimplifiesto

� � �

, acontradiction.

� Usingsuitableorderingonmonomialsandsumsofmonomials,aconvergentrewrite system(modulothepolynomialring axioms),calledaGröbnerbasis, canbeconstructedin finite steps.

� Terminationis establishedusingDickson’s lemmaasbefore.

Shostak’s Combination(p.54of 121)

Page 107: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Application: Gröbner BasesPlus � � �= � = �� = �� � = ��

= Unionof therespective theoriesUseNO combination,with thefollowing decisionproceduresto deduceequalities:

� Useabstractcongruenceclosureon � ��

� Usecompletionmodulo oneach

, 0 ��

� Usecompletionmodulo oneach

, 0 �� �

� UseGröbnerbasisalgorithmonequationsover ��

Sinceeachtheory is convex and stably-infinite,we get a

polynomialtimecombinationover theindividual theories.

Shostak’s Combination(p.55of 121)

Page 108: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

SummaryTheNelson-Oppentheoremcombinessatisfiabilityproceduresfor conjunctionsof literalsin disjoint andstably-infinitetheories.

� This is equivalentto decidingthevalidity of clauses:� 9< �� � , 5� where , � 5 areAND/OR ofatomicformulas.

� UsingPurification,it is easyto seethatwecanrestrict

5 to containatomicformulaeover variables.

� By definition,if is convex and � is theonlypredicatesymbol,thenvalidity above is equivalenttohornvalidity:

� 9< �� � , �, � � 5� . This motivatesthedefinitionof convexity.

Shostak’s Combination(p.56of 121)

Page 109: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Summary

� Convexity allowsoptimization.

� Convexity is alsonecessaryfor completenessofdeterministicversionof theNO procedure.

� In thesecondpart,additionalassumptionsgroupedunderthenameShostaktheories, will allow forfurtheroptimizedimplementationsof thedeterministicNO procedure.

� Stably-infinitenessis requiredfor completeness,i.e., ifthecomponentproceduresreturnsatisfiable,it allowsconstructionof thefusionmodel.

Shostak’s Combination(p.57of 121)

Page 110: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

SpecialCase:Theory with UIFsTheorem1 Let , bea theoryovera signature . Let �

bea disjoint setof functionsymbolswith pure theory 5 ofequalityover it. If satisfiabilityof (quantifier-free)conjunctionof literals canbedecidedin

� , � 1� � timein

, , then,

1. Thecombinedtheory is consistent.

2. Satisfiabilityof (quantifier-free)conjunctionof literalsin canbedecidedin

� �. �[� � , � 1� 1 DFE G � 1� � �

time.

3. If , and 5 areconvex, thensois andsatisfiabilityin is in

� 1 K � � , � 1� 1 D E G � 1� � � time.

Shostak’s Combination(p.58of 121)

Page 111: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

SingleTheory with UIFs

� We modify thedeterministicandnon-deterministicproceduresasfollows:

� purificationis applieduntil all disequationsovertermsin 5 arereducedto disequationsbetweenvariables

� all variablesintroducedby purificationareconsideredsharedbetweenthetwo theories

� restis identicalto theNO procedure

� Stably-infinitenesswasrequiredto getabijectionbetweenthetwo models.Sincethereexist modelsofany cardinality, above aminimumwhich iscommunicatedto , , in 5, completenessholds.

Shostak’s Combination(p.59of 121)

Page 112: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Combination for the Word ProblemThewordproblemconcernswith validity of anatomicformula.

� NO resultcanbemodifiedto giveamodularityresultfor this case.

� NO resultcannotbeusedassuch,becausethegeneratedsatisfiabilitychecksmaynotbeequivalentto wordproblems.

� If , and 5 arenon-trivial equationaltheoriesoverdisjoint signatureswith decidablewordproblems,thenthewordproblemfor , = 5 is decidablewith apolynomialtime overhead.

Shostak’s Combination(p.60of 121)

Page 113: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Non-Disjoint SignaturesWord problemin theunionmaynotbedecidable

: semigrouppresentationwith undecidablewordproblem

, : Theoryinducedby , with` uninterpreted(decidedby congruenceclosure).

5 : Theoryof semigroups(decidedby flattening).

Satisfiabilityin theunionmaynotbedecidable

, :

� � �� � �� � � � � � � �� �� � �

5 :

� � � �� �� � � � � � � �� �� � �

: Theoryof semi-groups

Shostak’s Combination(p.61of 121)

Page 114: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Non-Disjoint Signatures

� If is amodelfor theory , = 5, then

� �

and

� �is

amodelfor , and 5 respectively.

� Definefusionof models , and 5 s.t. converseholdaswell.

� Defineabijectionbetween , and 5 andgiveinterpretationsaccordingly.

� Generalize“stably-infiniteness”:Identify conditionsunderwhich two modelscanbefused.

� Kinds of assumptions:-

� � � � �, is identicalto

� � � � �5

- , � 5, or asubsetthereof,generatesboth 5 and5

- Examples.TheorieswhichadmitconstructorsShostak’s Combination(p.62of 121)

Page 115: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Outline

� AbstractCongruenceClosure

� Nelson-OppenCombination(NO)

� VariousApplicationsof NO

� ShostakTheories

� ShostakCombination

� CommentedBibliography

Shostak’s Combination(p.63of 121)

Page 116: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Shostaktheories

� A canonizableandsolvabletheoryis aShostaktheory

� A canonizer � mapstermsto normalform termss.t.equaltermsin thetheoryaremappedto sameform.

� A solver �  ��¡ � mapsanequationto anequivalentsubstitution.

� e.g.,lineararithmetic

� Canonizerreturnsorderedsum-of-monomials

� Rationalsolver isolates,say, largestvariablethroughscalingandcancellation.

� Integral solver basedonEuclid’s algorithm

� ¢£ � # ¤ � � ¥ � � �� � � � � � ¥ l� � � � � l

wherel

is fresh. Shostak’s Combination(p.64of 121)

Page 117: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

CanonizableTheories

� A theory is saidto becanonizableif thereis acomputable � � �

suchthat

� > �? � (

if f � � � A � � (�

� ¡ � " � � � � � � ¡ � " � � �

� � � (� A (

for every subterm(

of � � �

� A term is saidto becanonical if

� � (� A (

� Canonizerfor lineararithmetic

�¦ � � � �� A � � �

Shostak’s Combination(p.65of 121)

Page 118: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Equality Sets

� An equalityset is of theform

� , � (, � � � � � . � (.

� is functional if � (, � � ( 5 0 implies(, A ( 5

Lookup:

� � � �(

: � ( 0

: otherwise

Apply:

� � � � � � ��

� � , �� � � � . � � � � � � � , � �� � � � � . �� �

� A solutionsetis a functionalequalitysetof theform

� �, � (, �� � � � �. � (.

with � C 0 ¡ � " � � ( �� for

� §� ¨ 1

Shostak’s Combination(p.66of 121)

Page 119: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Preservation

� A variableassignment © X extends © if

� ¤  ª � ©� ¤  ª � © X� and

� © � �� � © X � �� for all � 0 ¤  ª � ©�

� Let ,

X

besetsof literals;then:X

-preserves if

� ¡ � " � � � ¡ � " � � X�

� for all -interpretations andassignments ©

thereis some © X extending © suchthat

� © > �? if f � © X > �? X

� In thiscase:

> �? if f

> �? X

� This notionof preservationis sufficient for ourpurposes,sincenonew functionsymbolsintroduced.

Shostak’s Combination(p.67of 121)

Page 120: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

SolvableTheories

� A theory is calledsolvableif thereis acomputableprocedure�  ��¡ � � � (�

� �  � ¡ � � � (� � if f � (

is -unsatisfiable

� Otherwise,�  ��¡ � � � (� � «

, where

«is a

(functional)solutionsetsuchthat� ¤  ª � «� ¡ � " � � � (�

� «

-preserves � (

� Noticethatfreshvariables,thatis, variablesnot in¡ � " � � � (�

mightbeintroducedon right-handsides.

Shostak’s Combination(p.68of 121)

Page 121: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Theory of Lists

� Signature.

¬ � � � £   ­ � �� �� �

, £ � " �� �

, £ ¤" �� �

� Theory of lists containstheinitial modelsof:

£ � " � £   ­ � � � (� � �

£ ¤" � £   ­ � � � (� � � (

£   ­ � � £ � " � � � £ ¤" � � � �

� Canonizer.

� ¬ � �

is thenormalform of theterminatingandconfluentTRSabove.

Shostak’s Combination(p.69of 121)

Page 122: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

List SolverA configuration

� � «�

consistsof anequalityset andasolutionset

«

Decom

H¯®° ±² H¯³ h ´ I � µ ¶ ^h · I

H � ³ � ®¸ ¹ H µ Ih ´ � ® º ¹ H µ I � ¶ ^h · ISolve

H ®¸ ¹ H ³ I � ´ ¶ ^h · I

H¯³ � ®° ±² H ´h m I ¶ ^ih · IH¯® º ¹ H¯³ I � ´ ¶ ^h · I

H ³ � ®° ± ² H m h ´ I ¶ ^h · I »

fresh

VarElim

H¯¼ � ³ ¶ ^h · I

H¾½¿ H ^ À¼Á � ³  Ih ·&à � ¼ � ³ � I Ä ÅÇÆÉÈ ÊËÌ ÍÏÎ Ð

Triv

H ³ � ³ ¶ ^h · I

H ^ih · I

BotH ³ � ´ ¶ ^h · I

Ñ Î ÒÔÓ Õ

,

Õ Æ Ö ÖÎ × ×

where

« ] « XØ� � « X = � � � � ¬ � « X � ( �� > � � ( 0 «

Shostak’s Combination(p.70of 121)

Page 123: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Booleans

� Signature.

Ù � � � $ " ¢� � � ���� � Ú �� �� �� �

� Canonizer � Ù returns,e.g.,abinarydecisiondiagrams(orderingonvariablesneeded)

� Solver.process (

insteadof � (

�  � ¡ � � $ " ¢� � � �

�  ��¡ � � � � �� � �

�  � ¡ � � Ú � �� Û� 1� � � � � � � Û 6 � 1 d� �

= �  � ¡ � � Û 7 1�

wherethed

’sarefreshShostak’s Combination(p.71of 121)

Page 124: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example: BooleanSolver

�  � ¡ � � � 6 � � 4 ��

� �  � ¡ � � Ú � �� Ú � �� � ���� � $ " ¢� � � � � �� � �

� � � � $ " ¢� = �  � ¡ � � Ú � �� � ���� � $ " ¢� � �

� � � � $ " ¢� � � � � � ��

Shostak’s Combination(p.72of 121)

Page 125: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Decidinga ShostakTheory

� Let beaShostaktheorywith canonizer �? �� �and

solver �  ��¡ � ? �� �

� We considerthevalidity problem

> �? � (

� Templatefor decisionprocedure1. Build asolutionset

«� � Ü "  £ � � � � # ¤ ^ � �

usingafinite numberof -preservingtransformations.

2. Computecanonicalforms XØ� � « Ý Ý Þ Þ

,

( XØ� � « Ý Ý ( Þ Þ

3. If X A ( X

thenYeselseNo

Shostak’s Combination(p.73of 121)

Page 126: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Decidinga ShostakTheory (Cont.)

� Canonization.

« Ý Ý Þ Þ � � �? � « � ��

� Fusion.

«Ôß � � � � Ý Ý ( Þ Þ > � ( 0 «

� Composition.

« ] � �

] « � �

« ] � � = � «Ôß �

� For solvedforms,

« ] « � «

Shostak’s Combination(p.74of 121)

Page 127: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Decidinga ShostakTheory (Cont.)

� Configuration

� «� �

consistsof anequalityset andasolutionset

«

� Building asolutionset

Ü "  £ � � � � «� 2� � «

Ü "  £ � � � � � � �

Ü "  £ � � � � «� � ( = � � Ü "  £ � � � � � � �� " $ � � (� «� �

� � �� " $ � � (� «� � « ] �  ��¡ � � « Ý Ý Þ Þ � « Ý Ý ( Þ Þ�

� For

« X � Ü "  £ � � � Y � � # ¤ ^ �

> �? � � (�

if feither

« X � or

« X Ý Ý Þ Þ A « X Ý Ý ( Þ Þ

Shostak’s Combination(p.75of 121)

Page 128: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Soundnessand CompletenessLet

« X � � Ü "  £ � � � � # ¤ ^ � �

;

� « X

-preserves , thatis for every -interpretationandanassignment ©

� © > � if f thereis a © X extending © (to thevariablesin ¡ � " � � « X�

) suchthat � © X > � « X

� Soundness.If �? � « X � �� A �? � « X � ( ��

, then

à á âãåä æ â ç Î ä æ âè Î éä êÉë Í æ âè Î é Ðä êÉë Í æ âè Õ é Ðä æ âè Õ éä Õ

Thus, ì © íïî ð î ñ

.

ò Completeness.By contraposition.Constructamodel,

ó

suchthat ì ó íî but ì ó íïî ð î ñ

.

Shostak’s Combination(p.76of 121)

Page 129: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Soundnessand Completeness(Cont.)When �õô ö « ÷ø ð ùú ûü ô öý ÷ø ñ ùú

ò thereis a -model ,

ó

s.t ì ó íî ý ÷ø ð ù î ý ÷ø ñ ù

ò þ î ý ÷ ö þú for variables þ in ý ÷øÿ ù

ò Extend

ó

to anassignment

ó ÷

s.tó ÷ ö þú�� î ø ø ý ÷ ö þú ù ù ó

if þ î ý ÷ ö þú

ò

ì ó ÷ íî ý ÷

ì ó ÷ íî ð î ý ÷ø ð ù ì ý ÷ø ñ ù î ñ

ò Since

ý ÷

-preserves

ö � � � ì ú

, ì ó íî but

ì ó íî ð î ñ.

Shostak’s Combination(p.77of 121)

Page 130: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

ShostakTheoriesin a NO Loop

ò Thesolver andcanonizercanbeusedto decidesatisfiabilityof

of equalities anddisequalities in convex Shostaktheories.

ò Oneway to do this:

� let

ý ÷ î �� �� � ö � � ��� � � ��� ��� �� � ì ú;� if

ý ÷ î thenreturnunsatisfiable� if thereis adisequality ð î ñin s.t.ý ÷� � ð � � û ý ÷� � ñ � �

thenreturnunsatisfiable.� Returnsatisfiable(andsetof newly inferredvariableequalities).

ò Thus,convex andstably-infiniteShostaktheoriescanbeintegratedwith otherdisjoint,convex,stably-infinitetheoriesusingtheNO result.

Shostak’s Combination(p.78of 121)

Page 131: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Outline

ò AbstractCongruenceClosure

ò Nelson-OppenCombination(NO)� VariousApplicationsof NO� ShostakTheories

ò ShostakCombination

ò CommentedBibliography

Shostak’s Combination(p.79of 121)

Page 132: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Combining ShostakTheories

ò Problem. Combinationof thetheory � of equalityover UIF with severaldisjointShostaktheories� ,. . . , �.

ò Letü � and � ��� � � bethecanonizerandsolver fortheory �.

ò A term

ö ð � ìÿ ÿ ÿ ì ð �ú is an

-termif �.

ò A term ð is a pure

-termif everysubterm

ñ

of ð is an�

-term.

Shostak’s Combination(p.80of 121)

Page 133: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

ComposableShostakTheories

òò Resolve possiblesemanticincompatibilitiesbetweenShostaktheories.

ò CanonicalTerm model� ô � î ! ð í ü ô ö ðú û ð "

� ô ö ú ö ð � ìÿ ÿ ÿ ì ð �ú�� î ü ô ö ö ð � ìÿ ÿ ÿ ì ð �ú ú

ò Example. #$ %� î ! ð î ñ ì & þÿ þ î ð ' þ î ñ "

iscanonizable(ü ö ðú î ð ì ü ö ñú î ñ ì ü ö þú î þ) andsolvable.Its canonicaltermmodelis

! ð ì ñ ì þ � ìÿ ÿ ÿ "

butit is only satisfiablein a two-elementmodel.

ò A Shostaktheory is composableif thecanonicalmodel ô is (isomorphicto) a -model.

ò -validity is convex for composableShostaktheoriesShostak’s Combination(p.81of 121)

Page 134: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Convexity of ComposableTheoriesFor acomposableShostaktheoryíïî ô ( � î ) � 'ÿ ÿ ÿ ' ( � î ) � impliesíïî ô (+* î ) * for some

,

.

- Let

.0/ 1 23 456 7 7 89 :<; à = >

( -preserving)

- (wlog

. ? 1 @

) assume

?A 1 ë = çB C 1 D C for all

E

- then

?A 1 ë . çB C 1 D C

- Construct F�G 8IH > / 1J

Kë è è . 8IH > é é FG . 8IH > ? 1 H

H . 8IH > 1 H

- ë à F�G A 1 .

- ë à FLG ?A 1 B C 1 D C for all

E

(because ë è è B C é é FLG 1 ê 8 .è B C é ))

- ë à F�G ?A 1 . MB C 1 D C for all

E

Shostak’s Combination(p.82of 121)

Page 135: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Is this goodor bad news?

ò Shostak’s algorithmis completefor Shostaktheoriesbut aShostak-likealgorithmis not completefor the

combinationof

� NOP .

ò ConsideraShostaktheorywith nonconvex -validity.

ò Then

íî ô ð � î ñ � 'ÿ ÿ ÿ ' ð � î ñ �

ò but

íïî ô ð � î ñ � for

Q � R.

ò Consider:

íî ô ìö ð �ú î ( ìÿ ÿ ÿ ì ö ð �ú î ( ìö ñ �ú î ) ìÿ ÿ ÿ ì ö ñ �ú î ) ( î )

ò Canbeshown to holdby case-splitting,whichShostakdoesnotdo.. .

Shostak’s Combination(p.83of 121)

Page 136: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Combining Canonizers

ò . . . is easy: Treatalientermsasvariablesandapplyü �

to canonize

ö ðú when �.

ò Let S � beachosenbijectiveequalitysetbetweenthesetof variables and

! ð í öT U� U î �V ð Wú "

.

ò Individual canonizersfor impureterms

ü ÷� ö ðú � î S � øü � ö ð ÷ú ù ì when ð ÷� S � ø ð ÷ ù û ð

Thecombinedcanonizer

ü ö þú î þ

ü ö � ö ð � ìÿ ÿ ÿ ì ð �ú ú î ü ÷� ö � öü ö ð �ú ìÿ ÿ ÿ ìü ö ð �ú ú ú

Shostak’s Combination(p.84of 121)

Page 137: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Combining Solvers: The Problem. . .alreadyshows upwhencombiningShostaktheories

ò Consider

X Y � ö þ Zú [ �� ö þ Qú \

in ] � ^.

_ Theindividual theories ] (arithmetic)and ^ (lists)have solversandcanonizers.

Shostak’s Combination(p.85of 121)

Page 138: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

The Problem(Cont.)

_ Assumeacombinedsolver which treatsalientermsasvariablesandappliescomponentsolvers � �� � ] or� �� � ^ accordingto thetop-level symbol.

_ Example

X Y � ö þ Zú [ �� ö þ Qú \

ö � ��� � ]ú ` Y � ö þ Zú [ �� ö þ Qú a Z

ö � �� � ^ú ` þ Z [ b � ö �� ö þ Qú a Zc ,ú

ö � ��� � ]ú ` þ [ b � ö �� ö þ Qú a Zc ,ú a Z

_ but this is notasolvedform: þ occurson theright.

Shostak’s Combination(p.86of 121)

Page 139: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

The Solution

_ Shostaktheoriescanbecombinedwithoutcombiningsolvers

_ Key ideas� Maintaintheory-wisesolutionsets� Communicatevariableequalitiesasin NO� Constructcombinedcanonizer(asrequiredin aShostakcombination)

_ For ] � ^ configurationsý � [ öý d c ý e c ý fú consist

of � variableequalitiesý d in canonicalform� asolutionset

ý e for thetheory ]

� asolutionsetý f for thetheory ^

Shostak’s Combination(p.87of 121)

Page 140: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Process

2 3 456 7 7 8 .0g h > / 1 .

2 3 456 7 7 8 .0g iIj 1 k lnm o > / 1 2 3 456 7 7 8Ip 7 76 3 q 8 .0g j 1 k > g o >

p 7 76 3 q 8 . g j 1 k > / 1 5 r 4 76 s 8It 6 3u 6 8Ip v 7 q3 p 5 q s 8 . g . w wj 1 k é é > > >

1. Canonizej 1 k

w.r.t.

.

to get j x 1 k x

.

2. Variableabstractj x 1 k x

: Replace

y 8H{z à| | | à HI} >

by a freshH , and

addingH 1 H to

.�~ andH 1 y 8IH{z à| | | à HI} >to

.�� . IterationyieldsH 1 � from j x 1 k x

.

3. Merge H 1 � into

.

to yield.~ � i H 1 � l

, assumingH � �.4. Close

.

: WhenH , � suchthat

- . � 8IH >�� . � 8 � > but

.�~ 8IH > ?� .~ 8 � > , merge H 1 � into

.

.

- .�~ 8IH >�� .~ 8 � > but

. � 8H > ?� . � 8 � > , merge7 4 r�� 6 8 . � 8IH > 1 . � 8 � > > into

. �

Shostak’s Combination(p.88of 121)

Page 141: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example

_ Variableabstract

X Y � ö þ Zú [ �� ö þ Qú \to��� [ ���

���i H 1 H à �z 1 �z à �n� 1 �� à �n� 1 �n� à ��� 1 �� à �n� 1 �n� à �� 1 �n� l

i �z 1 H � � à �n� 1 �n� � � à ��� 1 H � � à �n� 1 �n� � � l

i �{� 1 5 p 3 8 �z > à �{� 1 5 :3 8 �� > l

���

_ Since �� and �� aremergediný d but not in

ý e, solveý e � �� ú [ ý e � �� ú in .

7 4 r�� 6 � 8 �� � � 1 �n� � � > 1 i �n� 1 �� � � l

Shostak’s Combination(p.89of 121)

Page 142: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example (Cont.). . .Resultof solvewas

! ��  [ ��¡ a Z "

_ Composeresult

���i H 1 H à �z 1 �z à �{� 1 �� à �{� 1 �{� à �n� 1 �� à �{� 1 �{� à �� 1 �{� l

i �z 1 H � � à �n� 1 �n� � � à ��� 1 H � � à �� 1 �n� � � à �n� 1 �� � � l

i �n� 1 5 p 3 8 �z > à �n� 1 5 :3 8 �� > l

���

_ No new variableequalitiesto bepropagated.

_ Thedifferentsolvedformsof both �   and �¢¡ aretolerated,sincecanonizerpicksa solutionthatisappropriateto thecontext.

Shostak’s Combination(p.90of 121)

Page 143: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example (Cont.)

_ Canonicalstate

���i H 1 H à �z 1 �z à �n� 1 �� à �n� 1 �n� à ��� 1 �� à �n� 1 �n� à �� 1 �n� l

i �z 1 H � � à �n� 1 �n� � � à ��� 1 H � � à �� 1 �n� � � à �n� 1 �� � � l

i �n� 1 5 p 3 8 �z > à �n� 1 5 :3 8 �� > l

���

_ X Y � � þ Zú ` X Y � � � �ú ` X �   ` \ �¡ ` ��

_ �� � þ Qú \ ` �� � �{£ ú \ ` �¡ \ ` ��

Shostak’s Combination(p.91of 121)

Page 144: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Canonizer

_ ü � is only definedfor pure

-terms.

_ ü ¤� is theextensionofü � thatdealswith alientermsbytreatingthemasvariables.

_ Canonizerfor thecombinationof Shostaktheories �.

. w wH é é 1 .�~ 8IH >

. w w y� 8jz à| | | à j} > é é 1 .�~ 8IH > à when

H 1 ¥ x� 8 y� 8 .¦� 8 . w wjz é é > à| | | à . � 8 . w wj} é é > > >¨§ .¦�

. w w y� 8jz à| | | à j} > é é 1 ¥ x� 8 y� 8 . � 8 . w wjz é é > à| | | à . � 8 . w wj} é é > > >

Shostak’s Combination(p.92of 121)

Page 145: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

CongruenceClosureRevisited

= P (uninterpreted)= Deductive closureof axiomsof equality

_ Validity problem

© [ ª [ «

_ Stateconsistsof

�ý d ¬ ý N ¬ ú

� ý d containsthevariableequalities þ [ ­

� ý N containsequalities þ [ � þ � c ÿ ÿ ÿ c þ �ú

� containstheunprocessedinputequalities.

_ �ý d ¬ ý Nú togetherform thesolutionstate

ý

_ ý d partitionsthevariablesinto equivalenceclasses

_ þ, ­ arein thesameequivalenceclassif

ý d � þú andý d � ­ú

Shostak’s Combination(p.93of 121)

Page 146: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Templatefor ShostakCC

_ Startstate

ý �� [ � � � � ¬ ® ¬ ú

_ Compute

ý¯ [ �� �� � �ý �ú by iterating

2 3 456 7 7 8 .0g h > 1 .

2 3 456 7 7 8 .0g iIj 1 k lnm = > 1 2 3 456 7 7 8Ip 7 76 3 q 8 .0g j 1 k > g = >

p 7 76 3 q 8 .0g j 1 k > 1 5 r 4 76 s 8It 6 3u 6 8Ip v 7 q3 p 5 q s 8 .0g . w wj 1 k é é > > >

_ Checkcanonicalforms:

ý¯ ° ° ª ± ± û ý¯ ° ° « ± ±

_ Presenttreatmentaspecificstrategy of abstractCC.

Shostak’s Combination(p.94of 121)

Page 147: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

CongruenceClosureRevisited (Cont.)For eachinputequality ª [ «

andstate

ý

:

1. Canonize ª [ «

w.r.t.

ý

to get ª ¤ [ « ¤

.

2. Variableabstract ª ¤ [ « ¤

: Replace

� þ � c ÿ ÿ ÿ c þ �ú by afresh þ, andadding þ [ þ to ý d andþ [ � þ � c ÿ ÿ ÿ c þ �ú to

ý N. Iterationyields þ [ ­ fromª ¤ [ « ¤

.

3. Merge þ [ ­ into

ý

to yieldý d ² ! þ [ ­ " ¬ ý N ³ ! þ [ ­ ", assuming þ ´ ­.

4. Close

ý

: When þc ­, suchthat

ý N � þú û ý N � ­ú butý d � þú û ý d � ­ú , merge þ [ ­ into

ý

.

Shostak’s Combination(p.95of 121)

Page 148: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example

_ Validity problem

© [ ! � � � þú ú ú [ þc þ [ � � þú ú " � þú [ þ

_ Startstate

ý �� [ � ! þ [ þ " ¬ ® ¬ ! � � � þú ú ú [ þc þ [ � � þú ú "

_ Abstraction

Y µ � ¶� Y ¶ � ! þ [ þ " ¬ ® ¬ � � � þ · · · [ þ ·

`

! þ [ þc � � [ � � c �   [ �   c �� [ ��� "

! � � [ � þ · c �¸  [ � � � · c �¸� [ � �¸  · "

�� [ þ

Shostak’s Combination(p.96of 121)

Page 149: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example (Cont.)

! þ [ þc � � [ � � c �   [ �   c �� [ �¸� "

! � � [ � þ · c �   [ � � � · c �� [ � �   · "

�� [ þ

¹ ��º � `

! þ [ þc � � [ � � c �¸  [ �¸  c �¸� [ þ "

! � � [ � þ · c �   [ � � � · c �� [ � �   · "

Shostak’s Combination(p.97of 121)

Page 150: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example (Cont.)

_ Variables þ, ­ areincongruentif

� ý d � þ · û ý d � ­ · and

� ý N � þ · û ý N � ­ ·

_ Thereareno incongruencesin our runningexample.

! þ [ þc � � [ � � c �   [ �¸  c �� [ þ "

! � � [ � þ · c ��  [ � � � · c �� [ � ��  · "

Shostak’s Combination(p.98of 121)

Page 151: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example (Cont.)

! þ [ þc � � [ � � c �¸  [ �   c �� [ þ "

! � � [ � þ · c �   [ � � � · c ��� [ � �   · "Processingof þ [ � � þ · ·

. Canonizationandorientationyield ��  [ þ, which is merged

! þ [ þc � � [ � � c �¸  [ þc �¸� [ þ "

! � � [ � þ · c ��  [ � � � · c �� [ � þ · "

Theincongruencebetween � � , �� is fixedby close

ý ¯ � [! þ [ þc � � [ þc �   [ þc �� [ þ "

! � � [ � þ · c ��  [ � � � · c �� [ � þ · "

Shostak’s Combination(p.99of 121)

Page 152: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Example (Cont.)

_ Canonicalform

ý ° ° ª ± ± of a term ª with respecttoý

. w wH é é 1 .�~ 8IH >

. w w y 8jz à| | | à j} > é é 1 .�~ 8IH > à whenH / H 1 y 8 . w wjz é é à| | | à . w wj} é é > § .

. w w y 8jz à| | | à j} > é é 1 y 8 . w wjz é é à| | | à . w wj} é é > à otherwise.

_ Example

ý ¯ � [! þ [ þc � � [ þc �¸  [ þc �� [ þ " ¬

! � � [ � þ · c �   [ � � � · c �� [ � þ · "

_ Now,

ý ¯ ° ° � þ · ± ± û þ û ý¯ ° ° þ ± ±

Shostak’s Combination(p.100of 121)

Page 153: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Multi-Shostak

_ Considertheunion [ ��¼» � � of theequalitytheoryof � for UIF andasetof disjoint,composableShostaktheories � ( � [ Q c ÿ ÿ ÿ c R)

_ An

½

-modelof is amodel whosereductw.r.t � isa �-modelfor every

� [ Q c ÿ ÿ ÿ c R.

_ Validity problem

© [ O ª [ «

Shostak’s Combination(p.101of 121)

Page 154: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Multi-Shostak: ProcessDecisionprocedure

1. Compute

ý¯ � [ �� �� � � � � � ¬ ·

2 3 456 7 7 8 .0g h > 1 .

23 456 7 7 8 .0g = > 1 @ à when¾ / . � 1 @

2 3 456 7 7 8 .0g ij 1 k lnm = > 1 2 3 456 7 7 8Ip 7 76 3 q 8 . g j 1 k > g = >

p 7 76 3 q 8 .0g j 1 k > 1 5 r 4 76 s 8t 6 3u 6 ~ 8Ip v 7 q3 p 5 q s 8 .0g j x 1 k x > >

wherej x 1 . w wj é é à k x 1 . w w k é é

2. If

ý ° ° ª ± ± û ý ° ° « ± ±

thenYeselseNo

Shostak’s Combination(p.102of 121)

Page 155: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

CanonicalSolution States

_ Invariants� ý d is functionalandidempotent� ý � is functionalandnormalized(

ý � ³ ý d [ ý �)� ý � ( ��¿ À

) are(functional)solutionsets,idempotent,normalized(

ý � ³ ý d [ ý �)

_ A solutionstate

ý

is confluent if for allþc ­ � ¹ �ý d ·

and

À �:

ý d � þ · û ý d � ­ · ý � � þ · û ý � � ­ ·

_ A canonicalsolutionstate

ý

is confluentandsatisfiestheinvariantsabove.

Shostak’s Combination(p.103of 121)

Page 156: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Multi-Shostak: Process

_ Y µ � ¶� Y ¶

Replacemaximalpure

-term ( with freshvariable þ, adding þ [ ( to ý �.

_ ¹ ��º � dý d ¬ ý N ¬ þ [ ­ ` ý d ² ! þ [ ­ " ¬ ý N ³ ! þ [ ­ "

_ ¹ ��º � �ý � ¬ þ [ ­ ` ý � ² � � ��� � �ý � � þ · [ ý � � ­ · ·

_ � � � �ý ·

Apply ¹ ��º � � or ¹ ��º � d to restorecanonicity.

Shostak’s Combination(p.104of 121)

Page 157: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Multi-Shostak: Abstraction

p v 7 q3 p 5 q 8 .0g H 1 � > 1 8 .0g H 1 � > à

p v 7 q3 p 5 q 8 .0g j 1 k > 1 8 . x g iB 1 H l wj é 1 iB 1 H l w k é >when

. x àB à H à ¾ /

8B � y¦Á 8IHnz à| | | à H�} >orB § t p 8à à j 1 k Ä Ä � > 8 ¾ÆÅ Ç

H ?§ � p 3 7 8 .m j 1 k > à

. x~ 1 .�~ m i H 1 H l à

. x� 1 . � m i H 1 B l à

. xÉÈ 1 . È à for à ¾ ? 1 Ê

_ ¹Y Ë �Ì Ì ª [ « Í Í � ·is amaximalpure

-term

_ If Î �ÐÏ ·

in� Î �Ï · ·

is replacedwith ­ and

� ­ · by Ñ

then{ y = g(x), z = f(y) } is not idempotent(

Ò¿ À

).Shostak’s Combination(p.105of 121)

Page 158: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Multi-Shostak: Close

5 r 4 76 8 . > 1 . à when

¾ / . � 1 @ �

5 r 4 76 8 . > 1 . x à when

. x à ¾ à H à � /

H à �§ : 4t 8 .�~ > à

8 ¾ÆÅ Ç à .�~ 8H > � .�~ 8 � > à . � 8IH > ?� . � 8 � > à and

. x 1 t 6 3u 6 � 8 .0g H 1 � > >

or8 ¾Ó Ç à .�~ 8IH > ?� .�~ 8 � > à . � 8IH >�� . � 8 � > à and

. x 1 t 6 3u 6 ~ 8 .0g .�~ 8IH > 1 .�~ 8 � > > >

5 r 4 76 8 . > 1 Ô 43 t p r9ÖÕ 6 8 . > à otherwise.

Ô 4 3 t p r9Õ 6 8 . > 1 8 .~ g . Á g .z × .�~ g | | | g .�Ø × .�~ >|

Shostak’s Combination(p.106of 121)

Page 159: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Multi-Shostak: Merge

t 6 3u 6 � 8 . g H 1 � > 1 . x à where

¾ Å Ç à. x� 1 . � � � 7 4 r � 6 8 .¦� 8IH > 1 . � 8 � > > à

. xÉÈ 1 . È à for¾ ? 1 Ê à

. x~ 1 .�~ |

t 6 3u 6 ~ 8 .0g H 1 H > 1 .

t 6 3u 6 ~ 8 . g H 1 � > 1 8 .�~ � Ùg Ú Á × Ùg Úz g | | | g Ú�Ø Û

whereÙÝÜ Þß àÖá Ô q âIã Ü � Û|

Shostak’s Combination(p.107of 121)

Page 160: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Multi-Shostak: CanonizerGivenacanonicalstate

ä d ¬ äæå ¬¦ç ç ç ¬ äè , acombinedcanonizercanbedefinedas:

Ú w wã é éëê Ü Ú�~ âIã Û

Ú w w y� âjz à| | | à j} Û é éê Ü Ú�~ âIã Û à when

ã Ü ¥ x� â y� â Ú¦� â Ú w wjz é é Û à| | | à Ú � â Ú w wj} é é Û Û Û¨§ Ú �

Ú w w y� âjz à| | | à j} Û é éê Ü ¥ x� â y� â Ú � â Ú w wjz é é Û à| | | à Ú¦� â Ú w wj} é é Û Û Û

with ¥ Á âj Û Ü j and

Ú Á âj Û Ü j .

Shostak’s Combination(p.108of 121)

Page 161: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Termination

_ ä ° ° ª [ « ± ±

is terminating

_ Y µ�ì ¶Öíî ï ¶¯ � ä ¬ ªñð « ·

is terminating

_ ï ò�ó ìô ¯ � ä ·

terminates,becausethesumof thenumberof equivalenceclassesover variablesin

õ ó ¹ � ä d ·

decreasesin eachiteration.

Shostak’s Combination(p.109of 121)

Page 162: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Soundnessand CompletenessTheorem. Let with signature betheunionof

ö thetheory å of UIF

ö and ÷ ( Ò ð øù ç ç ç ù ú) bedisjoint,composableShostaktheories.

Furthermore,let

ö ä¯ ûð ü í ó ïô ì ì¯ �þý õÿ ¬ ·

and

ö ½ð � øç ç ç ù ú �

;

then: �ð � �ð �

if feither

ä� ð or

ä � � � � ä � � � �

Shostak’s Combination(p.110of 121)

Page 163: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Proof Outline

ö If

ä � ûð ü í ó ïô ì ì �ý õÿ �

, then

ä ��

-preserves .

ö Soundness.if

ä � � � ä � � �

, then

�ð � ä � �ð ä � � � � ð ä � � � � ð �

Thus,

�ð � �ð �

ö Completeness.by contraposition:if

ä � � � � ä � � � �

then�ð � ä � �ð �

for canonical

ä �

.

ö Constructan

-model �� , � �� s.t.

�� ù � �� �ð ä �but �� ù � �� �ð �ð �

Shostak’s Combination(p.111of 121)

Page 164: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

CanonicalTerm Model

ö Definition

� �� ûð ��� � � ù �î í ì � ä � � � � ä � � �� � �

� �� � � ���� ù ç ç ç ù � è � ûð ä � � � �� � ù ç ç ç ù � è �

� � �� �ÐÏ � ûð ä�� �ÐÏ �

ö Properties

� �� � ��� � �� ð ä � � ���

� �� ù � �� �ð ä �

� �� is an

-model,since �� is isomorphicto ÷

for each

Ò

(

ø Ò ú) and

Ò

is composable.

ö Corollary:

-validity is convex.

Shostak’s Combination(p.112of 121)

Page 165: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

CanonicalTerm Model (Cont.)Thecanonicaltermmodel � is isomorphicto thecanonical

Ò

-model ÷

ö Theisomorphism � ÷ is definedbetween � (allS-canonicalterms)and ÷ (all

-canonicalterms)sothat

� ÷ ��� � ð � � where ÷ � � � � ð ä ÷ �� �

� ÷ � ÷ � ! � � � ð ÷ � � ÷ � ! � � �

� ÷ �" � ! � � � ð #� ÷ �" � ! � � � $ ð �

ö Needto show that � ÷ � � � ÷ � � � � � ð ÷ � ÷ � � � ÷ � � � � for

� � �Shostak’s Combination(p.113of 121)

Page 166: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Summary

ö DecisionprocedurebasedonShostak’s ideasfor thecombinationof equalityover UIF anddisjoint,composableShostaktheories.

ö Key idea:separatesolutionsetsfor individual theories.

ö Variabledependenciescanbecyclic acrosstheories.

ö Shostakcombinationaninstanceof NO combination.

ö Addedadvantageis aglobalcanonizer.

Shostak’s Combination(p.114of 121)

Page 167: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

ICS: Integrated Canonizerand Solver

ö A variantof theShostakcombinationdescribedhereisimplementedin ICS.

ö Thetheorysupportedby ICS currentlyincludes:

� Equalityanddisequality.

� Rationalandintegerlineararithmetic.

� Theoryof tuples,S-expressions

� Booleanconstants.

� Array theory

� Theoryof bitvectors

ö Availablefreeof chargefor noncommercialapplicationsundertheICS licenseagreement.

ics.csl.sri.comShostak’s Combination(p.115of 121)

Page 168: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Bibliography

ö Armando,A., Ranise,S.,andRusinowitch, M., “Arewriting approach to satisfiabilityprocedure”, IC’02.deriving decisionprocedures

ö Baader, F. andTinelli, C., “Decidingtheword problemin theunionof equationaltheories”, IC’02.theoriessharingconstructors

ö Bachmair, L., Tiwari, A., andVigneron,L., “Abstractcongruenceclosure”, JAR’02.AbstractCC,specializations,complexity

ö Barrett,C. W., Dill, D. L., andStump,A., “Ageneralizationof Shostak’smethodfor combiningdecisionprocedures”, FroCoS’02.Shostakin NO procedure,convexity andstably-infiniteness Shostak’s Combination(p.116of 121)

Page 169: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Bibliography

ö Bjorner, N. S.,“ Integratingdecisionproceduresfortemporal verification”, PhDThesis’98.generalresultsplusproeduresfor individual theories

ö Cyrluk, D., Lincoln, P., andShankar, N., “OnShostak’s decisionprocedure for combinationoftheories”, CADE’96.Shostak’s CC,Singletheorywith UIF

ö Downey, P. J.,Sethi,R., andTarjan,R. E., “Variationson thecommonsubexpressionproblem”, JACM’80.CC + linearvariant

ö Ganzinger, H., “ShostakLight”, CADE 2002.Th + UIFs,convexity alsonecessary,stably-infinitenessnot required,sigma-modelsindistinguishable Shostak’s Combination(p.117of 121)

Page 170: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Bibliography

ö Halpern,J.Y., “Presburger arithmeticwith unarypredicatesis

�� -complete”, JSC’91.undecidabilityby addingpredicates

ö Kapur, D., “Shostak’scongruenceclosure ascompletion”, RTA’97.CC algorithm

ö Kapur, D., “A rewrite rule basedframework forcombiningdecisionprocedures”, FroCoS’02.Shostakcombination

ö Lynch,C. andMorawska,B., “Automaticdecidability”, LICS’02.deriving decisionproceduresandcomplexity

Shostak’s Combination(p.118of 121)

Page 171: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Bibliography

ö Nelson,G. andOppen,D., “Simplificationbycooperating decisionprocedures”, ACM TOPLAS’79.Combinationresult,specifictheories

ö Nelson,G. andOppen,D., “Fastdecisionproceduresbasedoncongruenceclosure”, JACM’80.CC, theoryof lists

ö Oppen,D. C., “Complexity, convexity, andcombinationof theories”, TCS’80.NO maintheorem,complexity, specialtheories

ö Pratt,V. R., “Two easytheorieswhosecombinationishard”,MIT TR’77.validity hardfor acombinationof non-convex PTIMEtheories

Shostak’s Combination(p.119of 121)

Page 172: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Bibliography

ö Rueß,H. andShankar, N.,“DeconstructingShostak”,LICS’01.Shostaktheory+ UIF–theShostakway

ö Shankar, N. andRueß,H., “CombiningShostaktheories”, RTA’02.Multiple Shostaktheorycombination

ö Shostak,R. E., “An efficientdecisionprocedure forarithmeticwith functionsymbols”, SRI TR’77.arithmetic+ UIFs

ö Shostak,R. E., “Decidingcombinationsof theories”,JACM’84.Shostaktheory+ UIF

Shostak’s Combination(p.120of 121)

Page 173: On Shostak’s Combination of Decision ProceduresW est-CoastTheorem Proving Theorem provers which rely heavily on decision procedures for automating proofs. Historical. Stanford Pascal

Bibliography

ö Stump,A., Dill, D., Barrett,C., andLevitt, J.,“Adecisionprocedure for extensionaltheoryof arrays”,LICS’01.theoryof arrays

ö Tinelli, C. andRingeissen,C., “Unionsof non-disjointtheoriesandcombinationsof satisfiabilityprocedures”, ElveiserScience’01.New advancesfor non-disjointcombinations

ö Tiwari, A., “Decisionproceduresin automateddeduction”, PhDThesis’00.Shostaktheoriesin NO framework

Shostak’s Combination(p.121of 121)