• Keine Ergebnisse gefunden

Mehr Beweise

N/A
N/A
Protected

Academic year: 2022

Aktie "Mehr Beweise"

Copied!
5
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Formale Modellierung

Vorlesung 8 vom 07.06.14: FOL mit Induktion und Rekursion

Serge Autexier & Christoph Lüth Universität Bremen Sommersemester 2014

1 [39]

Fahrplan

I Teil I: Formale Logik

IEinführung

IAussagenlogik: Syntax und Semantik, Natürliches Schließen

IKonsistenz & Vollständigkeit der Aussagenlogik

IPrädikatenlogik (FOL): Syntax und Semantik

IKonsistenz & Vollständigkeit von FOL

IBeschreibungslogiken

IFOL mit induktiven Datentypen

IFOL mit Induktion und Rekursion

IDie Unvollständigkeitssätze von Gödel I Teil II: Spezifikation und Verifikation

2 [39]

Das Tagesmenü

I Beweis von Eigenschaften von Funktionen mit FOL-ND

I Wohlfundierte Induktion und rekursive Funktionen I Axiomatische Definition von Theorien ist gefährlich I Prädikatenlogik mit mehreren Typen

I Konservative Erweiterungen als sicheres Theorie Definitionsprinzip

I Typdefinitionen

I Wohlfundierte rekursive Funktionen/Prädikate

I Terminierende Funktionen und abgeleitete Induktionsschemata

3 [39]

Mehr Beweise

I Definiere≤und half:

∀x.0≤x (L1)

∀x.∀y.x≤y−→s(x)≤s(y) (L2)

half(0) =0 (H1)

half(s(0)) =0 (H2)

∀x.half(s(s(x))) =s(half(x)) (H3)

I Beweise

(Presburger)(L1)(L2)(H1)(H2)(H3)` ∀x.half(x)≤x

4 [39]

Wohlfundierte Induktion

I Wohlfundiertes Induktionsschema

(∀y.(∀x.x<yP(x))P(y))−→ ∀x.P(x)

I <wohlfundierte Relation:

∀X⊆N.X6=∅ −→ ∃x∈X.∀yX.¬(y<x)

5 [39]

Beweis mit wohlfundierter Induktion

I <-Relation

∀x.0<s(x) ∀x,y.x<y−→s(x)<s(y)

I Beweise<ist wohlfundiert I

h

∀x.x<cP(x) i

... P(c)

∀x.P(x)

c=0∨

c=s(0)∨

∃u.c=s(s(u))

∀x.x<c half(x)x

c=0

.. . half(c)c

∀x.x<c half(x)x c=s(0)

.. . half(c)c

∀x.x<c half(x)x

∃u.c=s(s(u))

.. . half(c)c

∀x.half(x)x

6 [39]

Mehr Information

I Besser zum beweisen wäre wenn man gleich hätte

half(0)≤0 half(s(0))≤s(0) h

half(c)≤c i

...

half(s(s(c)))≤s(s(c))

∀x.half(x)≤x

I Vergleiche: half(0) =0 (H1)

half(s(0)) =0 (H2)

∀x.half(s(s(x))) =s(half(x)) (H3)

I Generiere Induktionschema aus rekursiven Funktionsdefinitionen h

P(c)i ...

Weitere Beispiele

LIST:=Nil |cons(N,LIST)

I Sortieren

∀x.sort(Nil) =Nil

∀s,t.m=min(cons(n,l))

−→sort(cons(n,l)) =cons(m,sort(cons(n,l)m))

∀n.min(cons(n,Nil)) =n

∀n,l.min(cons(m,l))<n−→min(cons(n,cons(m,l))) =min(cons(m,l))

∀n,l.¬(min(cons(m,l))<n)−→min(cons(n,cons(m,l))) =n

I Induktionsschema

∀m,n.m=min(cons(n,l))P(cons(n,l)m)

(2)

Weitere Beispiele

I Fibonacci:

fib(0) =0 fib(s(0)) =s(0)

∀n.fib(s(s(n))) =fib(s(n)) +fib(n)

P(0) P(s(0)) h

P(s(c)),P(c)i ... P(s(s(c)))

∀x.P(x)

9 [39]

Weitere Beispiele

I GGT:

∀y.ggt(0,y) =y

∀x.ggt(s(x),0) =s(x)

∀x,y.xy−→ggt(x,y) =ggt(x,yx)

∀x,y.¬(xy)−→ggt(x,y) =ggt(x−y,y)

∀y.P(0,y) ∀x.P(s(x),0)

"

xy P(x,yx)

#

... P(x,y)

"

¬(x≤y) P(xy,x)

#

... P(x,y)

∀x,y.P(x,y)

10 [39]

Zulässige Induktionsschema

I Wann darf man die Rekursionsstruktur verwenden?

I Definierte Funktion muß. . .

I eindeutig definiert sein und . . .

P0−→f(x1, . . . ,xn) =t0

... Pn−→f(x1, . . . ,xn) =tn

Pi∧Pj←→ ⊥,∀i6=j

I terminierend

I Rekursive Definition nach wohlfundierter Relation garantiert Terminierung

Für jedenatomaren, rekursivenAufruff(t1, . . . ,tn)erzeuge Terminierungshypothese

Pi−→(x1, . . . ,xn)>(t1, . . . ,tn)

11 [39]

Grenzen

∀x.x<101−→f(x) =f(f(x+11))

∀x.¬(x<101)−→f(x) =x−10

I f terminiert immer I f ist

f(x) :=

(x−10 ifx>100 91 ifx≤100

I Definition der geeigneten wohlfundierten Relation extrem schwierig.

12 [39]

f ( 9 9 ) = f ( f ( 1 1 0 ) )

= f ( 1 0 0 )

= f ( f ( 1 1 1 ) )

= f ( 1 0 1 )

= 91

f ( 8 7 ) = f ( f ( 9 8 ) )

= f ( f ( f ( 1 0 9 ) ) )

= f ( f ( 9 9 ) )

= f ( f ( f ( 1 1 0 ) ) )

= f ( f ( 1 0 0 ) )

= f ( f ( f ( 1 1 1 ) ) )

= f ( f ( 1 0 1 ) )

= f ( 9 1 )

= f ( f ( 1 0 2 ) )

= f ( 9 2 )

= f ( f ( 1 0 3 ) )

= f ( 9 3 )

. . . . P a t t e r n c o n t i n u e s

= f ( 9 9 )

( same a s on t h e l e f t )

= 91

13 [39]

Zusammenfassung

I Strukturelle Induktionsschema

IEinfach, aber zum Beweisen zu rigide I Wohlfundiertes Induktionsschema

IMächtig und flexibel, wenig Hilfestellung beim Beweisen I Wohlfundierte Relation aus Rekursionsstruktur terminierender

Funktionen

IAngepasst an Beweisproblem und vorhandene Definitionsgleichungen

ITerminierungsbeweis notwendig (einfache Fälle automatisierbar, i.A.

unentscheidbar)

14 [39]

Definition von Theorien

I Was alles schiefgehen kann und wie man das vermeidet I Axiomatische Definition von Theorien ist gefährlich

I Bisher können wir Listen nicht unterscheiden von nat. Zahlen, von binären Bäumen, etc.

I Wir brauchen so etwas wie Typen für die jeweiligen Objekte, die disjunkt voneinander sind

15 [39]

Getypte Prädikatenlogik – Signatur

Ungetypt Getypt SignaturΣ

- TypenT – i,N,Z

- FunktionssymboleF f,ar(f) =n f:τ1× · · · ×τnτ0,τi∈ T - PrädikatssymboleP P,ar(P) =n P:τ1× · · · ×τn,τi∈ T

˙

=,ar( ˙=) =2 =˙τ:τ×τ,τ∈ T

VariablenX abz. unendlich abz. unendlichXτ für jedes τ∈ T

xi,xN,xZ, . . .

16 [39]

(3)

Getypte Prädikatenlogik – Terme & Formeln

Ungetypt Getypt

TermeTermΣ TermΣτ1 ∪ · · · ∪

TermΣ(τn),τ∈ T - Variablen x∈ TermΣxX x∈ TermΣτ,xXτ - Funktionen f ∈ F mit ar(f) = n

undt1, . . . ,tn∈ TermΣ, dann f(t1, . . . ,tn) ∈ TermΣ

f : τ1× · · · ×τn

τ0 ∈ F und ti

TermτΣi,1≤in, dann f(t1, . . . ,tn)∈ TermτΣ0 FormelnFormΣ

- Atome P ∈ P mitar(P) = n

undt1, . . . ,tn∈ TermΣ, dann P(t1, . . . ,tn) ∈ FormΣ

P : τ1× · · · ×τn ∈ P undti∈ TermτΣi,1≤in, dannP(t1, . . . ,tn) ∈ FormΣ

- PL Konnective ¬ψ, ϕ∧ψ, ϕψ, ϕ−→ψ, ϕ←→ψ . . . - Quantoren ∀x.φ∈ FormΣ,xX ∀xτ∈ FormΣ

∃x.φ∈ FormΣ,xX ∃xτ∈ FormΣ

17 [39]

Motivation

I Typen müssen nicht-leere Trägermengen haben Korrektheit

I Neue Typen axiomatisch zu spezifizieren gefährlich

I Konservative Erweiterungen

ITypdefinitionen sind konservative Erweiterungen

ITerminierende totale rekursive Funktionen/Prädikate sind konservative Erweiterungen

18 [39]

Natürliches Schließen — Die Regeln

φ ψ

φψ ∧I φψ

φ ∧EL

φψ

ψ ∧ER

[φ]

... ψ

φ−→ψ−→I

φ φ−→ψ

ψ −→E

φ

[φ−→ ⊥]

...

φ raa

19 [39]

Die fehlenden Schlußregeln

[φ]

...

¬φ ¬I φ ¬φ

⊥ ¬E

φ φψ ∨IL

ψ φψ ∨IR

φψ [φ]

... σ

[ψ]

... σ

σ ∨E

φ−→ψ ψ−→φ

φ←→ψ ←→I φ φ←→ψ

ψ ←→EL ψ φ←→ψ

φ ←→ER

20 [39]

Natürliches Schließen mit Quantoren

φ

∀x.φ∀I (∗) ∀x.φ φt

x ∀E (†)

I (*)Eigenvariablenbedingung:

xnichtfreiin offenen Vorbedingungen vonφ(xbeliebig)

I (†) Ggf.Umbenennungdurch Substitution

I Gegenbeispielefür verletzte Seitenbedingungen

21 [39]

Der Existenzquantor

∃x.φdef=¬∀x.¬φ

φt x

∃x.φ∃I (†) ∃x.φ [φ]

... ψ

ψ ∃E (∗)

I (*)Eigenvariablenbedingung:

xnicht frei inψ, oder einer offenenen Vorbedingung außerφ I (†) Ggf.Umbenennungdurch Substitution

22 [39]

Regeln für die Gleichheit

I Reflexivität,Symmetrie,Transitivität:

x=x refl x=y

y=x sym x=y y=z x=z trans

I Kongruenz:

x1=y1, . . . ,xn=yn f(x1, . . . ,xn) =f(y1, . . . ,yn)cong

I Substitutivität:

x1=y1, . . . ,xm=ym P(x1, . . . ,xm)

P(y1, . . . ,ym) subst

Getypte Prädikatenlogik – ND Regeln

φ

∀xτ∀I (∗) ∀xτ φt

x ∀E (†)

I (*)Eigenvariablenbedingung:

xτnichtfreiin offenen Vorbedingungen vonφ(xτbeliebig)

I (†)t∈ TermτΣ; Ggf.Umbenennungdurch Substitution

(4)

Der Existenzquantor

∃xτdef=¬∀xτ.¬φ

φt x

∃xτ∃I (†) ∃xτ [φ]

... ψ

ψ ∃E (∗)

I (*)Eigenvariablenbedingung:

xτnicht frei inψ, oder einer offenenen Vorbedingung außerφ I (†)t∈ TermτΣ; Ggf.Umbenennungdurch Substitution

25 [39]

Regeln für die Gleichheit

I Reflexivität,Symmetrie,Transitivität:

x=tx refl x=ty

y=tx sym x=ty y=tz x=tz trans

I Kongruenz:

x1=t1y1, . . . ,xn=tnyn f(x1, . . . ,xn) =tf(y1, . . . ,yn) cong

I Substitutivität:

x1=t1y1, . . . ,xm=tmym P(x1, . . . ,xm)

P(y1, . . . ,ym) subst

26 [39]

Basic Definitions

Definition 1 (Loose Spezifikationen)

SeiΣ = (T,F,P)eine getypte Signature undΦ∈ FormΣ. Dann ist S= (Σ,Φ)einelose Spezifikation.

Die Theorie einer SpezifikationSist Th(S) :={ϕ∈ FormΣ|Φ`ϕ}.

Definition 2 (Konsistenz)

Eine lose SpezifikationSistkonsistentwenn⊥nicht beweisbar inS:

⊥ 6∈Th(S).

I Insbesondere müssen dannalleTypen nicht-leere Trägermengen haben

27 [39]

Spezifikations Erweiterungen

Definition 3 (Erweiterungen)

Eine SpezifikationS0= (Σ00)ist eineErweiterungeiner Spezifikation S= (Σ,Φ)genau dann wenn

I Σ⊆Σ0 I Φ⊆Φ0

S0is einekonservative ErweiterungvonSgenau dann wenn Th(S) =Th(S0)

wobei die|Σdie Einschränkung auf Formeln ausFormΣist Lemma 4

Jede konservative Erweiterung einer konsistenten Theorie ist konsistent.

28 [39]

Typdefinition

I Spezifizierenicht-leereTeilmenge eines gegebenen Typsr

I Deklariere neuen Typtmit Trägermenge isomorph zu Werten in spezifizierter Teilmenge

I Isomorphie wird durch inverse Funktionen Abst:rt,Rept:tr axiomatisch Beschrieben

29 [39]

Typdefinitionen sind konservative Erweiterungen

Definition 5 (Typdefinitionen)

SeiS= ((T,F,P),Φ)eine Spezifikation,r∈ T undP∈ FormΣmit genau einer freien Variable vom Typr. Dann ist eine Erweiterung S0= ((T0,F0,P0),Φ0)eineTypdefinitionfür einen Typt6∈ T gdw.

I T0=T ∪ {t}

I F0=F ∪ {Abst:rt,Rept:tr}

I P0=P ∪ {=t:t×t}

I Φ0= Φ∪ { ∀xt.Abst(Rept(x)) =tx,

∀xr.P(xr)−→Rept(Abst(x)) =rx}

I Man kann beweisenS` ∃xr.P(x)(bzw. es gilt∃xr.P(x)∈Th(S))

30 [39]

Teminierende, totale Funktionen

I Spezifiziere Funktionen/Prädikate die beweisbar total, eindeutig und terminierend sind

I Theorie-Erweiterungen um beweisbar total, eindeutig und

terminierende Funktionen/Prädikate sind konservative Erweiterungen

I Syntaktische Kriterien für eindeutige und totale Deklarationen

I Beweisverfahren für terminierende Funktionen

31 [39]

Frei Erzeugte Typen

Definition 6 (Frei Erzeugte Typen)

SeiS= ((T,F,P),Φ)eine Spezifikation,t∈ T and

ci:τ1i×τniit∈ F,1≤ik. Dann isttfrei erzeugtinSdurch Konstruktorenc1, . . . ,ckgdw.

I S` ∀xt.W i=1...k∃yτ1i

1, . . .yτnik

ni.x=ci(y1, . . . ,yni) I S` ∀yτ1i

1

, . . .yτnii ni.∀z1τi

1

, . . .zτnii

ni.ci(y1, . . . ,yni) =ci(z1, . . . ,zni)−→

((y1=z1∧ · · · ∧yni=yni))für alleci I S` ∀yτ1i

1, . . .yτnii ni.∀z1

τ1j, . . .zτnjj

nj.ci(y1, . . . ,yni) =cj(z1, . . . ,znj)für alle i6=j

32 [39]

(5)

Kriterien für eindeutig und total

I SeitTyp

I Definitionsgleichungen für Funktionf sind Menge von bedingten geschlossene Gleichungen der Form

∀x1. . .xn. . . .P0−→f(x1, . . . ,xn) =t0 ...

∀x1. . .xn. . . .Pn−→f(x1, . . . ,xn) =tn

so daß beweisbar

I S` ∀x1. . .xn.PiPj←→ ⊥,∀i6=j

I S` ∀x1. . .xn.P1. . .Pn

33 [39]

Terminierungsbeweise – Idee

I Die natürlichen Zahlen sind frei erzeugt über 0 und s:

I Jedem Grundterm überNkann eine größe zugeordnet werden über die Anzahl der Konstruktoren.

I Zeige für rekursiv definierte Funktionen aufN, dass die rekursiven Argument in rekursiven Funktionsaufrufen kleiner sind bezüglich der Ordnung auf den natürlichen Zahlen unter der entsprechenden BedingungPi.

34 [39]

Terminierung

I Beispiele:

I half(x)eine Hypothese pro Rekursionsgleichung

I fib(x): mehrere Hypothesen pro Rekursionsgleichung

I gcd(x,y): lexicographische Ordnung

I Beweise alle Hypothesen im Kalkül. Terminierung giltrelativzur Terminierung der anderen involvierten Funktionen und Prädikate.

I Analog für Prädikate aufNmit bedingten Äquivalenzen I Allgemeine Typen: für frei erzeugte Datentypen kann Abbildung in

natürliche Zahlen definiert werden, die die Anzahl der Konstruktoren zählt. Damit lässt sich das Terminierungsverfahren auf all frei erzeugten Datentypen erweitern

35 [39]

Erweiterung um totale, terminierende Funktionen ist konservativ

Definition 7 (Funktions- und Prädikatsdefinitionen)

SeiS= ((T,F,P),Φ)eine Spezifikation,f :τ1× · · · ×τnτ06∈ F (τi∈ T) undΨ∈ FormΣ∪{f}. Dann ist eine Erweiterung

S0= ((T,F0,P),Φ0)eineFunktionsdefinitiongdw.

I Ψist eine eindeutig und totale Definition fürf

I f ist terminierend und alle in der Definition vonf vorkommenden Funktionen und Prädikate sind terminierend

I Φ0= Φ∪Ψ

I F0=F ∪ {f:τ1× · · · ×τnτ0} Analog fürPrädikatsdefinitionen.

Lemma 8

Funktionsdefinitionen bzw. Prädikatsdefinitionen sind konservativ

36 [39]

Sicheres Spezifikationsprinzip

I Beginne mit Basistheorie mitNund wohlfundiertem

Induktionsschemata fürN(getypte Prädikatenlogik mit TypNund Induktionsschemata!)

I Nhat beweisbar nicht-leere Trägermenge I Erweitere nur konservativ um

I totale, terminierende Funktionen und Prädikate

I Typdefinitionen (ausgehend vonN)

I Erbt Induktionsprinzip über Umweg überN

I Erlaubt Definition von Konstruktoren für neue Typen

I Terminierung: Abbildung der Termgröße aufNmittels geschachtelter Anwendung von Rept

I Wenn freie Erzeugtheit des neuen Typs beweisbar, dann folgt Induktionsschema direkt auf dem neuen Typ

I Damit hat man garantiert immer konsistente Spezifikationen (=

Modellierung).

37 [39]

Abgeleitete Induktionsschemata

I fib(x)

P(0) P(s(0)) ∀x.P(x)∧P(s(x))−→P(s(s(x)))

∀x.P(x)

I half(x)

P(0) P(s(0)) ∀x.P(x)−→P(s(s(x)))

∀x.P(x)

I gcd(x)

P(0,y) x>0−→P(x,0)

∀x,y.x>yP(xy,y)−→P(x,y)

∀x,y.¬(x>y)∧P(x,yx)−→P(x,y)

∀x.∀y.P(x,y)

38 [39]

Abgeleitetete Induktionsschemata besser zum Beweisen

I Abgeleitete Induktionsschemata erzeugen Fälle, in denen die Rekursionsgleichungen der Funktion/Prädikate direkt anwendbar sind I Abgeleitete Induktionsschemata hilfreich wenn Induktion über

Variablen gemacht wird, die als Argument der entsprechenden Funktion vorkommen.

∀x.ϕ(half(x))

I Fälle:

1.ϕ(half(0)) ϕ(0) 2.ϕ(half(s(0))) ϕ(0)

3.ϕ(half(x))−→ϕ(half(s(s(x)))) ϕ(half(x))−→ϕ(s(half(x)))

Referenzen

ÄHNLICHE DOKUMENTE

Ubungen zur Elementaren Zahlentheorie ¨ Bergische Universit¨ at Wuppertal. Blatt

Falls den Lernenden die Begrifflichkeiten nicht klar sind, kann der schriftliche Algorith- mus für eine beliebige (nicht im Dokument) enthaltene Aufgabe an die Tafel

Ziel: Rechnen mit der Ziffer Null bei der schriftlichen Subtraktion verstehen und erklären Material: MB: Ggf. UG Methode: Bei größeren Fördergruppen die Aufgabe an der

Es sollte (im Gegensatz zu Baustein N6 B) keine Aufgabe beispielhaft mithilfe des schriftlichen Algorithmus an- geschrieben werden, da die Lernenden sich sonst an dem ange-

I Einkaufswagen implementiert Funktionen artikel und menge, die auch aus Posten importiert werden:. import Posten hiding (artikel, menge) import qualified Posten as P(artikel,

Du kannt mit Hilfe eines Gegenbeispiels zeigen, dass eine Aussage nicht allgemein g¨ ultig

Durch Elementarumformungen wird dieses Schema wieder in gestaffelte Form überführt und durch Auflösen von unten nach oben für jeden Spaltenvektor ~b ·j gelöst. Die Kriterien für

[r]