• Keine Ergebnisse gefunden

Formale Methoden der Softwaretechnik Vorlesung vom 30.05.11: Logik Höherer Stufe

N/A
N/A
Protected

Academic year: 2022

Aktie "Formale Methoden der Softwaretechnik Vorlesung vom 30.05.11: Logik Höherer Stufe"

Copied!
19
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Formale Methoden der Softwaretechnik Vorlesung vom 30.05.11: Logik Höherer Stufe

Till Mossakowski & Christoph Lüth

Universität Bremen

Sommersemester 2011

(2)

Fahrplan

I Alles überLogik höherer Stufe (Higher-order Logic, HOL):

I TypenundTerme

I Die Basis-Axiome

I DefinierteOperatoren

(3)

Fahrplan

I Aussagenlogik

I Prädikatenlogik

I Isabelle I: Grundlagen

I Aussagenlogik und natürlisches Schließen

I Prädikatenlogik und Quantoren

I Logik höherer Stufe

I Definitionen und konservative Erweiterung

I Automatische Beweisprozeduren

I Isabelle II: Anwendungen

(4)

Logik höherer Stufe

I Ziel:Formalisierung von Mathematik

I “Logik für Erwachsene”

I Problem: Mögliche Inkonsistenz (Russel’s Paradox)

I Lösung:Restriktionvs. Ausdrucksstärke

I AlternativeGrundlagen:

I AndereTyptheorien(Martin-Löf, Calculus of Constructions)

I UngetypteMengenlehre(ZFC)

I HOL: guter Kompromiss, weit verbreitet.

I Klassische Logikhöherer Stufe nachChurch

I Schwächerals ZFC,stärkerals Typtheorien

(5)

Warum Logik höherer Stufe?

I Aussagenlogik: keine Quantoren

I Logik1. Stufe: Quantoren über Terme

∀x y.x =y −→y =x

I Logik2. Stufe: Quantoren über Prädikatenund Funktionen

∀P.(P0∧ ∀x.P x −→P(S x))−→ ∀x.P x

I Logik3. Stufe: Quantoren über Argumenten von Prädikaten

I Logik höherer Stufe (HOL): alle endlichen Quantoren

I Keinewesentlichen Vorteilevon Logik 2. Ordnung

(6)

Warum Logik höherer Stufe?

I Aussagenlogik: keine Quantoren

I Logik1. Stufe: Quantoren über Terme

∀x y.x =y −→y =x

I Logik2. Stufe: Quantoren über Prädikatenund Funktionen

∀P.(P0∧ ∀x.P x −→P(S x))−→ ∀x.P x

I Logik3. Stufe: Quantoren über Argumenten von Prädikaten

I Logik höherer Stufe (HOL): alle endlichen Quantoren

I Keinewesentlichen Vorteilevon Logik 2. Ordnung

(7)

Warum Logik höherer Stufe?

I Aussagenlogik: keine Quantoren

I Logik1. Stufe: Quantoren über Terme

∀x y.x =y −→y =x

I Logik2. Stufe: Quantoren über Prädikatenund Funktionen

∀P.(P0∧ ∀x.P x −→P(S x))−→ ∀x.P x

I Logik3. Stufe: Quantoren über Argumenten von Prädikaten

I Logik höherer Stufe (HOL): alle endlichen Quantoren

I Keinewesentlichen Vorteilevon Logik 2. Ordnung

(8)

Warum Logik höherer Stufe?

I Aussagenlogik: keine Quantoren

I Logik1. Stufe: Quantoren über Terme

∀x y.x =y −→y =x

I Logik2. Stufe: Quantoren über Prädikatenund Funktionen

∀P.(P0∧ ∀x.P x −→P(S x))−→ ∀x.P x

I Logik3. Stufe: Quantoren über Argumenten von Prädikaten

I Logik höherer Stufe (HOL): alle endlichen Quantoren

I Keinewesentlichen Vorteilevon Logik 2. Ordnung

(9)

Warum Logik höherer Stufe?

I Aussagenlogik: keine Quantoren

I Logik1. Stufe: Quantoren über Terme

∀x y.x =y −→y =x

I Logik2. Stufe: Quantoren über Prädikatenund Funktionen

∀P.(P0∧ ∀x.P x −→P(S x))−→ ∀x.P x

I Logik3. Stufe: Quantoren über Argumenten von Prädikaten

I Logik höherer Stufe (HOL): alle endlichen Quantoren

I Keinewesentlichen Vorteilevon Logik 2. Ordnung

(10)

Vermeidung von Inkonsistenzen

I Russell’sParadox

I R={X |X 6∈X}

I Abhilfe:Typen

I Gödel’s2. Unvollständigkeitssatz:

I JedeLogik, die ihre eigeneKonsistenz beweist, istinkonsistent.

I Unterscheidung zwischenTermenund Aussagen

I DadurchinHOL keine Aussageüber HOL

(11)

Typen

I TypenType gegeben durch

I Typkonstanten:c∈ CType (MengeCType durch Signatur gegeben)

I Prop,Bool∈ CType:Propalle Terme,Boolalle Aussagen

I Typvariablen: α∈ VType (MengeVType fest)

I Funktionen:s,t ∈ Typedannst inType

I Konvention: Funktionsraum nach rechts geklammert αβγ für α⇒(β ⇒γ)

(12)

Terme

I TermeTerm gegeben durch

I Konstanten:c∈ C (MengeC durch Signatur gegeben)

I Variablen:v∈ V

I Applikation:s,t∈ Termdanns t∈ Term

I Abstraktion:x ∈ V,t ∈ Termdannλx.t ∈ Term

I Konventionen: Applikation links geklammert, mehrfache Abstraktion λx y z.f x y z für λx. λy. λz.((f x)y)z

(13)

Basis-Syntax

= ::ααBool

−→ ::BoolBoolBool ι :: (α⇒Bool)α

¬ ::BoolBool true ::Bool

false::Bool

if ::Boolααα

∀ :: (α⇒Bool)Bool

∃ :: (α⇒Bool)Bool

∧ ::BoolBoolBool

∨ ::BoolBoolBool

I Einbettung (wird weggelassen) trueprop::BoolProp

I Basis-Operatoren:=,−→, ι

I SyntaktischeKonventionen:

I BindendeOperatoren:∀,∃,ι

∀x.P≡ ∀(λx.P)

I Infix-Operatoren:∧,∨,−→,=

I Mixfix-Operator:

if b then p else qif b p q

(14)

Basis-Axiome I: Gleichheit

I Reflexivität:

t=t refl

I Substitutivität:

s =t P(s) P(t) subst

I Extensionalität:

∀x.fx =gx

(λx.fx) = (λx.gx) ext

I Einführungsregel:

(P −→Q)−→(Q−→P)−→(P =Q) iff

(15)

Basis-Axiome II: Implikation und Auswahl

I EinführungsregelImplikation:

[P] ... Q

P −→Q impl

I EliminationsregelImplikation:

P −→Q P

Q mp

I Eliminationsregel Auswahloperator:

(ιx.x =a) =a the_eq

I HOL istklassisch:

(P =true)∨(P =false) true_or_false

(16)

Die Basis-Axiome (Isabelle-Syntax)

refl: t=t

subst: [[s =t;P(s)]] =⇒P(t)

ext: [[Vx.fx =gx]] =⇒(λx.fx) = (λx.gx) impl: [[P =⇒Q]] =P −→Q

mp: [[P −→Q;P]] =Q

iff: (P −→Q)−→(Q −→P)−→(P =Q) the_eq: (ιx.x=a) =a

true_or_false: (P =true)∨(P =false)

(17)

Abgeleitete Operatoren

true ≡ (λx.x) = (λx.x)

∀P ≡ (P =λx.true)

∃P ≡ ∀Q.(∀x.Px −→Q)−→Q false ≡ ∀P.P

¬P ≡ P −→false

PQ ≡ ∀R.(P −→Q −→R)−→R

PQ ≡ ∀R.(P −→R)−→(Q −→R)−→R

if P then x else yιz.(P =true−→z =x)∧(P =false−→z =y)

(18)

Erweiterungen

I WeitereOperatoren

I WeitereTypen: natürliche Zahlen, Datentypen

I Axiomatisch(vgl. Peano/Presburger in FOL)

I MöglicheInkonsistenzen

I Konserverative Erweiterung

I Logikkonsistentzerhaltenderweitern

(19)

Zusammenfassung

Logik höherer Stufe(HOL):

I Syntax basiert auf demeinfach getypten λ-Kalkül

I DreiBasis-Operatoren,achtBasis-Axiome

I Restfolgt durchkonservative Erweiterung — nächstes Mal

Referenzen

ÄHNLICHE DOKUMENTE

I Interaktiv: Beweis wird durch den Benutzer konstruiert und von Isabelle geprüft. I

Vorlesung vom 23.05.11: Prädikatenlogik erster Stufe.. Till Mossakowski &

Map ’a ~=> ’b partielle Abbildungen (’a => ’b option).

I Gelingt oder schlägt fehl: keine neuen Subgoals. I Klassischer

The program should read in a text and produce a count of the words in the text in the form of pairs of words occuring in the text, and their frequency, sorted by descending

I Damit: G¨ ultige (“wahre”) Aussagen

I F¨ ur jede Primzahl gibt es eine, die gr¨ oßer ist.. I Eine Funktion f ist stetig an der Stelle x 0

I Logik h¨ oherer Stufe (HOL): alle endlichen Quantoren. I Keine wesentlichen Vorteile von