User:Sterling/fca

Only relational first order languages are used in the following.

Example: Formulation of requirements for software - here simplified to a single relation (this can refere to a static model in software-engineering, like a data model or a component structure) and requirements language is FO. So one can require the software to have properties like

While collecting the requirements the question arises can we ever stop, i.e. is there a point where the software (i.e. the relation) is uniquely specified? We consider this issue for the general case first, to find that there are cases where FO is not expressive enough to provide a unique description. Later we restric ourselves to finite models where a unique specification (up to isomorphy) is always possible.

Befor we go into the details we introduce some formalisation of uniqueness.

Elementary Equivalence
Definition Elementary Equivalence of Structures

Let $$\mathfrak{A}$$ and $$\mathfrak{B}$$ be S-Structures. $$\mathfrak{A}$$ and $$\mathfrak{B}$$ are said to be Elementary Equivalent (short: $$\mathfrak{A} \equiv \mathfrak{B}$$) iff for all S-Sentences φ it is


 * $$\mathfrak{A}\vDash \varphi$$   iff    $$\mathfrak{B}\vDash \varphi$$.

Isomorphy
Definition Isomorphism on Structures and Isomorphic Structures

Let $$\mathfrak{A}$$ and $$\mathfrak{B}$$ be S-Structures. A mapping $$p: A \to B$$ is said to be an Isomorphism from $$\mathfrak{A}$$ to $$\mathfrak{B}$$ (short: p:$$\mathfrak{A}\cong \mathfrak{B}$$) iff all of the following conditions hold:
 * 1) p is a bijection from $$A$$ to $$B$$
 * 2) for n-ary $$R \in S$$ it is
 * $$R^\mathfrak{A} a_1, ..., a_n \iff R^\mathfrak{B} p(a_1), ..., p(a_n)$$
 * 1) for n-ary $$f \in S$$ it is
 * $$p( f^\mathfrak{A} (a_1, ..., a_n) ) = a \iff f^\mathfrak{B} (p(a_1), ..., p(a_n)) = p(a)$$
 * 1) for $$c \in S$$ it is
 * $$p(c^\mathfrak{A}) \iff c^\mathfrak{B}$$

with $$a_1, ..., a_n; a \in A$$.

$$\mathfrak{A}$$ and $$\mathfrak{B}$$ are said to be isomorphic (short: $$\mathfrak{A}\cong \mathfrak{B}$$) iff there exists an isomorphism from $$\mathfrak{A}$$ to $$\mathfrak{B}$$.

Isomorphy implies Elementary Equivalence
Lemma Elementary Equivalence in Isomorpic Structures

Let $$\mathfrak{A}$$ and $$\mathfrak{B}$$ be S-Structures. It is


 * if $$\mathfrak{A}\cong \mathfrak{B}$$ then $$\mathfrak{A}\equiv \mathfrak{B}$$.

The inverse is not the case, i.e. elementary equivalent S-Structures are not isomorphic in general.

Unique specification of infinite models
In order to show that elementary equivalence does not generally imply isomorphy, consider the Peano Arithmetic, as given by the following axioms:
 * 1) $$\forall x(Sx \neq 0).$$
 * 2) $$\forall x,y((Sx = Sy) \Rightarrow x=y).$$
 * 3) $$(\varphi[0] \wedge \forall x(\varphi[x]\Rightarrow\varphi[Sx])) \Rightarrow \forall x(\varphi[x]),$$ for any formula $$\varphi$$ in the language of PA.
 * 4) $$\forall x(x+0=x).$$
 * 5) $$\forall x,y(x+Sy = S(x+y)).$$
 * 6) $$\forall x(x \cdot 0=0).$$
 * 7) $$\forall x,y(x \cdot Sy = (x \cdot y) + x).$$

Now consider N(+, *) as model A. In order to construct an elementary equivalent but not isomorphic model simply add an element a that is not yet in N. To satisfy axiom 3 we also have to add successors and predecessors starting from a. For satisfying axioms 4 to 7 the results of addiotions and multiplications of the new elements have to be added as well. So, finally we have constructed a non-isomporphic model for A that obeys all the above axioms.

Notice that this can not be done with the peano axioms, since axiom 3 ist stricter there, i.e. it is about the set of all natural numbers not just of some, as the above is.

Formalising the above leads to the following theorem:

Skolem Theorem


 * There is a non-standard model of arithmetic,

where 'non-standard' means elementary equivalent but nor isomorphic.

But it gets even worse:

Theorem


 * For every infinite structure there is a elementary equivalent and non-isomorphic structure.

We omit any proof or explaination here. This leaves us with the case of finite structures, to find out how elementary equivalence and isomorphy relate there.

Unique specification of finite models
Theorem

For finite relational structures $$\mathfrak{A}$$ and $$\mathfrak{A}$$ it is
 * $$\mathfrak{A}\cong \mathfrak{B}$$ iff $$\mathfrak{A}\equiv \mathfrak{B}$$.

Proof

"=>" follows immediately from the general case.

"<=": First, we construct a sentence to describe every possible structure generically Alltogether (by conjunction) we get a up to isomorphism unique structure. To see this, compare to the definition of isomorphy: relations and constants are determined entirely and the bijectivity is insured by the fixed number of elements.
 * The number of elements of the universe can precisely be expressed by the following:
 * ..., says that there are at least n elements in the universe
 * ..., says that the universe contains at most n elements
 * Any relation in the language can be described by describing it element by element
 * $$R x_1, ..., x_n$$, in case ...
 * $$\neg R x_1, ..., x_n$$, in case ...
 * Constants can be mapped by
 * Not to forget the equivalence relation, we add
 * Not to forget the equivalence relation, we add