LARA

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sav08:deciding_quantifier-free_fol_over_ground_terms [2008/05/19 14:04]
vkuncak
sav08:deciding_quantifier-free_fol_over_ground_terms [2015/04/21 17:30]
Line 1: Line 1:
-====== Deciding Quantifier-Free FOL over Ground Terms ====== 
- 
-Instead of considering arbitrary interpretations,​ consider now satisfiability over an interpretation of ground terms. 
- 
-For now also no relation symbols. 
- 
-What is the difference compared to models considered in [[Deciding Quantifier-Free FOL]]? 
- 
-Can we treat variables as constants in this case? 
- 
-Is the following formula satisfiable ? 
-\[ 
-  a=f(a) \land a \neq b 
-\] ++|No. When interpreting variables as constants, two syntactically different terms are different ($a \neq f(a)$).++ 
- 
- 
-And the following ? 
-\[ 
-   ​(f(a)=b \lor (f(f(f(a))) = a \land f(a) \neq f(b))) \land f(f(f(f(a)) \neq b \land b=f(b) 
-\] 
- 
-===== Axioms for Term Algebras ===== 
- 
-Term algebra axioms for function symbols (recall [[Unification]]):​ 
-\[ 
-   ​\forall x_1,​\ldots,​x_n,​y_1,​\ldots,​y_n.\ f(x_1,​\ldots,​x_n)=f(y_1,​\ldots,​y_n) \rightarrow \bigwedge_{i=1}^n x_i=y_i 
-\] 
-and 
-\[ 
-   ​\forall x_1,​\ldots,​x_n,​y_1,​\ldots,​y_m.\ f(x_1,​\ldots,​x_n) \neq g(y_1,​\ldots,​y_m) 
-\] 
-for $g$ and $f$ distinct symbols. 
- 
-Unless the language is infinite, we have that each element is either a constant or is result of application of some function symbols: 
-\[ 
-   ​\forall x. \bigvee_{f \in {\cal L}} \exists y_1,​\ldots,​y_{ar(f)}.\ x=f(y_1,​\ldots,​y_{ar(f)}) 
-\] 
- 
-Additional axiom schema for finite terms: 
-\[ 
-    \forall x. t(x) \neq x 
-\] 
-if $t(x)$ is a term containing $x$ but not identical to $x$. 
- 
-===== Unification as Decision Procedure ===== 
- 
-Represent each disequation $t_1 \neq t_2$ as 
-\[ 
-   x_1 = t_1 \land x_2 = t_2 \land x_1 \neq x_2 
-\] 
-where $x_1,x_2$ are fresh variables. 
- 
-Unification represents the set of all solutions of positive literals. 
- 
-If the mgu does not have same values for $x_1$ and $x_2$, then there is a ground substitution that assigns $x_1$ and $x_2$ different ground terms. ​ More generally, 
- 
-**Theorem:​** Let $E$ be a set of equations and disequations where disequations are only between variables. Let $E^+ = \{ (t_1 \doteq t_2) \mid (t_1 = t_2) \in E \}$ the unification problem for equations in $E$.  Then 
-  * if $E^+$ has no unifier, the set $E$ is unsatisfiable over ground terms; 
-  * if $E^+$ has a most general unifier $\sigma$ such that for all $(x \neq y) \in E$ we have $\sigma(x) \neq \sigma(y)$, then if the language contains at least one function symbol of arity at least one (i.e. the set of ground terms is infinite) then $E$ is satisfiable. 
- 
-Note: we need assumption that there are infinitely many terms, consider for example ${\cal L} = \{ a,b\}$ and formula $x \neq y \land x \neq z \land y \neq z$. 
- 
-===== Algorithmic Aspects ===== 
- 
-We can use DAGs and union-find as well. 
- 
-The result is similar to checking satisfiability of ground formulas over arbitrary interpretations (but e.g. $f(x)=f(y)$ implies $x=y$). 
- 
-===== Selector Symbols ===== 
- 
-They are useful for avoiding the need for variables. 
- 
-We represent $f(x,y)=z$ by $Is_f(z) \land x = f_1(z) \land y = f_2(z)$ 
- 
-const/​car/​cdr:​ one binary function symbol, cons 
- 
-Represent $cons(x,​y)=z$ by  
-\[ 
-    x=car(x) \land y = cdr(z) \land \lnot atom(z) 
-\] 
-here  
-  * $atom(x)$ is negation of $Is_{cons}$ 
-  * $car$ is $cons_1$ 
-  * $cdr$ is $cons_2$. 
- 
-===== Notes on Decidability ===== 
- 
-For quantifier-free formulas, satisfiability is decidable, whether or not we have predicate symbols as well. 
- 
-Let us clarify the status of quantified constraints. 
- 
-In Herbrand interpretation we interpret functions and constants as themselves (their interpretation is fixed) but we interpret predicates as arbitrary predicates on ground terms. 
- 
-So, for quantified case: 
-  * if we have no predicates: theory is decidable, using quantifier elimination (these structures are called "term algebras",​ see [[List of Theories Admitting QE]]) 
-  * if we have predicates: this is satisfiability in Herbrand models, equivalent to satisfiability in FOL without equality, so it is undecidable 
- 
-===== References ===== 
- 
-  * [[http://​lara.epfl.ch/​~kuncak/​papers/​KuncakRinard03TheoryStructuralSubtyping.html|On the Theory of Structural Subtyping]],​ see Lemma 25 on page 13