Formale Spezifikationund Induktion

Größe: px
Ab Seite anzeigen:

Download "Formale Spezifikationund Induktion"

Transkript

1 Formale Spezifikationund Induktion 1

2 Was ist ein SW-System mathematisch? 1. Sicht: operational Ein SW-System ist ein Automat mit Zustand, Zustandsübergängen und mit Abläufen. 2. Sicht: algebraisch Ein SW-System ist eine Algebra = Datenstruktur, d. h. ein System von Daten und Operationen (vgl. auch (zustandslose) API in Java) 2

3 Was ist spezieller? Einen Automaten kann man als spezielle Algebra auffassen: Zustand = Element einer Datenstruktur Algebra! Sorten = State, Input, Output mit Operationen Anfangszustände: isinitial: State Bool Zustandsübergangsfunktion (oder auch Relation): exec: Input State State Output ( Bool) z. Bsp. Zustand eines Programms: Programm + Programmzähler + Speicherbelegung theoretisch: algebraische Sicht genügt praktisch: Automatensicht hat viele Spezialeigenschaften. (u.a. ist eine Idee von Zeit damit verbunden.) Deshalb Codierung oft nicht die beste Idee 3

4 SW-Beschreibungsformalismen SW-System ist Datentyp: modellorientierte Spezifikation (Z,VDM): alle Datentypen sind mit Mengenlehre gebildet (Tupel und Mengen z.b. für UML-Klassendiagramme) algebraische Spezifikation SW-System ist Menge von Abläufen: algorithmische Spezifikation, z. Bsp. Programmiersprachen Programme über algebraischen/modellorientierten Datentypen Automaten, Harel/UML Statecharts, Abstract State Machines (ASMs) Eignung hängt von den Zielen ab (Was will ich beschreiben? Was beweisen?) 4

5 Spezifikation Ziel: Ein bestimmter Datentyp (Algebra) soll spezifiziert werden. Fragen: 1. Was für Operationen brauche ich? 2. Welche Axiome brauche ich? 3. Welche Datentypen kann ich überhaupt spezifizieren? 4. Kann ich alle wahren Aussagen über dem Datentyp auch beweisen? Zunächst: Fragen speziell für die natürlichen Zahlen 5

6 Natürliche Zahlen: Die Peano-Axiome Es gibt eine ausgezeichnete Zahl 0 IN. Jede Zahl n IN hat einen Nachfolger succ(n) IN. Zu zwei Zahlen gibt es Summe m + n und Produkt m n Axiom 1: 0 ist kein Nachfolger. Axiom 2: Die Nachfolgerfunktion ist injektiv. Axiom 3: m + 0 = m, m + succ(n) = succ(m + n) Axiom 4: m 0 = m, m succ(n) = m n + n Axiom 5: IN ist die kleinste Menge M mit: 0 M und: wenn n M, dann succ(n) M Aus dem letzten Axiom folgt das Induktionsprinzip: Wenn ϕ(0) gilt, und sich ϕ von n auf n +1 vererbt, dann ist ϕ für alle n wahr Begründung: M := {n : ϕ(n)} ist mindestens so groß wie IN. 6

7 Natürliche Zahlen: mit PL nicht spezifizierbar! Satz (Charakterisierung der natürlichen Zahlen) Die Peano-Axiome charakterisieren ein Modell (eben die natürlichen Zahlen) bis auf Isomorphie (= Umbenennung). Aber: Satz von Skolem Es gibt keine Menge Ax-Nat von prädikatenlogischen Formeln, die als einziges Modell (modulo Umbenennung) nur die natürlichen Zahlen hat Beweis mit Endlichkeitssatz: M erfüllbar jedes endl. M M erfüllbar. Betrachte Ax-Nat {c 0, c succ(0),... } Intuition: Prädikatenlogische Axiome können nicht ausdrücken, dass es neben den echten natürlichen Zahlen keine weiteren Zahlen gibt 7

8 Natürliche Zahlen: Ein schwächeres Ziel Wir wissen schon: Jede Axiomenmenge hat auch andere Modelle als IN mit zusätzlichen Elementen Wir versuchen es schwächer: Suche Axiomenmenge, mit der alle über IN wahren Formeln bewiesen werden können (dass sie auch über anderen Modellen gelten, könnte uns ja egal sein). Die Axiomenmenge sollte entscheidbar sein, d.h. es gibt Programm, das immer terminiert und sagt: ja, ist Axiom oder nein, ist kein Axiom. Problem beim Finden der Axiomenmenge ist Peano-Axiom 5: IN ist kleinste Menge mit 0 M und n M succ(n) M Versuchen wir Mengen M durch Formeln zu beschreiben: Die Formel ϕ(n) mit freier Variable n beschreibt {n : ϕ(n)} 8

9 Natürliche Zahlen: Versuch der Spezifikation specification peano-ax sorts nat; constants 0 : nat; functions. +1 : nat nat;. +. : nat nat nat;.. : nat nat nat; axioms 0 n +1; m n m +1 n +1; m + 0 = m; m + (n +1) = (m + n) +1; m 0 = 0; m (n +1) = m n + m; ϕ 0 n ( n. ϕ ϕ n +1 n ) n. ϕ; (: für jedes ϕ For(Σ,X) :) end specification Unendlich viele Axiome, aber entscheidbar! 9

10 Natürliche Zahlen: Unvollständigkeit Problem: Alle Formeln (abzählbar viele) beschreiben nicht alle Mengen (überabzählbar viele)! Es gilt leider: Gödelscher Unvollständigkeitssatz Es gibt keine entscheidbare Menge von Formeln über (0, succ, +, ), die die ersten 4 Peano-Axiome und n 0 n. n = succ(m) enthält oder impliziert, mit der sich alle in IN wahren Aussagen ableiten lassen (insbesondere ist peano-ax auch unvollständig). Der Trick zum Beweis ist das Lügnerparadoxon: Es gibt eine Formel, die sagt: Ich bin nicht beweisbar 10

11 Natürliche Zahlen: Unvollständigkeit Intuition: Leider findet man auch keine gute Axiomenmenge, mit der die wahren Aussagen herleitbar sind Alle wahren Aussagen könnte man als Axiome trivialerweise nehmen. Die Menge der wahren Aussagen ist also nicht entscheidbar. Wahre Aussagen für die natürlichen Zahlen zu beweisen, ist kreativ. Verursachte ziemlich viel Wirbel in den 30er Jahren: Die Idee, Mathematik auf ganz einfachen Grundlagen aufzubauen (Hilbert sches Programm) zu definieren, war gescheitert heute: komplizierte Mengenlehre (Zermelo-Fränkel, Gödel-Bernays) als Grundlage für Mathematik 11

12 Natürliche Zahlen ohne Multiplikation Satz Für Aussagen über natürlichen Zahlen mit 0, +,, <, (aber keine Multiplikation) lässt sich mit dem Entscheidungsverfahren von Nelson und Oppen automatisch entscheiden, ob sie wahr oder falsch sind. Der Aufwand ist allerdings doppelt exponentiell. Intuition: Mal was positives: solange man kein hat, ist keine Kreativität, nur viel Rechenpower erforderlich. Entscheidungsprozeduren gibt es auch für andere einfache Datentypen (und Aussagenlogik!), werden auch verwendet (z.b. SAL, automatische Beweiser, abstrakte Interpretation) Kombination mehrerer Entscheidungsprozeduren und mit zus. Funktionen schwierig (wann was versuchen?) 12

13 Problem: Prädikatenlogik reicht nicht Problem: Prädikatenlogik kann nicht ausdrücken, dass es ausser den Zahlen 0,1,2 (= die aus 0 und +1 gebildeten Terme 0,0 +1, ,...) keine weiteren Elemente gibt. Dasselbe Problem gibt es auch für andere Datentypen: alle ganzen Zahlen sind mit 0, +1, 1 gebildet alle Listen sind die aus [] und + gebildeten Terme: [], a + [], a + b + [],... bei Listen: Terme dürfen Elementvariablen enthalten alle (endlichen) Graphen bekommt man aus dem leeren, durch Addieren von Knoten addnode und Kanten addedge alle Arrays bekommt man durch: mkarray(n) (erzeugt Array der Grösse n) put(a, i, d) (schreibt an Position i das Datum d) 13

14 Generiertheitsklauseln: Syntax Deshalb Idee: Wir definieren ein Spezialaxiom, genannt Generiertheitsklausel das aussagt: Die Daten eines Datentyps sind genau die mit bestimmten Konstruktoren gebildeten Terme. Syntax s generated by C ist Termerzeugtheitsklausel ( Gen(Σ)) s S, C = {f 1,..., f n } OP, die Konstruktoren f i haben die Ergebnissorte s Konstanten sind also Konstruktoren erlaubt für wenigstens ein f i sind alle Argumentsorten ungleich s (sonst gibt es keine Konstruktorterme!) Ein Konstruktorterm t hat die Sorte s, ist mit Konstruktoren gebildet und enthält nur Variablen anderer Sorten, ist also aus T s ((S,C), X \ X s ). 14

15 Generiertheitsklauseln: Semantik Idee: Jedes Element der generierten Sorte ist der Wert eines Konstruktorterms, wenn man die (Parameter)-Variablen geeignet belegt. Semantik A = s generated by C : für jedes a A s gibt es ein v und t T s ((S, C), X \ X s ) mit a = [[t]] A,v. Beispiel: Zur Liste [2,5] gibt es den Konstruktorterm a + b + []. Mit einer Belegung v der Variablen a, b als v(a) = 2 und v(b) = 5 gilt: [[a + b + []]] A,v = [2,5]. 15

16 Elementare Spezifikation Elementare Spezifikation Eine Spezifikation SP = (Σ, Ax, Gen) ist ein Tripel mit: Σ = (S, OP) Ax For(Σ, X) endlich Gen Gen(Σ) endlich Modell A ist Modell von SP (A = SP, A Mod(SP)) A = SP : A Alg(Σ), A = Gen und A = Ax. Gültigkeit SP = ϕ : für alle A in Mod(SP): A = ϕ 16

17 Konsistenz und Monomorphie Definition Eine Spezifikation ist konsistent : Axiome nicht widersprüchlich kein Beweis von false möglich es gibt ein Modell A der Spezifikation Das muss sein! Definition Eine Spezifikation ist monomorph : Axiome legen Verhalten eindeutig fest je zwei Modelle sind bis auf Umbenennung (Isomorphie) gleich Sollte für Datentypen wie natürliche Zahlen etc. so sein (die Axiome sollten ja nicht versehentlich auch reelle Zahlen erlauben) Für Systembeschreibungen oft nicht erforderlich bzw. wünschenswert. Man will ja gerade Details offenlassen 17

18 minimale Spez. der natürlichen Zahlen in KIV specification sorts nat; constants 0 : nat; functions. +1 : nat nat; induction nat generated by 0, +1; variables m, n : nat; axioms 0 n +1; m n m +1 n +1; end specification ist konsistent und mononorph 18

19 Spez. der natürlichen Zahlen mit Add. und Mult. specification sorts nat; constants 0 : nat; functions. +1 : nat nat;. +. : nat nat nat;.. : nat nat nat; induction nat generated by 0, +1; variables m, n : nat; axioms 0 n +1; m n m +1 n +1; m + 0 = m; m + n +1 = (m + n) +1; m 0 = 0; m n +1 = m * n + m; end specification ist konsistent und mononorph 19

20 minimale Spez. der Listen in KIV specification sorts elem; list; constants [] : list; functions. +. : elem list list; induction list generated by [], +; variables a, b : elem; x, y : list; axioms [] a + x; x y a + x b + y; end specification ist konsistent und mononorph 20

21 Kalkül mit struktureller Induktion Strukturelle Induktion Sorte s erzeugt von Konstruktoren c, f Jedes Element der Trägermenge ist darstellbar als Konstruktorterm f(f(...f(c))) Induktionsformeln: ϕ(c) ( x. ϕ(x) ϕ(f(x))) x. ϕ(x) Induktionsregel: ϕ(c) ϕ(x) ϕ(f(x)) Γ ϕ = y. Γ, y = free(γ ) \ {x} Ableitung Wenn man aus der Spezifikation SP durch Anwendung von Sequenzenkalkül + Induktions-Regel die Formel ϕ ableiten kann, dann schreibt man SP IND ϕ. 21

22 Kalkül mit struktureller Induktion: Korrektheit und Unvollständigkeit Satz (Korrektheit) Es gilt SP IND ϕ SP = ϕ Satz (Unvollständigkeit) Es gibt Spezifikationen und Theoreme mit SP = ϕ, die aber mit Induktion nicht beweisbar sind SP IND ϕ 22

23 Ein Beispiel für Unvollständigkeit (1) x from a = die Liste ab dem erstem Vorkommen des Elements a (exklusiv). Falls das Element nicht vorkommt, die leere Liste. specification sorts elem; list; constants [] : list; functions. +. : elem list list;. from. : list elem list; induction list generated by [], +; variables a, b : elem; x, y : list; axioms [] a + x; x y a + x b + y; [] from a = []; (a + x) from a = x; a b (b + x) from a = x from a; end specification 23

24 Ein Beispiel für Unvollständigkeit (2) Die Spezifikation ist monomorph: Sie hat Listen als einziges Modell A. Für die Funktion from gilt das Theorem ϕ (x) := x [] x from a x Es lässt sich ϕ ([]), ϕ (b + []),... beweisen: [] [] [] from a [] b + [] [] (b + []) from a [] b + c + [] [] (b + c + []) from a [] b + c + d + [] [] (b + c + d + []) from a []... Induktionsschluss klappt nicht: x from a x (b + x) from a b + x man muss die Aussage für Induktion verallgemeinern: x [] x from a < x x [] # (x from a) < # x aber: das braucht ein neues Prädikat < (ist Endstück) oder # (Länge) beide können rekursiv definiert werden 24

25 Wie schlimm ist Unvollständigkeit? Der Kalkül mit der Induktions-Regel ist fast vollständig : Wenn SP = ϕ, dann gibt es eine Erweiterung SP von SP um neue rekursiv definierte Funktionen, so dass SP IND ϕ gilt. Praktisch gesehen: Mit den zusätzlichen Symbolen in SP wird eine passend (verallgemeinerte) Induktionshypothese für den Beweis von ϕ ausdrückbar Die Induktionsregel wird auf neue Formeln anwendbar SP ist je nach ϕ verschieden (kein uniformes SP ) In jedem SP gibt es neue Formeln ψ, die wahr aber nicht ableitbar sind Kreativitität also für Verallgemeinerung und passende Hilfsfunktionen 25

Semantik von Formeln und Sequenzen

Semantik von Formeln und Sequenzen Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt

Mehr

2. Vorlesung. Slide 40

2. Vorlesung. Slide 40 2. Vorlesung Slide 40 Knobelaufgabe Was tut dieses Programm? Informell Formal Wie stellt man dies sicher? knobel(a,b) { Wenn a = 0 dann return b sonst { solange b 0 wenn a > b dann { a := a - b sonst b

Mehr

Formale Methoden in der Informatik Wiederholung klassische Logik Konkrete Datentypen (algebraische Strukturen) Abstrakte Datentypen

Formale Methoden in der Informatik Wiederholung klassische Logik Konkrete Datentypen (algebraische Strukturen) Abstrakte Datentypen Was bisher geschah Formale Methoden in der Informatik Wiederholung klassische Logik Konkrete Datentypen (algebraische Strukturen) Abstrakte Datentypen Syntax: Signatur Semantik: Axiome (FOL-Formeln, meist

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:

Mehr

2. Universelle Algebra

2. Universelle Algebra 2. Universelle Algebra Die Theorie der universellen Algebra verallgemeinert die Theorien der klassischen Algebren. Obwohl ursprünglich nur eine Sorte betrachtet wurde, werden wir hier gleich den mehrsortigen

Mehr

Formale Methoden im Software Engineering

Formale Methoden im Software Engineering Formale Methoden im Software Engineering Eine praktische Einführung Dominik Haneberg, Florian Nafz, Bogdan Tofan 1 Organisatorisches Vorlesung: Mittwoch 12:15 Uhr - 13:45 Uhr (1058 N) Versuche: (Raum 3017

Mehr

Praktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen

Praktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen Rev. 1152 1 [23] Praktische Informatik 3: Einführung in die Funktionale Programmierung Vorlesung vom 10.11.2010: Rekursive Datentypen Christoph Lüth & Dennis Walter Universität Bremen Wintersemester 2010/11

Mehr

5. Aussagenlogik und Schaltalgebra

5. Aussagenlogik und Schaltalgebra 5. Aussagenlogik und Schaltalgebra Aussageformen und Aussagenlogik Boolesche Terme und Boolesche Funktionen Boolesche Algebra Schaltalgebra Schaltnetze und Schaltwerke R. Der 1 Aussagen Information oft

Mehr

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell): Was bisher geschah deklarative Programmierung funktional: Programm: Menge von Termgleichungen, Term Auswertung: Pattern matsching, Termumformungen logisch: Programm: Menge von Regeln (Horn-Formeln), Formel

Mehr

Entwicklung eines korrekten Übersetzers

Entwicklung eines korrekten Übersetzers Entwicklung eines korrekten Übersetzers für eine funktionale Programmiersprache im Theorembeweiser Coq Thomas Strathmann 14.01.2011 Gliederung 1 Einleitung

Mehr

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre

Mehr

SWP Prüfungsvorbereitung

SWP Prüfungsvorbereitung 20. Juni 2011 1 Grammatiken 2 LL(1) 3 EXP 4 Datentypen 5 LP Grammatiken Angabe Erstellen Sie First- und Follow-Mengen aller Non-Terminale der folgenden Grammatik. S a S S B y B A C A A b b A x A ɛ C c

Mehr

Fragen für die Klausuren

Fragen für die Klausuren Fragen für die Klausuren Vom Quellcode zum ausführbaren Programm Was ist ein Quellcode? Ist der Quellcode von einem Programm auf unterschiedlichen Rechner gleich? Nennen Sie drei Programmiersprachen. Was

Mehr

Kontrakte, Abstrakte Datentypen und Verfeinerung

Kontrakte, Abstrakte Datentypen und Verfeinerung Kontrakte, Abstrakte Datentypen und Verfeinerung 229 Kontrakte 230 Vor- und Nachbedingungen, Kontrakte Ein Kontrakt für eine Prozedur p (oder auch für eine Methode) besteht (mindestens) aus einer Vorbedingung

Mehr

Funktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation

Funktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation Grundlagen der Programm- und Systementwicklung Funktionale Programmierung Teil 2 Methodik: Spezifikation, Implementierung, Verifikation Technische Universität München Institut für Informatik Software &

Mehr

Prolog basiert auf Prädikatenlogik

Prolog basiert auf Prädikatenlogik Software-Technologie Software-Systeme sind sehr komplex. Im Idealfall erfolgt die Programmierung problemorientiert, während die notwendige Übertragung in ausführbare Programme automatisch erfolgt. Prolog-Philosophie:

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik - das Quiz zur Vorlesung Teil I - Grundzüge der Logik In der Logik geht es um... (A) die Formen korrekten Folgerns (B) die Unterscheidung von wahr und falsch (C) das Finden von

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 9: Prädikatenlogik schulz@eprover.org Rückblick 2 Rückblick: Vor- und Nachteile von Aussagenlogik Aussagenlogik ist deklarativ: Syntaxelemente entsprechen

Mehr

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

Mehr

Haskell zur Constraint-Programmierung HaL8

Haskell zur Constraint-Programmierung HaL8 Haskell zur Constraint-Programmierung HaL8 Alexander Bau 2. Mai 2013 Wir benutzen eine Teilmenge von Haskell zur Spezifikation von Constraint- Systemen über Haskell-Datentypen. Ein Constraint-Compiler

Mehr

Beschreibungslogiken. Daniel Schradick 1schradi@informatik.uni-hamburg.de

Beschreibungslogiken. Daniel Schradick 1schradi@informatik.uni-hamburg.de Beschreibungslogiken Daniel Schradick 1schradi@informatik.uni-hamburg.de Was sind Beschreibungslogiken? Definition: Formalisms that represent knowledge of some problem domain (the world ) by first defining

Mehr

Program = Logic + Control

Program = Logic + Control Program = Logic + Control Prozedurale/imperative Sprachen: Abläufe formulieren Computer führt aus von-neumann-maschine Idee von deklarativen/logischen/funktionalen Programmiersprachen: Zusammenhänge formulieren

Mehr

Prädikatenlogik - Micromodels of Software

Prädikatenlogik - Micromodels of Software Prädikatenlogik - Micromodels of Software Philipp Koch Seminar Logik für Informatiker Universität Paderborn Revision: 30. Mai 2005 1 Inhaltsverzeichnis 1 Motivation 3 2 Modelle 3 2.1 Definition eines Modells.......................

Mehr

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle.

Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik. Seminar Entscheidungsverfahren für logische Theorien. Endliche Modelle. Universität Koblenz-Landau, Abteilung Koblenz FB 4 Informatik Seminar Entscheidungsverfahren für logische Theorien Tobias Hebel Koblenz, am 18.02.2005 Inhaltsverzeichnis 1 Einleitung... 3 2 Grundlagen...

Mehr

Wissensbasierte Systeme

Wissensbasierte Systeme WBS4 Slide 1 Wissensbasierte Systeme Vorlesung 4 vom 03.11.2004 Sebastian Iwanowski FH Wedel WBS4 Slide 2 Wissensbasierte Systeme 1. Motivation 2. Prinzipien und Anwendungen 3. Logische Grundlagen 4. Suchstrategien

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Vorlesung Analysis I / Lehramt

Vorlesung Analysis I / Lehramt Vorlesung Analysis I / Lehramt TU Dortmund, Wintersemester 2012/ 13 Winfried Kaballo Die Vorlesung Analysis I für Lehramtsstudiengänge im Wintersemester 2012/13 an der TU Dortmund basiert auf meinem Buch

Mehr

Semantic Web Technologies I!

Semantic Web Technologies I! www.semantic-web-grundlagen.de Semantic Web Technologies I! Lehrveranstaltung im WS11/12! Dr. Elena Simperl! DP Dr. Sebastian Rudolph! M.Sc. Anees ul Mehdi! www.semantic-web-grundlagen.de Logik Grundlagen!

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 11: Abstrakte Reduktionssysteme schulz@eprover.org Reduktionssysteme Definition: Reduktionssystem Ein Reduktionssystem ist ein Tupel (A, ) Dabei gilt: A

Mehr

Codierung, Codes (variabler Länge)

Codierung, Codes (variabler Länge) Codierung, Codes (variabler Länge) A = {a, b, c,...} eine endliche Menge von Nachrichten (Quellalphabet) B = {0, 1} das Kanalalphabet Eine (binäre) Codierung ist eine injektive Abbildung Φ : A B +, falls

Mehr

Gleichungen und Ungleichungen

Gleichungen und Ungleichungen Gleichungen Ungleichungen. Lineare Gleichungen Sei die Gleichung ax = b gegeben, wobei x die Unbekannte ist a, b reelle Zahlen sind. Diese Gleichung hat als Lösung die einzige reelle Zahl x = b, falls

Mehr

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes) Prädikatenlogik Man kann den natürlichsprachlichen Satz Die Sonne scheint. in der Prädikatenlogik beispielsweise als logisches Atom scheint(sonne) darstellen. In der Sprache der Prädikatenlogik werden

Mehr

6 Datenstrukturen und abstrakte Datentypen. Datenstrukturen = Werkzeuge für die Buchhaltung

6 Datenstrukturen und abstrakte Datentypen. Datenstrukturen = Werkzeuge für die Buchhaltung Überblick 6 Datenstrukturen und abstrakte Datentypen 6.1 Datenstrukturen - alt und neu 6.2 Abstrakte Datentypen: Grundlagen 6.3 ADTs für Paare und Listen in Scheme 6.4 Stack und First-In-First-Out Queue

Mehr

Binäre lineare Optimierung mit K*BMDs p.1/42

Binäre lineare Optimierung mit K*BMDs p.1/42 Binäre lineare Optimierung mit K*BMDs Ralf Wimmer wimmer@informatik.uni-freiburg.de Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42 Grundlagen Binäre

Mehr

3. Sätze und Formeln

3. Sätze und Formeln Klaus Mainzer, Die Berechnung der Welt. Von der Weltformel zu Big Data, München 2014 29.07.14 (Verlag C.H. Beck, mit zahlreichen farbigen Abbildungen, geb. 24,95, S.352) (empfohlene Zitierweise: Detlef

Mehr

7. Formale Sprachen und Grammatiken

7. Formale Sprachen und Grammatiken 7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter

Mehr

5 Logische Programmierung

5 Logische Programmierung 5 Logische Programmierung Logik wird als Programmiersprache benutzt Der logische Ansatz zu Programmierung ist (sowie der funktionale) deklarativ; Programme können mit Hilfe zweier abstrakten, maschinen-unabhängigen

Mehr

Formale Methoden: Ein Überblick

Formale Methoden: Ein Überblick Formale Methoden, Heinrich Rust, Lehrstuhl für Software-Systemtechnik, BTU Cottbus, 2004-09-16, p. 1 Formale Methoden: Ein Überblick Heinrich Rust Lehrstuhl für Software-Systemtechnik BTU Cottbus 2004-09-16

Mehr

1. Teilklausur. Modul "OOPM Vorlesung/Übung" 16.12.2008. Gruppe A

1. Teilklausur. Modul OOPM Vorlesung/Übung 16.12.2008. Gruppe A Objektorientierte Programmierung und Modellierung WS 2008/2009 Institut für Informatik Prof. Dr. Ralf Lämmel Dr. Manfred Jackel 1. Teilklausur Modul "OOPM Vorlesung/Übung" 16.12.2008 Gruppe A Name Vorname

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN. Abzählbarkeit, Injektivität, Sürjektivität und Bijektivität

TECHNISCHE UNIVERSITÄT MÜNCHEN. Abzählbarkeit, Injektivität, Sürjektivität und Bijektivität TECHNISCHE UNIVERSITÄT MÜNCHEN Zentrum Mathematik Prof. Dr. Friedrich Roesler Ralf Franken, PhD Max Lein Lineare Algebra 1 WS 26/7 en Blatt 4 13.11.26 Abzählbarkeit, Injektivität, Sürjektivität und Bijektivität

Mehr

Zur Definition von Definition Albert J. J. Anglberger, Peter Brössel

Zur Definition von Definition Albert J. J. Anglberger, Peter Brössel Zur Definition von Definition Albert J. J. Anglberger, Peter Brössel Zusammenfassung Wir werden in dieser Arbeit zwei neue Definitionsvorschläge von Definition entwickeln, die folgende Eigenschaften aufweisen:

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS / KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz Association

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode

Mehr

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving)

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving) Universität Paderborn Die Universität der Informationsgesellschaft Analyse, Entwurf und Implementierung zuverlässiger Software und (inkl., Model-Checking, Theorem Proving) Torsten Bresser torbre@uni-paderborn.de

Mehr

Algorithmen und Programmierung

Algorithmen und Programmierung Algorithmen und Programmierung Kapitel 5 Formale Algorithmenmodelle A&P (WS 14/15): 05 Formale Algorithmenmodelle 1 Überblick Motivation Formale Algorithmenmodelle Registermaschine Abstrakte Maschinen

Mehr

Foundations of Systems Development

Foundations of Systems Development Foundations of Systems Development Vergleich und Zusammenfassung Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer WS 2007/08 2 Ziele Wichtige Aspekte von algebraischen Spezikationen

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine

Mehr

Grundlegende Datentypen

Grundlegende Datentypen Foliensatz 4 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 50 Grundlegende Datentypen TU Ilmenau Seite 2 / 50 Atomare Datentypen

Mehr

Prädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung;

Prädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung; Mehr Prolog Prolog bietet mehr an, z.b.: Prädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung; Mehr extra-logische Prädikate,

Mehr

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm Studienanforderungen Studiengang Maschinenbau Programmieren Begleitende Übungen zu Veranstaltungen Umsetzen des Algorithmus in ein lauffähiges Programm Studiengang Bauingenieurwesen Programmieren Begleitende

Mehr

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s Nachtrag zur allgemeinen Vektorraum-Theorie. 1.5.15. Direkte Summen. Sei V ein Vektorraum, seien U 1,..., U t Unterräume, wir schreiben V = U 1 U 2 U t = t i=1 U i falls die folgenden beiden Bedingungen

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 12: Termersetzungssysteme schulz@eprover.org Reduktionssysteme Definition: Reduktionssystem Ein Reduktionssystem ist ein Tupel (A, ) Dabei gilt: A ist eine

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.

Mehr

Kapitel 4. Euklidische Ringe und die Jordansche Normalform. 4.1 Euklidische Ringe

Kapitel 4. Euklidische Ringe und die Jordansche Normalform. 4.1 Euklidische Ringe Kapitel 4 Euklidische Ringe und die Jordansche Normalform 4.1 Euklidische Ringe Die Ringe der ganzen Zahlen, Z, sowie Polynomringe über Körpern, K[X], wobei K ein Körper ist, haben die folgenden Gemeinsamheiten:

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

Diskrete Mathematik für Informatiker

Diskrete Mathematik für Informatiker Diskrete Mathematik für Informatiker Markus Lohrey Universität Siegen Wintersemester 2014/2015 Lohrey (Universität Siegen) Diskrete Mathematik Wintersem. 2014/2015 1 / 344 Organisatorisches zur Vorlesung

Mehr

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2 1 2 Notation für Wörter Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg w a is die Anzahl der Vorkommen von a in w Beispiel: abba

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 7: Einführung Aussagenlogik schulz@eprover.org Logisches Schließen 2 gold +1000, 1 per step, Beispiel: Jage den Wumpus Performance measure death 1000 10

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie und, oder, nicht, wenn... dann zwischen atomaren und komplexen Sätzen. I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten

Mehr

2.4.3 Zustandsgraphen

2.4.3 Zustandsgraphen 2.4.3 Zustandsgraphen Folie 2-1+45 Paradigma der Zustandsmodellierung Zustandsmodellierung betrachtet ein System als Zustandsautomaten beschreibt die Zerlegung in Zustände und Zustandsübergänge orientiert

Mehr

2.4.3 Zustandsgraphen

2.4.3 Zustandsgraphen 2.4.3 Zustandsgraphen Folie 2-1+45 Paradigma der Zustandsmodellierung Zustandsmodellierung betrachtet ein System als Zustandsautomaten beschreibt die Zerlegung in Zustände und Zustandsübergänge orientiert

Mehr

Binärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T:

Binärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T: Binäre Bäume Binärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T: BinTree [T: TYPE]: DATATYPE empty: empty? node (key: T, left:bibtree, right:bibtree):

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

Formale Methoden III - Tutorium

Formale Methoden III - Tutorium Formale Methoden III - Tutorium Daniel Jettka 19.06.06 Inhaltsverzeichnis 1. Logische Eigenschaften von Merkmalsstrukturen 1. Logische Eigenschaften von MS Ausgangspunkt: Unterscheidung von: Linguistische

Mehr

Aufgaben Theoretische Informatik

Aufgaben Theoretische Informatik Aufgaben Theoretische Informatik Elmar Eder 26. Dezember 2015 Lösungen der Aufgaben bitte abgeben auf dem Abgabesystem von Dominik Kaaser auf https://ti.cosy.sbg.ac.at/ als ASCII- oder UTF-8-Dateien mit

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Foundations of System Development

Foundations of System Development Foundations of System Development Martin Wirsing in cooperation with Axel Rauschmayer WS 05/06 Vergleich am Beispiel der Uhr: Maude und TLA 2 1. Uhr in TLA TLA spezifiziert die Menge aller möglichen (unendlichen)

Mehr

Kapitel 5: Applikative Programmierung

Kapitel 5: Applikative Programmierung Kapitel 5: Applikative Programmierung In der applikativen Programmierung wird ein Programm als eine mathematische Funktion von Eingabe-in Ausgabewerte betrachtet. Das Ausführen eines Programms besteht

Mehr

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer:

Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at

Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Inhalt SWP Funktionale Programme (2. Teil) Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Interpreter für funktionale Sprache

Mehr

Ausarbeitung des Interpreter Referats

Ausarbeitung des Interpreter Referats Ausarbeitung des Interpreter Referats Gliederung 1. Programmiersprache 1.2. Syntax 1.2.1. Konkrete Syntax 1.2.2. Abstrakter Syntax Baum (Abstrakte Syntax) 2. Parser 2.1. Syntaktische Struktur einer Sprache

Mehr

Überblick über dieses Kapitel Grundlagen der Programmierung Kapitel 12: Information und Repräsentation

Überblick über dieses Kapitel Grundlagen der Programmierung Kapitel 12: Information und Repräsentation Überblick über dieses Kapitel Grundlagen der Programmierung Dr. Christian Herzog Technische Universität München Wintersemester 2007/2008 Kapitel 12: Information und Repräsentation! Repräsentation, Information,!

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

Übungsaufgaben mit Computer-Algebra-Software Mathematik

Übungsaufgaben mit Computer-Algebra-Software Mathematik Übungsaufgaben mit Computer-Algebra-Software Mathematik machen, statt nachmachen Uta Priss ZeLL, Ostfalia Dezember, 2015 Meine Lehrerfahrung mit Mathe Vor 5 Jahren neuer Kurs: Mathematik für Informatiker

Mehr

Kapitel DB:V (Fortsetzung)

Kapitel DB:V (Fortsetzung) Kapitel DB:V (Fortsetzung) V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Relationale Algebra Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-67 Relational Algebra

Mehr

Codes und Informationsgehalt

Codes und Informationsgehalt Aufgaben 2 Codes und Informationsgehalt Auf wie viele Dezimalziffern genau können vorzeichenlose ganze Zahlen in einem binären Code der Länge 32 bit dargestellt werden? 2 Codes und Informationsgehalt Auf

Mehr

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

Modallogik (aussagenlogisch)

Modallogik (aussagenlogisch) Kapitel 2 Modallogik (aussagenlogisch) In diesem Abschnitt wird eine Erweiterung der Aussagenlogik um sogenannte Modalitäten behandelt. Damit erlangt man eine größere Aussagekraft der Sprache, allerdings

Mehr

Gibt es verschiedene Arten unendlich? Dieter Wolke

Gibt es verschiedene Arten unendlich? Dieter Wolke Gibt es verschiedene Arten unendlich? Dieter Wolke 1 Zuerst zum Gebrauch des Wortes unendlich Es wird in der Mathematik in zwei unterschiedlichen Bedeutungen benutzt Erstens im Zusammenhang mit Funktionen

Mehr

Kapitel MK:IV. IV. Modellieren mit Constraints

Kapitel MK:IV. IV. Modellieren mit Constraints Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren

Mehr

Algebraische Kurven. Vorlesung 26. Die Schnittmultiplizität

Algebraische Kurven. Vorlesung 26. Die Schnittmultiplizität Prof. Dr. H. Brenner Osnabrück SS 2012 Algebraische Kurven Vorlesung 26 Die Schnittmultiplizität Es seien zwei ebene algebraische Kurven C,D A 2 K gegeben, die keine Komponente gemeinsam haben. Dann besteht

Mehr

Primzahlzertifikat von Pratt

Primzahlzertifikat von Pratt Primzahlzertifikat von Pratt Daniela Steidl TU München 17. 04. 2008 Primzahltests in der Informatik "Dass das Problem, die Primzahlen von den Zusammengesetzten zu unterscheiden und letztere in ihre Primfaktoren

Mehr

Teil 1: Digitale Logik

Teil 1: Digitale Logik Teil 1: Digitale Logik Inhalt: Boolesche Algebra kombinatorische Logik sequentielle Logik kurzer Exkurs technologische Grundlagen programmierbare logische Bausteine 1 Analoge und digitale Hardware bei

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Erfüllbarkeit und Allgemeingültigkeit

Erfüllbarkeit und Allgemeingültigkeit Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ

Mehr