• Keine Ergebnisse gefunden

Prof. Dr. Jakob Rehof Logische Methoden des Software LMSE

N/A
N/A
Protected

Academic year: 2021

Aktie "Prof. Dr. Jakob Rehof Logische Methoden des Software LMSE"

Copied!
55
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

LMSE

Logische Methoden des Software Engineerings

Prof. Dr. Jakob Rehof

Lehrstuhl XIV, Software Engineering

(2)

Plan

• Diese Vorlesung:

– Definition des Lambda Kalküls – Beispiele

– Church-Rosser Satz

• Nächste Vorlesung:

– Ausdrücksmächtigkeit des Kalküls (Arithmetik) – Unentscheidbarkeit

(3)

Lesen und Übungen für nächste Woche

• Lesen: LCHI vom Anfang bis Abschn. 1.5 (S.11)

• Exercise 1.7.4

• Exercise 1.7.5

• Exercise 1.7.6

• Exercise 1.7.8

• Exercise 1.7.9

• Exercise 1.7.10

(4)

Type free (untyped) lambda calculus

(5)

Pre-terms

(6)

Notational conventions

(7)

Beispiel

(8)

Free variables, closed term

(9)

Beispiel

(10)

Substitution

(11)

Beispiel

(12)

Alpha-equivalence (alpha-conversion)

(13)

Beispiel

(14)

Terms (modulo alpha-equivalence)

(15)

Free variables (modulo alpha)

(16)

Substitution (modulo alpha)

(17)

Beta notion of reduction

(18)

Beta-reduction and conversion

(19)

Warning (many equalities!)

(20)

Beispiel

(21)

The Church-Rosser theorem (confluence)

(22)

Vorlesung 2

• Diese Vorlesung: LCHI, bis Ende Kap.1

• Übungen:

– 1.7.14 – 1.7.15 – 1.7.16 – 1.7.17

– 1.7.18 (Hilfe: Wikipedia, „Church encodings“)

– 1.7.20 (Hilfe: Wikipedia, „Church encodings“)

– Schauen Sie sich auch die Liste-Kodierungen an, bei Wikipedia,

„Church encodings“

(23)

Church-Rosser (confluence) property

Frage: Warum nicht direkt durch Induktion beweisen?

Frage: Warum nicht von lokaler Konfluenz generalisieren?

(24)

Diamond property

Frage: Hat beta-Reduktion die Diamanteigenschaft?

(25)

Diamond property

(26)

Reflexive und transitive Hülle

(27)

Parallel reduction (Tait & Martin-Löf)

(28)

Parallel reduction

(29)

Parallel reduction has diamond property

(30)

Parellel reduction and beta reduction

(31)

Church-Rosser theorem

(32)

Corollaries of the Church-Rosser theorem

(33)

Notions of consistency and

completeness for beta-conversion

• Equational consistency (non-triviality)

– There exists an unprovable equation

• Hilbert-Post completeness

– Maximal consistency

– No new equation can be consistently added

(34)

Teil II

(35)

Expressibility

• Church numerals (Church, Rosser)

• Booleans, pairs and other data types

• Fixed point operators

• Coding of recursive functions (lambda definability theorem, Kleene)

• Undecidability (Curry, Scott) [Rice‘s theorem for lambda calculus]

(36)

Arithmetic

(37)

Arithmetic

(38)
(39)
(40)

Booleans and conditionals

(41)

Pairing

(42)

Fixed point theorem

(43)

... and more 

Another common fixed point combinator is

the Turing fixed-point combinator (named after its discoverer, Alan Turing):

Θ = (λx. λy. (y (x x y))) (λx. λy. (y (x x y)))

It also has a simple call-by-value form:

Θv = (λx. λy. (y (λz. x x y z))) (λx. λy. (y (λz. x x y z)))

Some fixed point combinators, such as this one (constructed by J.W.Klop) are useful chiefly for amusement:

Yk = (L L L L L L L L L L L L L L L L L L L L L L L L L L) where:

L = λabcdefghijklmnopqstuvwxyzr. (r (t h i s i s a f i x e d p o i n t c o m b i n a t o r))

Wikipedia: Fixed point combinator

(44)

Lambda-definability

(45)

Recursive functions

(46)

Recursive functions

(47)

Definability of the initial functions

(48)

Composition

(49)

Primitive recursion

(50)

Minimization

(51)

Kleene‘s theorem

(52)

Gödelization

(53)

Recursive sets of codes

(54)
(55)

Undecidability of lambda calculus

Referenzen

ÄHNLICHE DOKUMENTE

Frage: Warum nicht direkt durch Induktion beweisen. Frage: Warum nicht von lokaler

Geben Sie ein Beispiel für eine nicht-terminierende Relation R, die lokal konfluent aber nicht konfluent ist!... Reflexive und

• Not needed for most uses in proof theory (e.g., WN suffices for consistency). • But important characterization of programs under various

• Wir können nicht die Wahrheitssemsemantik oder die Boolsche Semantik auf die intuitionistische Logik übertragen.. Es gibt keine

Bereiten Sie den Beweis von Proposition 4.4.5 so vor, dass Sie ihn in der Übung vorstellen können.... Strong

• Griffin wanted to find a type system for typing Felleisen‘s control operators and was led to using a double-negation elimination rule.. CHI for

Modul INF-MSc-319: Logische Methoden des Software Engineering. •

• Kleene-Rosser (1936): alle rekursive Funktionen sind im Lambda-Kalkül repräsentierbar. • Turing (1937): Genau die Funktionen, die