Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene...
Transcript of Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene...
![Page 1: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/1.jpg)
Helden van de wiskunde: L.E.J. Brouwer
Brouwers visie vanuit een logica-informatica perspectief
Herman Geuvers
Radboud Universiteit Nijmegen
Technische Universiteit Eindhoven
1
![Page 2: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/2.jpg)
Helden van de wiskunde: L.E.J. Brouwer
Brouwers visie vanuit een logica-informatica perspectief
2
![Page 3: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/3.jpg)
Brouwers visie vanuit een logica-informatica perspectief
Is een bewijs een programma??
Rekenen met oneidige objecten
3
![Page 4: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/4.jpg)
Een klassiek bewijs
Stelling:
Er zijn irrationale getallen p en q zodat pq is rationaal.
∃p, q ∈ R\Q ( pq ∈ Q )
4
![Page 5: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/5.jpg)
Een klassiek bewijs
Stelling:
Er zijn irrationale getallen p en q zodat pq is rationaal.
Bewijs:√2 is irrationaal.√
2√
2is rationaal of irrationaal.
- In het eerste geval zijn we klaar: p = q =√
2
- In het tweede geval: (√
2√
2)√
2 =√
22
= 2 is rationaal en we zijn
klaar: p =√
2√
2, q =
√2
5
![Page 6: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/6.jpg)
Een klassiek bewijs
Stelling:
Er zijn irrationale getallen p en q zodat pq is rationaal.
Bewijs:√2 is irrationaal.√
2√
2is rationaal of irrationaal.
- In het eerste geval zijn we klaar: p = q =√
2
- In het tweede geval: (√
2√
2)√
2 =√
22
= 2 is rationaal en we zijn
klaar: p =√
2√
2, q =
√2
Maar wat is nou p en wat is nou q?? Ik heb u geen echte p en q
gegeven . . .
“Bestaan” p en q wel??
6
![Page 7: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/7.jpg)
Waar gaat wiskunde over?
Grondslagen van de wiskunde:
• Formalisme: wiskunde is een formeel spel met formele regels.
Betekenis? Alleen finitaire wiskunde heeft betekenis. Een theorie
is goed als hij consistent is. Hilbert
7
![Page 8: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/8.jpg)
Waar gaat wiskunde over?
Grondslagen van de wiskunde:
• Formalisme: wiskunde is een formeel spel met formele regels.
Betekenis? Alleen finitaire wiskunde heeft betekenis. Een theorie
is goed als hij consistent is. Hilbert
• Realisme: Maar wiskunde heeft toch ook met de werkelijkheid te
maken? Ook infinitaire wiskunde!
8
![Page 9: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/9.jpg)
Waar gaat wiskunde over?
Grondslagen van de wiskunde:
• Formalisme: wiskunde is een formeel spel met formele regels.
Betekenis? Alleen finitaire wiskunde heeft betekenis. Een theorie
is goed als hij consistent is. Hilbert
• Realisme: Maar wiskunde heeft toch ook met de werkelijkheid te
maken? Ook infinitaire wiskunde!
• Platonisme: Ook de abstracte en infinitaire wiskundige objecten
“bestaan”.
• Logicisme: Logica is universeel; bouw de wiskunde daaruit op.
Frege, Russell
9
![Page 10: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/10.jpg)
Waar gaat wiskunde over?
Grondslagen van de wiskunde:
• Formalisme: wiskunde is een formeel spel met formele regels.
Betekenis? Alleen finitaire wiskunde heeft betekenis. Een theorie
is goed als hij consistent is. Hilbert
• Realisme: Maar wiskunde heeft toch ook met de werkelijkheid te
maken? Ook infinitaire wiskunde!
• Platonisme: Ook de abstracte en infinitaire wiskundige objecten
“bestaan”.
• Logicisme: Logica is universeel; bouw de wiskunde daaruit op.
Frege, Russell
• Intuıtionisme / Constructivisme: Alleen objecten die men kan
construeren (in de tijd) bestaan. Brouwer
10
![Page 11: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/11.jpg)
Brouwers Intuıtionisme
Wiskunde is primair en komt voor de logica. Logica is beschrijvend.
Basis intuıtie: constructie van objecten in de tijd: N
Een bewijs (redenering)is ook een constructie (in de tijd).
11
![Page 12: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/12.jpg)
Brouwers Intuıtionisme
Wiskunde is primair en komt voor de logica. Logica is beschrijvend.
Basis intuıtie: constructie van objecten in de tijd: N
Een bewijs (redenering)is ook een constructie (in de tijd).
Wat kunnen we dan construeren? Welke redeneringen zijn nog geldig?
√2√
2is rationaal OF irrationaal.
- Eerste geval: klaar; p = q =√
2
- Tweede geval: (√
2√
2)√
2 = 2 is rationaal en klaar: p =√
2√
2, q =
√2
12
![Page 13: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/13.jpg)
Brouwers Intuıtionisme
Wiskunde is primair en komt voor de logica. Logica is beschrijvend.
Basis intuıtie: constructie van objecten in de tijd: N
Een bewijs (redenering)is ook een constructie (in de tijd).
Wat kunnen we dan construeren? Welke redeneringen zijn nog geldig?
√2√
2is rationaal OF irrationaal.
- Eerste geval: klaar; p = q =√
2
- Tweede geval: (√
2√
2)√
2 = 2 is rationaal en klaar: p =√
2√
2, q =
√2
Fout redeneerpatroon:
A ∨ ¬A
“Wet van de uitgesloten derde” (Tertium non-datur):
Voor iedere uitspraak A geldt A of niet-A.
13
![Page 14: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/14.jpg)
Wat is intuıtionistisch waar?
Intuıtionistisch is er minder waar dan klassiek.
(Calvinistische wiskunde . . . )
Maar het levert ook wat op! ... zullen we zien.
Welke stellingen zijn nog wel waar?
14
![Page 15: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/15.jpg)
Wat is intuıtionistisch waar?
Intuıtionistisch is er minder waar dan klassiek.
(Calvinistische wiskunde . . . )
Maar het levert ook wat op! ... zullen we zien.
Welke stellingen zijn nog wel waar?
Brouwer: Een stelling is waar als er een bewijs voor is.
Dus de echte vraag is:
Wat is een bewijs?
Brouwer heeft dit zelf nooit formeel precies gemaakt, want Brouwer
deed niet aan logica. Zijn student Heyting en Kolmogorov wel.
15
![Page 16: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/16.jpg)
Brouwer-Heyting-Kolmogorov interpretatie (BHK)
16
![Page 17: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/17.jpg)
Brouwer-Heyting-Kolmogorov interpretatie (BHK)
Een bewijs van
A ∧B is een paar van een bewijs van A en een bewijs van B
A ∨B is een bewijs van A of een bewijs van B
17
![Page 18: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/18.jpg)
Brouwer-Heyting-Kolmogorov interpretatie (BHK)
Een bewijs van
A ∧B is een paar van een bewijs van A en een bewijs van B
A ∨B is een bewijs van A of een bewijs van B
A→ B is een methode om, gegeven een bewijs van A,
een bewijs van B te maken
⊥ is er niet
∀x ∈ D(A(x)) is een methode om, gegeven een element d ∈ D,
een bewijs van A(d) te maken
∃x ∈ D(A(x)) is een paar bestaande uit een element d ∈ D
en een bewijs van A(d).
18
![Page 19: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/19.jpg)
Brouwer-Heyting-Kolmogorov interpretatie (BHK)
Een bewijs van
A ∧B is een paar van een bewijs van A en een bewijs van B
A ∨B is een bewijs van A of een bewijs van B
A→ B is een methode om, gegeven een bewijs van A,
een bewijs van B te maken
⊥ is er niet
∀x ∈ D(A(x)) is een methode om, gegeven een element d ∈ D,
een bewijs van A(d) te maken
∃x ∈ D(A(x)) is een paar bestaande uit een element d ∈ D
en een bewijs van A(d).
Dus: er is geen bewijs van A ∨ ¬A
19
![Page 20: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/20.jpg)
Brouwer-Heyting-Kolmogorov interpretatie (BHK)
Een bewijs van
A ∧B is een paar van een bewijs van A en een bewijs van B
A ∨B is een bewijs van A of een bewijs van B
A→ B is een methode om, gegeven een bewijs van A,
een bewijs van B te maken
⊥ is er niet
∀x ∈ D(A(x)) is een methode om, gegeven een element d ∈ D,
een bewijs van A(d) te maken
∃x ∈ D(A(x)) is een paar bestaande uit een element d ∈ D
en een bewijs van A(d).
Dus: een bewijs van ∀x ∈ D∃y ∈ E(A(x, y)) bevat een methode om
bij iedere d ∈ D een e ∈ E te maken zodat A(d, e) geldt.
20
![Page 21: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/21.jpg)
Kleene Realiseerbaarheid, Curry-Howard Formules als Types
We kunnen de BHK interpretatie nog formeler maken
• een formule opvatten als een type (of specificatie)
• een bewijs opvatten als een als een algoritme (programma)
21
![Page 22: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/22.jpg)
Kleene Realiseerbaarheid, Curry-Howard Formules als Types
We kunnen de BHK interpretatie nog formeler maken
• een formule opvatten als een type (of specificatie)
• een bewijs opvatten als een als een algoritme (programma)
Kleene realiseerbaarheid
m r A
“m realiseert de formule A” (m ∈ N, gezien als code van een Turing
machine)
22
![Page 23: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/23.jpg)
Kleene Realiseerbaarheid, Curry-Howard Formules als Types
We kunnen de BHK interpretatie nog formeler maken
• een formule opvatten als een type (of specificatie)
• een bewijs opvatten als een als een algoritme (programma)
Kleene realiseerbaarheid
m r A
“m realiseert de formule A” (m ∈ N, gezien als code van een Turing
machine)
Curry-Howard formules als types:
M : A
“M is van type A” (M een algoritme / functioneel programma / data)
23
![Page 24: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/24.jpg)
Formules als Types, Bewijzen als termen / programma’s
Een bewijs van (term van type)
A ∧B is een term 〈p, q〉 met p : A en q : B
A ∨B is inl p met p : A of inr q met q : B
A→ B is een term f : A→ B
⊥ is er niet
∀x ∈ D(A(x)) is een term f : Πx∈DA(x)
∃x ∈ D(A(x)) is een term 〈d, p〉 met d : D en p : A(d)
24
![Page 25: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/25.jpg)
Formules als Types, Bewijzen als termen / programma’s
Een bewijs van (term van type)
A ∧B is een term 〈p, q〉 met p : A en q : B
A ∨B is inl p met p : A of inr q met q : B
A→ B is een term f : A→ B
⊥ is er niet
∀x ∈ D(A(x)) is een term f : Πx∈DA(x)
∃x ∈ D(A(x)) is een term 〈d, p〉 met d : D en p : A(d)
Formules en verzamelingen zijn allebei (data)types
Bewijzen en elementen zijn allebei termen (data, programma’s)
Twee “lezingen” voor M : A:
- M is een bewijs van de formule A
- M is data van het type A
25
![Page 26: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/26.jpg)
Formules als Types, Bewijzen als termen / programma’s
Een bewijs van (term van type)
A ∧B is een term 〈p, q〉 met p : A en q : B
A ∨B is inl p met p : A of inr q met q : B
A→ B is een term f : A→ B
⊥ is er niet
∀x ∈ D(A(x)) is een term f : Πx∈DA(x)
∃x ∈ D(A(x)) is een term 〈d, p〉 met d : D en p : A(d)
Formules en verzamelingen zijn allebei (data)types
Bewijzen en elementen zijn allebei termen (data, programma’s)
Twee “lezingen” voor M : A:
- M is een bewijs van de formule A
- M is data van het type A
26
![Page 27: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/27.jpg)
Formules als Types, Bewijzen als termen in de informatica (1)
Bewijs Checken
Bewijs checken = Type checken
Er is een “type check” algoritme TC:
TC(p) 7→ A als p : A of fail als p niet typeerbaar
Bewijs zoeken (Theorem Proving) =
interactief zoeken naar een term p zodat p : A.
27
![Page 28: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/28.jpg)
Formules als Types, Bewijzen als termen in de informatica (2)
Programmeren met bewijzen
We onderscheiden logische typen en data typen
A ∧B ≃ A×B
A ∨B ≃ A ⊎B
A→ B ≃ A→ B
⊥ ≃ ∅∀x:D(A(x)) ≃ Πx:DA(x) = {f | ∀d:D(f(d):A(d))}∃x:D(A(x)) ≃ Σx:D(A(x)) = {〈d, p〉 | d:D & f(d):A(d)}
28
![Page 29: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/29.jpg)
Formules als Types, Bewijzen als termen in de informatica (2)
Programmeren met bewijzen
We onderscheiden logische typen en data typen
A ∧B ≃ A×B
A ∨B ≃ A ⊎B
A→ B ≃ A→ B
⊥ ≃ ∅∀x:D(A(x)) ≃ Πx:DA(x) = {f | ∀d:D(f(d):A(d))}∃x:D(A(x)) ≃ Σx:D(A(x)) = {〈d, p〉 | d:D & f(d):A(d)}
Deze typen gedragen zich hetzelfde, maar we gebruiken ze anders:
- data typen voor computationele informatie (berekening)
- logische typen voor specificatie informatie (correctheid)
29
![Page 30: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/30.jpg)
Programmeren met constructieve bewijzen
Voorbeeld: een lijst van natuurlijke getallen sorteren
sort : ListN → ListN
30
![Page 31: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/31.jpg)
Programmeren met constructieve bewijzen
Voorbeeld: een lijst van natuurlijke getallen sorteren
sort : ListN → ListN
Verfijndere specificatie (output is gesorteerd):
sort : ListN → ∃y:ListN(Sorted(y))
Sorted(x) := ∀i < length(x)− 1(x[i] ≤ x[i + 1])
31
![Page 32: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/32.jpg)
Programmeren met constructieve bewijzen
Voorbeeld: een lijst van natuurlijke getallen sorteren
sort : ListN → ListN
Verfijndere specificatie (output is gesorteerd):
sort : ListN → ∃y:ListN(Sorted(y))
Nog verfijndere specificatie (output is permutatie van input):
sort : ∀x:ListN ∃y:ListN(Sorted(y) ∧ Permutation(x, y))
Het bewijs sort bevat een sorteringsalgoritme.
32
![Page 33: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/33.jpg)
Programmeren met constructieve bewijzen
Extractie van programma’s uit bewijzen.
sort : ∀x:ListN ∃y:ListN(Sorted(y) ∧ Permutation(x, y))
33
![Page 34: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/34.jpg)
Programmeren met constructieve bewijzen
Extractie van programma’s uit bewijzen.
sort : ∀x:ListN ∃y:ListN(Sorted(y) ∧ Permutation(x, y))
Met onderscheid data-logica:
sort :
berekening︷ ︸︸ ︷Πx:ListN Σy:ListN (Sorted(y) ∧ Permutation(x, y))︸ ︷︷ ︸
specificatie
34
![Page 35: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/35.jpg)
Programmeren met constructieve bewijzen
Extractie van programma’s uit bewijzen.
sort : ∀x:ListN ∃y:ListN(Sorted(y) ∧ Permutation(x, y))
Met onderscheid data-logica en programma extractie:
sort : Πx:ListN Σy:ListNSorted(y) ∧ Permutation(x, y))
���
���
?
sort : ListN → ListN
correct : ∀x:ListN(Sorted(sort(x)) ∧ Permutation(x, sort(x)))
35
![Page 36: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/36.jpg)
Rekenen met reele getallen
Wat is een reeel getal?
- Een rationaal getal p
qis een reeel getal.
- Een limiet van een rij rationale getallen is een reeel getal
Bijvoorbeeld
∞∑
i=0
1
i!= lim
n→∞
n∑
i=0
1
i!= e
limn→∞
(1 +1
n)n = e
∞∑
i=0
1
i2= lim
n→∞
n∑
i=0
1
i2=
π2
6
⇒ Een reeel getal is (in het algemeen) een oneindig object
Rij rationale getallen q0, q1, q2, . . . die convergeert.
36
![Page 37: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/37.jpg)
Wat is een reeel getal?
Rij rationale getallen q0, q1, q2, . . . die convergeert.
∀k ∈ N+∃N ∈ N∀m ≥ N(|qm − qN | < 1k)
∀ε ∈ Q+∃N ∈ N∀m ≥ N(|qm − qN | < ε)
∀k ∈ N+∃N ∈ N∀m, p(|qN+m − qN+p| < 1k)
37
![Page 38: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/38.jpg)
Wat is een reeel getal?
Rij rationale getallen q0, q1, q2, . . . die convergeert.
∀k ∈ N+∃N ∈ N∀m ≥ N(|qm − qN | < 1k)
∀ε ∈ Q+∃N ∈ N∀m ≥ N(|qm − qN | < ε)
∀k ∈ N+∃N ∈ N∀m, p(|qN+m − qN+p| < 1k)
Met N uitgedrukt in k als β(k)
∀k ∈ N+∀m, p(|qβ(k)+m − qβ(k)+p| <1
k)
Fundamentele rij: paar bestaande uit (qi)i∈N en β : N→ N.
38
![Page 39: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/39.jpg)
Wat is een reeel getal?
Rij rationale getallen q0, q1, q2, . . . die convergeert.
∀k ∈ N+∃N ∈ N∀m ≥ N(|qm − qN | < 1k)
∀ε ∈ Q+∃N ∈ N∀m ≥ N(|qm − qN | < ε)
∀k ∈ N+∃N ∈ N∀m, p(|qN+m − qN+p| < 1k)
Met N uitgedrukt in k als β(k)
∀k ∈ N+∀m, p(|qβ(k)+m − qβ(k)+p| <1
k)
Fundamentele rij: paar bestaande uit (qi)i∈N en β : N→ N.
Voorbeeld: decimale notatie
3, 3.1, 3.14, 3.141, 3.1415, 3.14159, . . .
39
![Page 40: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/40.jpg)
Rekenen op een computer met reele getallen(1)
Floating point?
Een getal is een “mantissa” + de positie van de decimale punt.
Bijvoorbeeld:
(1.20× 10−1)× (1.20× 10−1) = (1.44× 10−2)
40
![Page 41: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/41.jpg)
Rekenen op een computer met reele getallen(1)
Floating point?
Een getal is een “mantissa” + de positie van de decimale punt.
Bijvoorbeeld:
(1.20× 10−1)× (1.20× 10−1) = (1.44× 10−2)
Probleem: Operaties worden afgerond; nauwkeurigheid van het
antwoord wordt niet bijgehouden.
a0 :=11
2, a1 :=
61
11, an+1 := 111−
1130− 3000an−1
an
n 2 5 6 7 8 10 11 12
an 5.6 5.6 4.3 −29.0 125.7 100.1 100.0 100.0
41
![Page 42: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/42.jpg)
Rekenen op een computer met reele getallen(2)
Interval rekenkunde (of Floating points met “precisie”)?
Een getal is een interval.
Bijvoorbeeld:
[3, 6] + [0.5, 1] = [3.5, 7]
[3, 6]− [0.5, 1] = [2, 5.5]
42
![Page 43: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/43.jpg)
Rekenen op een computer met reele getallen(2)
Interval rekenkunde (of Floating points met “precisie”)?
Een getal is een interval.
Bijvoorbeeld:
[3, 6] + [0.5, 1] = [3.5, 7]
[3, 6]− [0.5, 1] = [2, 5.5]
Wel precies, maar het nauwkeurigheidsinterval wordt snel (te) groot.
[3, 6]− [3, 6] = [−3, 3] ??
43
![Page 44: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/44.jpg)
Rekenen op een computer met reele getallen(3)
Exacte reele rekenkunde
Een getal x is een methode om een willekeurig goede benadering van x
te krijgen.
Meestal weergegeven door een oneindige rij “digits” of rationale
getallen.
Bijvoorbeeld
[ql0, q
r0], [q
l1, q
r1], [q
l2, q
r2], . . . met ql
i < qri en |qr
i − qli| <
1
i
44
![Page 45: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/45.jpg)
Rekenen op een computer met reele getallen(3)
Exacte reele rekenkunde
Een getal x is een methode om een willekeurig goede benadering van x
te krijgen.
Meestal weergegeven door een oneindige rij “digits” of rationale
getallen.
Bijvoorbeeld
[ql0, q
r0], [q
l1, q
r1], [q
l2, q
r2], . . . met ql
i < qri en |qr
i − qli| <
1
i
3, 3.1, 3.14, 3.141, . . . decimale ontwikkeling
a0, a1, a2, a3, . . . a0 ∈ Z, alle andere ai ∈ N+ kettingbreuken
x = a0 +1
a1 + 1a2+
1
a3+ 1
...
45
![Page 46: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/46.jpg)
Exacte reele rekenkunde
Functies over exacte reele getallen.
F : benadering van de input 7→ benadering van de output
46
![Page 47: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/47.jpg)
Exacte reele rekenkunde
Functies over exacte reele getallen.
F : benadering van de input 7→ benadering van de output
Maar daar nog bij:
F : gewenste precisie van de output 7→ benodigde benadering van de input
47
![Page 48: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/48.jpg)
Exacte reele rekenkunde
48
![Page 49: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/49.jpg)
Exacte reele rekenkunde
Voorbeeld: optellen op decimale getallen.
x y x + y
0 0 −0, 1 0, 2 0,
0, 12 0, 23 0, 3
0, 124 0, 235 0, 3
49
![Page 50: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/50.jpg)
Exacte reele rekenkunde
Voorbeeld: optellen op decimale getallen.
x y x + y
0 0 −0, 1 0, 2 0,
0, 12 0, 23 0, 3
0, 124 0, 235 0, 3
0, 1241 0, 2351 0, 359...
......
Werkt dit altijd?
Vraag: Kun je altijd door een betere benadering van de input meer
output leveren?
50
![Page 51: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/51.jpg)
Exacte reele rekenkunde
Voorbeeld: optellen op decimale getallen.
x y x + y
0 0 −0, 1 0, 2 0,
0, 12 0, 23 0, 3
0, 124 0, 235 0, 3
0, 1241 0, 2351 0, 359...
......
Werkt dit altijd?
Vraag: Kun je altijd door een betere benadering van de input meer
output leveren? Nee . . .
51
![Page 52: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/52.jpg)
Exacte reele rekenkunde
Voorbeeld: optellen op decimale getallen.
x y x + y
0 0 −0, 3 0, 6 −0, 33 0, 66 −0, 333 0, 666 −...
... geen output
Een 4 bij x? Dan 1, . . . Een 2 bij x? Dan 0, . . .
52
![Page 53: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/53.jpg)
Exacte reele rekenkunde
Voorbeeld: optellen op decimale getallen.
x y x + y
0 0 −0, 3 0, 6 −0, 33 0, 66 −0, 333 0, 666 −...
... geen output
Een 4 bij x? Dan 1, . . . Een 2 bij x? Dan 0, . . .
De decimale representatie is niet geschikt!
Brouwer wist dit al. “Besitzt jede reelle Zahl eine
Dezimalbruchentwikklung?” (Mathematische Annalen, 1921)
53
![Page 54: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/54.jpg)
Exacte reele rekenkunde: getallensystemen
Een “goed” getallen systeem heeft veel redundantie
Decimale getallen:
. . . | 0.0 | 0.1 | 0.2 | . . .
0.0 beschrijft [0.0, 0.1] en 0.1 beschrijft [0.1, 0.2].
Wat als we 0.1 blijken te willen benaderen?
54
![Page 55: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/55.jpg)
Exacte reele rekenkunde: getallensystemen
Een “goed” getallen systeem heeft veel redundantie
Decimale getallen:
. . . | 0.0 | 0.1 | 0.2 | . . .
0.0 beschrijft [0.0, 0.1] en 0.1 beschrijft [0.1, 0.2].
Wat als we 0.1 blijken te willen benaderen?
Oplossing: Voeg een extra digit toe: −1
. . . [ 0.0 ] [ 0.2 ] . . .
. . . [ 0.1 ] [ 0.3 ] . . .
55
![Page 56: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/56.jpg)
Exacte reele rekenkunde: getallensystemen
Een “goed” getallen systeem heeft veel redundantie
Decimale getallen:
. . . | 0.0 | 0.1 | 0.2 | . . .
0.0 beschrijft [0.0, 0.1] en 0.1 beschrijft [0.1, 0.2].
Wat als we 0.1 blijken te willen benaderen?
Oplossing: Voeg een extra digit toe: −1
. . . [ 0.0 ] [ 0.2 ] . . .
. . . [ 0.1 ] [ 0.3 ] . . .
Stelling: Exacte reele rekenkunde kan alleen met een redundant
representatiesysteem.
56
![Page 57: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/57.jpg)
Exacte reele rekenkunde
Probleem (?): “x ≤ y” kun je niet (algoritmisch) beslissen.
Klassiek: x ≤ y ∨ y < x
57
![Page 58: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/58.jpg)
Exacte reele rekenkunde
Probleem (?): “x ≤ y” kun je niet (algoritmisch) beslissen.
Klassiek: x ≤ y ∨ y < x
Brouwer: De wet x ≤ y ∨ y < x geldt niet voor de reele getallen.
Wat hebben we dan wel?
x ≤ε y ∨ y <ε x
x ≤ y + ε ∨ y − ε < x
. . . [y − ε y + ε] . . .
58
![Page 59: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/59.jpg)
Exacte reele rekenkunde
Probleem (?): “x ≤ y” kun je niet (algoritmisch) beslissen.
Klassiek: x ≤ y ∨ y < x
Brouwer: De wet x ≤ y ∨ y < x geldt niet voor de reele getallen.
Wat hebben we dan wel?
x ≤ε y ∨ y <ε x
x ≤ y + ε ∨ y − ε < x
. . . [y − ε y + ε] . . .
x < y → x < z ∨ z < y
. . . [x y] . . .
59
![Page 60: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/60.jpg)
Exacte reele rekenkunde
Is dit niet problematisch in de praktijk?
60
![Page 61: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/61.jpg)
Exacte reele rekenkunde
Is dit niet problematisch in de praktijk?
Nee: fysische variabelen (metingen) zijn ook altijd “bij benadering”
Specificaties die berusten op precieze gelijkheids-checks zijn niet
robuust.
61
![Page 62: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/62.jpg)
Exacte reele rekenkunde
Is dit niet problematisch in de praktijk?
Nee: fysische variabelen (metingen) zijn ook altijd “bij benadering”
Specificaties die berusten op precieze gelijkheids-checks zijn niet
robuust.
Toestand ONT=22−→ Toestand OFF
T ′ = 2T=18←− T ′ = −T
62
![Page 63: Helden van de wiskunde: L.E.J. Brouwer Brouwers visie ...herman/SLIDES/NWDtalk.pdf · Kleene Realiseerbaarheid, Curry-Howard Formules als Types We kunnen de BHK interpretatie nog](https://reader031.fdocument.pub/reader031/viewer/2022020416/5c74134609d3f2a80a8bc5c0/html5/thumbnails/63.jpg)
EINDE
63