• Keine Ergebnisse gefunden

Christoph L¨ uth 4. Januar 2009

N/A
N/A
Protected

Academic year: 2022

Aktie "Christoph L¨ uth 4. Januar 2009"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Beispielbeweise zur Vorlesung vom 17.12.2008

Christoph L¨ uth 4. Januar 2009

Wir nehmen als folgende Gleichungen f¨urlength,++,filter,mapfolgende an:

length [] = 0

length (x:xs) = 1+ length xs [] ++ ys = ys

(x:xs) ++ ys = x:(xs++ ys) filter p [] = []

filter p (x:xs) = if p x then x: filter p xs else filter p xs map f [] = []

map f (x:xs) = f x: map f xs

Dies m¨ussen nicht unbedingt die definieren Gleichungen sein (map k¨onnte bei- spielsweise auch als

map f = foldr ((:). f) []

definiert sein), aber die Gleichungen m¨ussen gelten.

zz: length (filter p xs) <= length xs Ind: 1. Induktionsbasis

length (filter p [])

= length [] Def.filter

2. Induktionsschritt

length (filter p (x:xs)) 2.1.p x

= length (x:filter p xs) Def.filter

= 1+ length (filter p xs) Def.length

≤ 1+ length xs Ind.vor.

= length (x:xs) Def.length 2.2¬p x

= length (filter p xs) Def.filter

≤ length xs Ind.vor.

≤ 1+ length xs x≤x+ 1

≤ length (x:xs) Def.length

1

(2)

zz: length (xs++ ys) == length xs+ length ys Induktion ¨uberxs

1. Induktionbasis length ([]++ ys)

= length ys Def.++

= 0+ length ys 0 +x=x

= length []+ length ys Def.length 2. Induktionsschritt

length (x:xs ++ ys)

= length (x:(xs++ ys)) Def.++

= 1+ length (xs ++ ys) Def.length

= 1+ (length xs+ length ys) Ind.vor.

= (1+length xs)+ length ys Assoziativit¨at von+

= length (x:xs)+ length ys Def.length

zz: map f (xs++ ys) == map f xs++ map f ys

Induktion ¨uberxs 1. Induktionsbasis

map f ([]++ ys

= map f ys Def.++

= []++ map f ys Def.++

= map f [] ++ map f ys Def.map 2. Induktionsschritt

map f (x:xs ++ ys)

= map f (x:(xs++ ys)) Def.++

= f x: map f (xs++ ys) Def.map

= f x: (map f xs ++ map f ys) Ind.vor.

= (f x: map f xs) ++ map f ys Def.++

= map f (x:xs) ++ map f ys Def.map

2

(3)

Wir nehmen ferner folgende Gleichungen f¨ursumundconcatan:

sum :: [Int]-> Int sum [] = 0

sum (x:xs) = x+ sum xs concat :: [[a]]-> [a]

concat [] = []

concat (xs:xss) = xs++ concat xs

zz: sum (map length xs)== length (concat xs) Ind: 1. Induktionsschritt

sum (map length [])

= sum [] Def.map

= 0 Def.length

= length [] Def.length

= length (concat []) Def.concat 2. Induktionsschritt

sum (map length (x:xs))

= sum (length x: map length xs) Def.map

= length x+ sum (map length xs) Def.sum

= length x+ length (concat xs) Ind.vor.

= length (x++ concat xs) Lemma (2) oben

= length (concat (x:xs)) Def.concat

3

Referenzen

ÄHNLICHE DOKUMENTE

Aufgabe 3: Zwei Kurse mit 22 bzw. 23 Schülern schreiben eine Vergleichsarbeit in Mathematik. Die Ergebnisse der ersten Aufgabe können der Häufigkeitstabelle entnommen werden. a)

Die Bewegung eines abgestrahltes Teilchen wird jetzt mit drei unabhängigen N(0, 8)-verteilten Zufallsvariablen mo- delliert... b) Berechnen Sie die Wahrscheinlichkeit dafür, dass

 frequently inaccurate vocabulary, generally without causing breakdown of communication.  tendency to use phrases from

[r]

In Chapter 5 we measure χ on Voronoi cells in disc packings by three different methods and show that the uniform χ can only be defined above a cluster size characterized by

Wir werden im Folgenden die Parabel auf Kegelschnitte verallgemeinern: von welchen Punkten aus sehen einen Kegelschnitt unter einem vorgegebenen Winkel.. Zunächst

Die Scharkurven haben zwar noch eine vierteilige Drehsymmetrie, aber keine Symmet- rieachsen wie das Brennpunktequadrat.. 5 Anziehende und

The aim of this article is to study the relation between two field invariants appearing in the theory of quadratic forms over fields, with a special focus on real pythagorean