-Algebren Σ 4 Terme...
Transcript of -Algebren Σ 4 Terme...
Grundlagen der Mathematik für Informatiker 1
4 Terme und Σ-Algebren
4.1 Grundterme und Terme
Es sei ΦF eine Menge von Funktionssymbolen.
funktionale Signatur:
ΣF ⊆ ΦF ×N — Menge von Paaren (Symbol, Stelligkeit)
Σ(i)F := f | ( f , i) ∈ ΣF, i fest, d.h.
Σ(i)F ⊆ ΦF enthält alle i-stelligen Funktionssymbole.
ΦF =⋃
i∈N Σ(i)F
nullstellige Funktionssymbole bezeichnet man auch als
Konstantensymbole
Grundlagen der Mathematik für Informatiker 2
Beispiel 1 (Signaturen)
Halbgruppen Σ = ΣF = (·,2) mit Σ(2) = ·
Monoide Σ = ΣF = (·,2),(e,0) mit Σ(0) = e und Σ(2) = ·
Halbringe Σ = ΣF = (+,2),(·,2),(0,0)
Mengenalgebra Σ = ΣF = (∪,2),(∩,2),( /0,0)
Arithmetik mit rationalen Zahlen
Σ = ΣF = (+,2),(−,2),(·,2),(/,2)∪(cq,0)|q ∈Q
„Obst“ Σ = ΣF
mit Σ(2)F = apfel,birne, Σ(1)
F = banane und Σ(0)F = pflaume
Grundlagen der Mathematik für Informatiker 3
Grundterme
Σ := ΣF sei eine funktionale Signatur.
Definition 4.1 (induktiv) Die Menge Term(Σ) aller Grundterme über Σist die kleinste Menge mit folgender Eigenschaft:
1. Σ(0)F ⊆ Term(Σ) und
2. für jedes n ∈ N, jedes f ∈ Σ(n)F und alle t1, . . . , tn ∈ Term(Σ) gilt
f (t1, . . . , tn) ∈ Term(Σ).
Folgerung 4.1 Für alle Signaturen Σ mit Σ(0) = /0 gilt Term(Σ) = /0.
Grundlagen der Mathematik für Informatiker 4
Beispiel 2
Σ = (+,2),(−,2),(/,2)∪(q,0)|q ∈Q: Term(Σ) ist die Menge aller
arithmetischen Ausdrücke (Terme) mit rationalen Zahlen
z.B. (0.5+13)/(5−2.7) ∈ Term(Σ)
Syntax der Aussagenlogik (ohne Variablen):
Σ(2) = ∨,∧,→,↔, Σ(1) = ¬, Σ(0) = f, tTerm(Σ) = AL(f, t)z.B. (f∧ t)→ t
Signatur „Obst“: mit Σ(2) = apfel,birne, Σ(1) = banane und
Σ(0) = pflaume:
z.B. pflaume ∈ Term(Σ), birne(pflaume,pflaume) ∈ Term(Σ)banane(apfel(pflaume,banane(pflaume))) ∈ Term(Σ)
Grundlagen der Mathematik für Informatiker 5
Terme mit Variablen
Es seien Σ = ΣF eine funktionale Signatur und X eine Menge von
Variablen, X ∩ΦF = /0.
Definition 4.2 (induktiv) Die Menge Term(Σ,X) aller Terme über Σ mit
Variablen aus X ist die kleinste Menge mit folgenden Eigenschaften:
1. X ∪Σ0F ⊆ Term(Σ,X) und
2. für jedes n ∈ N, jedes f ∈ Σ(n)F und alle t1, . . . , tn ∈ Term(Σ,X) gilt
f (t1, . . . , tn) ∈ Term(Σ,X).
Bemerkung: Term(Σ) = Term(Σ, /0)
Grundlagen der Mathematik für Informatiker 6
Beispiel 3
1. für Σ(2) = +,−,/ und X = a,b,c:
Term(Σ,X) Menge aller arithmetischen Ausdrücke (Terme) mit
Variablen aus X
z.B. (a+ c)/(b−a) ∈ Term(Σ,X)
2. für Σ(2) = ∨,∧,→,↔, Σ(1) = ¬, Σ(0) = f, t und P = a,bTerm(Σ,P) = AL(P) (aussagenlogische Formeln)
z.B. (a∧b)→ (a∨ f)
3. Signatur Σ = ΣF mit
Σ(2)F = apfel,birne, Σ(1)
F = banane, Σ(0)F = pflaume und
X = x,y,zz.B. z ∈ Term(Σ,X), pflaume ∈ Term(Σ,X),
pflaume ∈ Term(Σ, /0),apfel(birne(x,pflaume),banane(y)) ∈ Term(Σ,X)
Grundlagen der Mathematik für Informatiker 7
Teilterm-Relation
Definition 4.3 Ein Term t ′ ∈ Term(Σ) heißt Teilterm eines Termes
t ∈ Term(Σ), wenn t ′ eine der folgenden Eigenschaften erfüllt:
1. t ′ = t oder
2. t = f (t1, · · · , tn) und es existiert ein k ∈ 1, · · · ,n derart, dass t ′
Teilterm von tk ist.
Beispiel 4
f (g(a,g( f (b),a))), g(a,g( f (b),a)), a, g( f (b),a), f (b) und b
sind Teilterme von f (g(a,g( f (b),a)))
Bemerkung: Für jede funktionale Signatur Σ ist die Relation
„ist Teilterm von“ eine Halbordnung auf der Menge Term(Σ).
Grundlagen der Mathematik für Informatiker 8
Σ-Algebren
Syntax funktionale Signatur Σ, f Funktionssymbol mit ( f ,n) ∈ Σ
Semantik Algebra (A,Ω), Funktion (Operation) ω f ∈ Ω, ω f : An → A
alternative Bezeichnung für Algebren
Definition 4.4 Es sei Σ eine funktionale Signatur. S = (A,VS) heißt
Σ-Algebra , falls
1. A eine nichtleere Menge (Trägermenge oder Universum genannt) ist,
und
2. für f mit ( f ,n) ∈ Σ gilt VS( f ) : An → A.
Grundlagen der Mathematik für Informatiker 9
Zusammenhang zwischen universellen Algebren(Definition 3.2) und Σ-Algebren
Algebra (A,Ω) nach Definition 3.2:
Ω ist eine Menge von Funktionen (Operationen) auf A
Σ-Algebra S = (A,VS):
Funktion VS, die jedem ( f ,n) ∈ Σ eine n-stellige Funktion VS( f ) : An → A
zuordnet.
Für jede Σ-Algebra S = (A,VS) ist (A,Ω) mit Ω = VS( f )| f ∈ Σ eine
Algebra nach Definition 3.2.
Für jede Algebra (A,Ω) nach Definition 3.2 ist die Algebra S = (A,VS),
wobei Σ = ( fω,n) : ω ∈ Ω∧ω : An → A und VS( fω) = ω, eine
Σ-Algebra ( fω ist ein Name für ω.).
Grundlagen der Mathematik für Informatiker 10
Beispiel 5 • Für Σ = (·,2),(e,0) gilt:
1. (N,+,0) entspricht der Σ-Algebra S1 = (N,VS1) mit VS1(·) = +
und VS1(e) = 0, und
2. (2N,∪, /0) entspricht der Σ-Algebra S2 = (2N,VS2) mit VS2(·) = ∪und VS2(e) = /0, und
3. (Q,+,0.3) entspricht der Σ-Algebra S3 = (Q,VS3) mit VS3(·) = +
und VS3(e) = 0.3.
• Für Σ(2) = apfel,birne, Σ(1) = banane, Σ(0) = pflaume gilt:
1. (R≥0, + , · ,√
,0.25) entspricht der Σ-Algebra S4 = (R≥0,VS4)
mit VS4(apfel) = + ,VS4(birne) = · ,VS4(banane) =√
,
VS4(pflaume) = 0.25
2. (2N, ∪ , ∩ , komp , /0) entspricht der Σ-Algebra S5 = (2N,VS5) mit
VS5(apfel) = ∪ ,VS5(birne) = ∩ ,
VS5(banane) = komp ,VS5(pflaume) = /0.
Grundlagen der Mathematik für Informatiker 11
Werte von Grundtermen in Algebren
Es seien Σ eine funktionale Signatur und S = (A,VS) eine Σ-Algebra.
Definition 4.5 Die Funktion VS : Term(Σ)→ A ordnet jedem Grundterm
t = f (t1, · · · , tn) ∈ Term(Σ) seinen Wert VS(t) in der Σ-Algebra S zu:
VS(t) =VS( f )(VS(t1), · · · ,VS(tn)) .
Spezialfall für t = c ∈ Σ(0) : VS(t) =VS(c)
Grundlagen der Mathematik für Informatiker 12
Beispiel 6
Signatur Σ = (·,2),(e,0), Term t = e · e :
Wert von t in der Σ-Algebra S1 = (N,+,0)
(S1 = (N,VS1) mit VS1(·) = + und VS1(e) = 0)
VS1(t) =VS1(·)(VS1(e),VS1(e)) = +(0,0) = 0+0 = 0
Wert von t in S2 = (2N,∪, /0)(S2 = (2N,VS2) mit VS2(·) = ∪ und VS2(e) = /0)VS2(t) =VS2(·)(VS2(e),VS2(e)) = ∪( /0, /0) = /0∪ /0 = /0
Wert von t in S3 = (Q,+,0.3)
(S3 = (Q,VS3) mit VS3(·) = + und VS3(e) = 0.3)
VS3(t) =VS3(·)(VS3(e),VS3(e)) = +(0.3,0.3) = 0.3+0.3 = 0.6
Grundlagen der Mathematik für Informatiker 13
Beispiel 7
Signatur Σmit Σ(2) = apfel,birne, Σ(1) = banane, Σ(0) = pflaume,
Terme s, t ∈ Term(Σ) mit
s = birne(pflaume,banane(pflaume)),
t = banane(apfel(pflaume,banane(pflaume))):
Σ-Algebra S4 = (R≥0,VS4) mit
VS4(apfel) = +,VS4(birne) = ·,VS4(banane) =
√,VS4(pflaume) = 0.25
VS4(s) = 0.125,VS4(t) =√
3/2
Σ-Algebra S5 = (2N,VS5) mit
VS5(apfel) = ∪,VS5(birne) = ∩,VS5(banane) = komp,
VS5(pflaume) = /0VS5(s) = /0,VS5(t) = /0
Grundlagen der Mathematik für Informatiker 14
Äquivalenz von Grundtermen
Definition 4.6 Grundterme s, t ∈ Term(Σ, /0) mit VS(s) =VS(t) heißen
(semantisch) äquivalent in der Σ-Algebra S.
Notation: (s ≡S t)
Beispiel: Für s, t und S4,S5 im vorigen Beispiel gilt: s 6≡S4 t, aber s ≡S5 t.
Bemerkung: Für jede Σ-Algebra S ist ≡S eine Äquivalenzrelation auf der
Menge Term(Σ).
Satz 4.2 Entsteht der Term s ∈ Term(Σ) aus dem Term t ∈ Term(Σ),indem in t ein Vorkommen eines Teiltermes t ′ von t durch einen Term s′
mit s′ ≡S t ′ ersetzt wird, so gilt s ≡S t.
Beweis: strukturelle Induktion über den Aufbau von t.
Grundlagen der Mathematik für Informatiker 15
Definition 4.7 Für jede funktionale Signatur Σ mit Σ(0) 6= /0 heißt die
Σ-Algebra T (Σ) = (Term(Σ),VT (Σ)), in welcher für alle ( f ,n) ∈ Σ und alle
t1, . . . , tn ∈ Term(Σ) die Beziehung
VT (Σ)( f )(t1, . . . , tn) = f (t1, . . . , tn)
gilt, Grundtermalgebra zu Σ.
Folgerung 4.3 1. Für jede Signatur Σ und jeden Grundterm
t ∈ Term(Σ) gilt VT (Σ)(t) = t.
2. Für jede Σ-Algebra S ist ≡S eine Kongruenzrelation auf der
Grundtermalgebra T (Σ).
Grundlagen der Mathematik für Informatiker 16
Beispiel 8 • Σ = Σ(0): Term(Σ) = Σ(0)
T (Σ) = (Σ(0),VT (Σ)), wobei für alle c ∈ Σ(0) gilt VT (Σ)(c) = c.
• Σ = ( f ,1),(c,0): Term(Σ) = f n(c)|n ∈ NT (Σ) = ( f n(c)|n ∈ N,VT (Σ)) mit VT (Σ)(c) = c und für alle
t ∈ f n(c)|n ∈ N gilt VT (Σ)( f )(t) = f (t).
Homomorphismen von Termalgebren
Satz 4.4 Es sei Σ(0) 6= /0. Für jede Σ-Algebra S = (A,VS) ist die Funktion
VS : Term(Σ)→ A ein Homomorphismus von T (Σ) in S.
Grundlagen der Mathematik für Informatiker 17
4.2 Relationale Strukturen
Menge A mit n-stelligen Relationen R ⊆ An
z.B. Halbordnungen (N,≤),(N, |),(Z,≤),(R,≤),(2X ,⊆)
relationale Signatur Σ ⊆ ΦR ×N (analog zu funktionaler Signatur)
Definition 4.8 Zu einer relationalen Signatur Σ ist S = (A,VS) eine
relationale Σ-Struktur , falls
1. A eine nichtleere Menge (Trägermenge oder Universum) ist, und
2. VS(R)⊆ An für jedes (R,n) ∈ Σ gilt.
vgl. Def. 4.4: eine Σ-Algebra wird auch funktionale Struktur genannt.
Beispiel 9 Σ = (R,2),(Z,≤): Σ-Struktur S1 = (Z,VS1) mit VS1(R) = (m,n) | m ≤ n(N, | ): Σ-Struktur S2 = (N,VS2) mit VS2(R) = (m,n) | m|n(N,=): Σ-Struktur S3 = (N,VS3) mit VS3(R) = (n,n) | n ∈ N
Grundlagen der Mathematik für Informatiker 18
Homomorphismen auf relationalen Strukturen
Gegeben sei eine relationale Signatur Σ = ΣR.
Definition 4.9 Für zwei Σ-Strukturen S1 = (A,VS1) und S2 = (B,VS2)
heißt eine Funktion h : A → B Homomorphismus von S1 in S2 genau
dann, wenn für alle (R,n) ∈ Σ und alle (a1, · · · ,an) ∈ An gilt:
Aus (a1, · · · ,an) ∈VS1(R) folgt (h(a1), · · · ,h(an)) ∈VS2(R).
Definition 4.10 Zwei Σ-Strukturen S1 = (A,VS1) und S2 = (B,VS2)
heißen isomorph , falls eine Bijektion h : A → B existiert, sodass für alle
(R,n) ∈ Σ und alle (a1, · · · ,an) ∈ An gilt:
(a1, · · · ,an) ∈VS1(R) genau dann, wenn (h(a1), · · · ,h(an)) ∈VS2(R).
Grundlagen der Mathematik für Informatiker 19
Beispiele:
Zur relationalen Signatur Σ = (R,2) betrachten wir folgende
Σ-Strukturen:
S1 = (2N \ /0,⊇)(
S1 = (2N \ /0,VS1) mit VS1(R) = (M,N)|M ⊇ N)
S2 = (N,≤)
S3 = (N,=)
S4 = (2N,≤)
f : 2N \ /0→ N, wobei für alle M ⊆ N gilt:
f (M) := minM ist Homomorphismus von S1 nach S2. (kein
Isomorphismus)
g : N→ N, wobei für alle n ∈ N gilt:
g(n) := 2n ist Homomorphismus von S3 nach S2.
(kein Isomorphismus)
h : N→ 2N, wobei für alle n ∈ N gilt:
h(n) := 2n ist Isomorphismus (Bijektion) von S2 auf S4.
Grundlagen der Mathematik für Informatiker 20
Gemischte Strukturen
funktionale Signatur ΣF , relationale Signatur ΣR
gemeinsame Signatur Σ = ΣF ∪ΣR
Definition 4.11 Zu einer Signatur Σ = ΣF ∪ΣR heißt S = (A,VS) eine
Σ-Struktur , falls
1. A eine nichtleere Menge (Trägermenge oder Universum) ist,
2. für jedes n ∈ N und jedes f ∈ Σ(n) gilt VS( f ) : An → A und
3. für jedes n ∈N und jedes Relationssymbol (R,n) ∈ Σ gilt VS(R)⊆ An.
Beispiel: geordneter Halbring
für Σ = ΣF ∪ΣR, ΣF = (plus,2),(punkt,2),(0,0),ΣR = (≤,2) gilt:
(N,+, ·,0,≤) entspricht der Σ-Struktur S = (N,VS) mit
VS(plus) = +,VS(punkt) = ·,VS(0) = 0
und VS(R) = (m,n)|m ≤ n.
Grundlagen der Mathematik für Informatiker 21
Homomorphismen auf gemischten Strukturen
gemischte Signatur Σ = ΣF ∪ΣR
Definition 4.12 Für zwei Σ-Strukturen S1 = (A,VS1) und S2 = (B,VS2)
heißt eine Funktion h : A → B
Homomorphismus von S1 in S2 genau dann, wenn für alle n ∈ N und
alle (a1, · · · ,an) ∈ An gilt:
1. für alle f ∈ Σ(n)F gilt:
h(VS1( f )(a1, · · · ,an)) =VS2( f )(h(a1), · · · ,h(an)),
2. für alle R ∈ Σ(n)R gilt:
Aus (a1, · · · ,an) ∈VS1(R) folgt (h(a1), · · · ,h(an)) ∈VS2(R).
Grundlagen der Mathematik für Informatiker 22
Definition 4.13 Zwei Σ-Strukturen S1 = (A,VS1) und S2 = (B,VS2)
heißen isomorph , falls eine bijektive Funktion h : A → B existiert, sodass
für alle n ∈ N und alle (a1, · · · ,an) ∈ An gilt:
1. für alle f ∈ Σ(n)F gilt:
h(VS1( f )(a1, · · · ,an)) =VS2( f )(h(a1), · · · ,h(an)),
2. für alle R ∈ Σ(n)R gilt:
(a1, · · · ,an) ∈VS1(R) genau dann, wenn (h(a1), · · · ,h(an)) ∈VS2(R).
Grundlagen der Mathematik für Informatiker 23
Beispiel:
Signatur Σ = ΣF ∪ΣR mit ΣF = ( f ,2),(a,0) und ΣR = (R,2)
Σ-Struktur S1 = (2N,∪, /0,⊆)
(S1 = (2N,VS1) mit VS1( f ) = ∪,VS1(a) = /0,VS1(R) = (M,N)|M ⊆ N)
Σ-Struktur S2 = (20,∪, /0,⊆)
Σ-Struktur S3 = (0,1,max,0,≤)
h : 2N → 0,1 mit h(M) =
1, 0 ∈ M
0, sonstist Homomorphismus von S1
nach S3 (nicht isomorph). S2 und S3 sind isomorph (Einschränkung von h
auf 20).