User:Sterling/fcc

The concept of Model
Some Definitions

H.Stachowiak: der Begriff Modell ist durch drei Merkmale gekennzeichnet:


 * 1) Abbildung. Ein Modell ist immer ein Abbild von etwas, eine Repräsentation natürlicher oder künstlicher Originale, die selbst wieder Modelle sein können.
 * 2) Verkürzung. Ein Modell erfasst nicht alle Attribute des Originals, sondern nur diejenigen, die dem Modellschaffer bzw. Modellnutzer relevant erscheinen.
 * 3) Pragmatismus. Pragmatismus bedeutet soviel wie Orientierung am Nützlichen. Ein Modell ist einem Original nicht von sich aus zugeordnet. Die Zuordnung wird durch die Fragen Für wen?, Warum? und Wozu? relativiert. Ein Modell wird vom Modellschaffer bzw. Modellnutzer innerhalb einer bestimmten Zeitspanne und zu einem bestimmten Zweck für ein Original eingesetzt. Das Modell wird somit interpretiert.

K.D.Wüsteneck: Ein Modell ist ein System, das als Repräsentant eines komplizierten Originals auf Grund mit diesem gemeinsamer, für eine bestimmte Aufgabe wesentlicher Eigenschaften von einem dritten System benutzt, ausgewählt oder geschaffen wird, um letzterem die Erfassung oder Beherrschung des Originals zu ermöglichen oder zu erleichtern, beziehungsweise um es zu ersetzen.

Essence: Reduction of sth, dependent on a view.

Languages for Models
Reduction => Simplicity, but enough expressive power to express all information relevant for the view.

E.g. Logical ER-Model (Business view, no implementation), Use-Case-Model (customer view on functionality), State model (only states/behaviour of the system) ...

Hierarchy of expressive power: ...
 * 0 Propositional languages
 * 1 (Relational) first order languages
 * 2 Regular languages (Type-3)
 * 5 Recursive enumerable languages (Type-0)

2-5 is defined as the Chomsky Hierarchy. The cohesion from 1 to 2 is given by Fagin's Theorem.

Central Issue: Rightsizing expressive power of Language.

Idea of Hoare Logic
Theory of programming languages: Mapping language elements to logical expressions.

Example

The Conditional

if b then P else Q

can logically be expressed as

$$(b \land P) \lor (\lnot b \land Q)$$

Benefits
 * common understanding of different languages
 * well-gounded research and education on programming issues (e.g. software design)
 * mathematical analysis of programs (e.g. correctness proofs)

Lesson learned for Modelling

Map elements of modelling language to logical expressions. This enables common understanding of languages and is a basis for well-grounded research and education (what languages like UML strongly lacking in). But, the aim here is not (so much) to proof correctness, but to deal with expressive power.

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$$.

Isomorphism
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}$$.

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.

Isomorphy in infinite Elementary Equivalent Structures
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.

Isomorphy in finite Elementary Equivalent Structures
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

Idea of Finite Model Theory
Analysing the expressive power of first of formal languages (First Order or higher). For this purpose proof techniques have been developed (since the ones from Model Theory fail for the finite case). Most important one: Ehrenfeucht Games (that we don't explain here any further - just assume that it does 'something useful').

Theorems of MT in FMT

Consider the following sentence σ3

$$\exists_x \exists_y \exists_z (x\ne y \land y\ne z \land x\ne z)$$

that says that there are at least 3 different elements in a universe. One can expand σ3 easily for n other than 3. So, let Σ = {σ1, σ2, σ3, ...} be the infinite set of all these sentences. Now Σ is obviously not satisfiable by a finite model, although every finite subset of Σ is. Ok, but why does that matter? One of the most useful tools in general Model theory is the Compactness theorem, stating: "Let Σ be a set of FO sentences. If every finite subset of Σ is satisfiable, then Σ is satisfiable." But as just shown this doesn't hold for the finite case, thus there is no Compactness theorem in Finite Model Theory!

And (unfortunately) this is the case for many other important theorems as well (actually the very most of them) like e.g. Gödel's Completeness theorem. So Finite Model Theorists can not simply adopt the classic instruments from Model theory, they have to find their own. The basic ones are presented subsequently.

Main Corollary

Let P be a property of finite σ-structures. Then the following are equivalent


 * P is not expressible in FO
 * for every k $$\in \mathbb{N}$$ there exist two finite σ-structures $$\mathfrak{A}_k$$ and $$\mathfrak{B}_k$$, such that the following are both satisfied
 * $$\mathfrak{A}_k\equiv_k \mathfrak{B}_k$$
 * $$\mathfrak{A}_k$$ has P and $$\mathfrak{B}_k$$ does not have P

where $$\equiv_k$$ is the elementary equivalence to a certain 'extent' k. This part is then shown employing Ehrenfeucht Games.

Lesson learned for Modelling

Develop suitable expressibility-proof techniques, for languages simpler than FO.