Non-cyclic sorts for first-order satisfiability (or how to win first-order satisfiability at CASC) Konstantin Korovin 1 The University of Manchester korovin@cs.man.ac.uk FroCoS 2013 1 supported by a Royal Society University Fellowship
First-order satisfiability The problem: Given a set of first-order sentences S check whether S is satisfiable. Complementary to proof finding: Given a set of first-order sentences check whether it is unsatisfiable. Where satisfiability checking is used? ◮ in verification for finding errors in systems ◮ in combinatorial reasoning: scheduling, planning, etc. for finding solutions ◮ in checking consistency of ontologies, theories, axiomatisations ◮ disproving conjectures ◮ ... 2 / 18
First-order satisfiability The problem: Given a set of first-order sentences S check whether S is satisfiable. Complementary to proof finding: Given a set of first-order sentences check whether it is unsatisfiable. Where satisfiability checking is used? ◮ in verification for finding errors in systems ◮ in combinatorial reasoning: scheduling, planning, etc. for finding solutions ◮ in checking consistency of ontologies, theories, axiomatisations ◮ disproving conjectures ◮ ... 2 / 18
Methods for finite model finding General first-order satisfiability is not recursively enumerable. Restrict to finite model finding (FMF). ◮ Finite model finding is recursively enumerable. ◮ But usual first-order reasoning methods such resolution/superposition are incomplete for finite model finding Methods for finite model finding are based on encodings into: ◮ Propositional logic (FINDER, MACE, Paradox) [Slaney; McCune; Claessen, S¨ orensson] Paradox has been winning satisfiability at CASC for the last 10 years. ◮ Geometric logic (Geo) [de Nivelle, Meng] ◮ Effectively propositional logic (EPR) (DarwinFM, iProver) [Baumgartner, de Nivelle, Fuchs, Tinelli] 3 / 18
Methods for finite model finding General first-order satisfiability is not recursively enumerable. Restrict to finite model finding (FMF). ◮ Finite model finding is recursively enumerable. ◮ But usual first-order reasoning methods such resolution/superposition are incomplete for finite model finding Methods for finite model finding are based on encodings into: ◮ Propositional logic (FINDER, MACE, Paradox) [Slaney; McCune; Claessen, S¨ orensson] Paradox has been winning satisfiability at CASC for the last 10 years. ◮ Geometric logic (Geo) [de Nivelle, Meng] ◮ Effectively propositional logic (EPR) (DarwinFM, iProver) [Baumgartner, de Nivelle, Fuchs, Tinelli] 3 / 18
Methods for finite model finding General first-order satisfiability is not recursively enumerable. Restrict to finite model finding (FMF). ◮ Finite model finding is recursively enumerable. ◮ But usual first-order reasoning methods such resolution/superposition are incomplete for finite model finding Methods for finite model finding are based on encodings into: ◮ Propositional logic (FINDER, MACE, Paradox) [Slaney; McCune; Claessen, S¨ orensson] Paradox has been winning satisfiability at CASC for the last 10 years. ◮ Geometric logic (Geo) [de Nivelle, Meng] ◮ Effectively propositional logic (EPR) (DarwinFM, iProver) [Baumgartner, de Nivelle, Fuchs, Tinelli] 3 / 18
Methods for finite model finding General first-order satisfiability is not recursively enumerable. Restrict to finite model finding (FMF). ◮ Finite model finding is recursively enumerable. ◮ But usual first-order reasoning methods such resolution/superposition are incomplete for finite model finding Methods for finite model finding are based on encodings into: ◮ Propositional logic (FINDER, MACE, Paradox) [Slaney; McCune; Claessen, S¨ orensson] Paradox has been winning satisfiability at CASC for the last 10 years. ◮ Geometric logic (Geo) [de Nivelle, Meng] ◮ Effectively propositional logic (EPR) (DarwinFM, iProver) [Baumgartner, de Nivelle, Fuchs, Tinelli] 3 / 18
Effectively Propositional Logic (EPR) EPR: No functions except constants: P ( x , y ) ∨ ¬ Q ( c , y ) Transitivity: ¬ P ( x , y ) ∨ ¬ P ( y , z ) ∨ P ( x , z ) Symmetry: P ( x , y ) ∨ ¬ P ( y , x ) Verification: ∀ A ( wren h 1 ∧ A = wraddrFunc → ∀ B ( range [35 , 0] ( B ) → ( imem ′ ( A , B ) ↔ iwrite ( B )))) . Applications many problems can be encoded into the EPR: ◮ Hardware Verification (Intel) ◮ Planning/Scheduling ◮ Finite model finding Instantiation-based methods excel in the EPR fragment. 4 / 18
Effectively Propositional Logic (EPR) EPR: No functions except constants: P ( x , y ) ∨ ¬ Q ( c , y ) Transitivity: ¬ P ( x , y ) ∨ ¬ P ( y , z ) ∨ P ( x , z ) Symmetry: P ( x , y ) ∨ ¬ P ( y , x ) Verification: ∀ A ( wren h 1 ∧ A = wraddrFunc → ∀ B ( range [35 , 0] ( B ) → ( imem ′ ( A , B ) ↔ iwrite ( B )))) . Applications many problems can be encoded into the EPR: ◮ Hardware Verification (Intel) ◮ Planning/Scheduling ◮ Finite model finding Instantiation-based methods excel in the EPR fragment. 4 / 18
EPR-based finite model finding [Baumgartner, de Nivelle, Fuchs, Tinelli] Basic idea: Eliminate functions ◮ C [ t ] ⇒ t �≃ x ∨ C [ x ] ◮ Q ( f ( g ( x ))) ⇒ ¬ P f ( y 1 , y 2 ) ∨ ¬ P g ( x , y 1 ) ∨ Q ( y 2 ) Step2. Replace functions by predicates: ◮ f ( x 1 , . . . , x n ) ≃ y can be represented by P f ( x 1 , . . . , x n , y ) provided: ◮ P f is right-unique: ∀ ¯ x , y [( P f (¯ x , y ) ∧ P f (¯ x , y ′ )) → y ≃ y ′ ] function-free EPR (possible to drop) ◮ P f right-total: ∀ ¯ x ∃ yP f (¯ x , y ) for finite domains can be expressed using domain axiom: ∀ ¯ x [ P f (¯ x , 1) ∨ . . . ∨ P f (¯ x , n )] 5 / 18
EPR-based finite model finding [Baumgartner, de Nivelle, Fuchs, Tinelli] Basic idea: Eliminate functions Step1. Flattening: replacing complex terms by flat terms: ◮ C [ t ] ⇒ t �≃ x ∨ C [ x ] ◮ Q ( f ( g ( x ))) ⇒ ¬ P f ( y 1 , y 2 ) ∨ ¬ P g ( x , y 1 ) ∨ Q ( y 2 ) Step2. Replace functions by predicates: ◮ f ( x 1 , . . . , x n ) ≃ y can be represented by P f ( x 1 , . . . , x n , y ) provided: ◮ P f is right-unique: ∀ ¯ x , y [( P f (¯ x , y ) ∧ P f (¯ x , y ′ )) → y ≃ y ′ ] function-free EPR (possible to drop) ◮ P f right-total: ∀ ¯ x ∃ yP f (¯ x , y ) for finite domains can be expressed using domain axiom: ∀ ¯ x [ P f (¯ x , 1) ∨ . . . ∨ P f (¯ x , n )] 5 / 18
EPR-based finite model finding [Baumgartner, de Nivelle, Fuchs, Tinelli] Basic idea: Eliminate functions Step1. Flattening: replacing complex terms by flat terms: ◮ C [ t ] ⇒ t �≃ x ∨ C [ x ] ◮ Q ( f ( g ( x ))) ⇒ ¬ P f ( y 1 , y 2 ) ∨ ¬ P g ( x , y 1 ) ∨ Q ( y 2 ) Step2. Replace functions by predicates: ◮ f ( x 1 , . . . , x n ) ≃ y can be represented by P f ( x 1 , . . . , x n , y ) provided: ◮ P f is right-unique: ∀ ¯ x , y [( P f (¯ x , y ) ∧ P f (¯ x , y ′ )) → y ≃ y ′ ] function-free EPR (possible to drop) ◮ P f right-total: ∀ ¯ x ∃ yP f (¯ x , y ) for finite domains can be expressed using domain axiom: ∀ ¯ x [ P f (¯ x , 1) ∨ . . . ∨ P f (¯ x , n )] 5 / 18
EPR-based finite model finding [Baumgartner, de Nivelle, Fuchs, Tinelli] Basic idea: Eliminate functions Step1. Flattening: replacing complex terms by flat terms: ◮ C [ t ] ⇒ t �≃ x ∨ C [ x ] ◮ Q ( f ( g ( x ))) ⇒ g ( x ) �≃ y 1 ∨ Q ( f ( y 1 )) ⇒ ¬ P f ( y 1 , y 2 ) ∨ ¬ P g ( x , y 1 ) ∨ Q ( y 2 ) Step2. Replace functions by predicates: ◮ f ( x 1 , . . . , x n ) ≃ y can be represented by P f ( x 1 , . . . , x n , y ) provided: ◮ P f is right-unique: ∀ ¯ x , y [( P f (¯ x , y ) ∧ P f (¯ x , y ′ )) → y ≃ y ′ ] function-free EPR (possible to drop) ◮ P f right-total: ∀ ¯ x ∃ yP f (¯ x , y ) for finite domains can be expressed using domain axiom: ∀ ¯ x [ P f (¯ x , 1) ∨ . . . ∨ P f (¯ x , n )] 5 / 18
EPR-based finite model finding [Baumgartner, de Nivelle, Fuchs, Tinelli] Basic idea: Eliminate functions Step1. Flattening: replacing complex terms by flat terms: ◮ C [ t ] ⇒ t �≃ x ∨ C [ x ] ◮ Q ( f ( g ( x ))) ⇒ g ( x ) �≃ y 1 ∨ Q ( f ( y 1 )) ⇒ f ( y 1 ) �≃ y 2 ∨ g ( x ) �≃ y 1 ∨ Q ( y 2 ) ⇒ ¬ P f ( y 1 , y 2 ) ∨ ¬ P g ( x , y 1 ) ∨ Q ( y 2 ) Step2. Replace functions by predicates: ◮ f ( x 1 , . . . , x n ) ≃ y can be represented by P f ( x 1 , . . . , x n , y ) provided: ◮ P f is right-unique: ∀ ¯ x , y [( P f (¯ x , y ) ∧ P f (¯ x , y ′ )) → y ≃ y ′ ] function-free EPR (possible to drop) ◮ P f right-total: ∀ ¯ x ∃ yP f (¯ x , y ) for finite domains can be expressed using domain axiom: ∀ ¯ x [ P f (¯ x , 1) ∨ . . . ∨ P f (¯ x , n )] 5 / 18
EPR-based finite model finding [Baumgartner, de Nivelle, Fuchs, Tinelli] Basic idea: Eliminate functions Step1. Flattening: replacing complex terms by flat terms: ◮ C [ t ] ⇒ t �≃ x ∨ C [ x ] ◮ Q ( f ( g ( x ))) ⇒ g ( x ) �≃ y 1 ∨ Q ( f ( y 1 )) ⇒ f ( y 1 ) �≃ y 2 ∨ g ( x ) �≃ y 1 ∨ Q ( y 2 ) ⇒ ¬ P f ( y 1 , y 2 ) ∨ ¬ P g ( x , y 1 ) ∨ Q ( y 2 ) Step2. Replace functions by predicates: ◮ f ( x 1 , . . . , x n ) ≃ y can be represented by P f ( x 1 , . . . , x n , y ) provided: ◮ P f is right-unique: ∀ ¯ x , y [( P f (¯ x , y ) ∧ P f (¯ x , y ′ )) → y ≃ y ′ ] function-free EPR (possible to drop) ◮ P f right-total: ∀ ¯ x ∃ yP f (¯ x , y ) for finite domains can be expressed using domain axiom: ∀ ¯ x [ P f (¯ x , 1) ∨ . . . ∨ P f (¯ x , n )] 5 / 18
Recommend
More recommend