LARA

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
sav08:axioms_for_equality [2009/05/05 23:16]
vkuncak
sav08:axioms_for_equality [2015/04/21 17:30] (current)
Line 1: Line 1:
 ====== Axioms for Equality ====== ====== Axioms for Equality ======
 +
 +//The following definitions are useful when axiomatizing equality in a logic that does not have equality built in. It is also useful when discussing algorithms that automate reasoning about equality.//
  
 For language ${\cal L}$ and a relation symbol $eq \notin {\cal L}$, the theory of equality, denoted AxEq, is the following set of formulas: For language ${\cal L}$ and a relation symbol $eq \notin {\cal L}$, the theory of equality, denoted AxEq, is the following set of formulas:
Line 6: Line 8:
   * Transitivity:​ ++| $\forall x. \forall y. \forall z.\ eq(x,y) \land eq(y,z) \rightarrow eq(x,z)$ ++   * Transitivity:​ ++| $\forall x. \forall y. \forall z.\ eq(x,y) \land eq(y,z) \rightarrow eq(x,z)$ ++
   * Congruence for function symbols: for $f \in {\cal L}$ function symbol with $ar(f)=n$, ++ |   * Congruence for function symbols: for $f \in {\cal L}$ function symbol with $ar(f)=n$, ++ |
-\[+\begin{equation*}
    ​\forall x_1,​\ldots,​x_n,​ y_1,​\ldots,​y_n.\ (\bigwedge_{i=1}^n eq(x_i,​y_i)) \rightarrow eq(f(x_1,​\ldots,​x_n),​f(y_1,​\ldots,​y_n))    ​\forall x_1,​\ldots,​x_n,​ y_1,​\ldots,​y_n.\ (\bigwedge_{i=1}^n eq(x_i,​y_i)) \rightarrow eq(f(x_1,​\ldots,​x_n),​f(y_1,​\ldots,​y_n))
-\]+\end{equation*}
 ++ ++
   * Congruence for relation symbols: for $R \in {\cal L}$ relation symbol with $ar(R)=n$, ++ |   * Congruence for relation symbols: for $R \in {\cal L}$ relation symbol with $ar(R)=n$, ++ |
-\[+\begin{equation*}
    ​\forall x_1,​\ldots,​x_n,​ y_1,​\ldots,​y_n.\ (\bigwedge_{i=1}^n eq(x_i,​y_i)) \rightarrow (R(x_1,​\ldots,​x_n) \leftrightarrow R(y_1,​\ldots,​y_n))    ​\forall x_1,​\ldots,​x_n,​ y_1,​\ldots,​y_n.\ (\bigwedge_{i=1}^n eq(x_i,​y_i)) \rightarrow (R(x_1,​\ldots,​x_n) \leftrightarrow R(y_1,​\ldots,​y_n))
-\]+\end{equation*}
 ++ ++
  
 **Definition:​** if an interpretation $I = (D,\alpha)$ the axioms $AxEq$ are true, then we call $\alpha(eq)$ (the interpretation of eq) a //​congruence//​ relation for interpretation $I$. **Definition:​** if an interpretation $I = (D,\alpha)$ the axioms $AxEq$ are true, then we call $\alpha(eq)$ (the interpretation of eq) a //​congruence//​ relation for interpretation $I$.
  
-**Side remark:** Functions are relations. ​ However, the condition above for function symbols is weaker than the condition for relation symbols. ​ If $f$ is a function, then the relation $\{(x_1,​\ldots,​x_n,​f(x_1,​\ldots,​x_n)) \mid x_1,​\ldots,​x_n \in D \}$ does not satisfy the congruence condition because it only has one result, namely $f(x_1,​\ldots,​x_n)$,​ and not all the results that are in relation eq with $f(x_1,​\ldots,​x_n)$.+**Side remark:** Functions are relations. ​ However, the condition above for function symbols is weaker than the condition for relation symbols. ​ If $f$ is a function, then the relation $\{(x_1,​\ldots,​x_n,​f(x_1,​\ldots,​x_n)) \mid x_1,​\ldots,​x_n \in D \}$ does not satisfy the congruence condition because it only has one result, namely $f(x_1,​\ldots,​x_n)$,​ and not all the results that are in relation eq with $f(x_1,​\ldots,​x_n)$. However, if we start from the condition for functions and treat relations as functions that return true or false, we obtain the condition for relations. So, it makes sense here to treat relations as a special case of functions.
  
 ===== References ===== ===== References =====
   * [[Calculus of Computation Textbook]], Section 3.1   * [[Calculus of Computation Textbook]], Section 3.1