![Page 1: CID Outreach at Aston Universitysimpson/CCC2019Talks/konecny...CID Outreach at Aston University Overview Web-based exact function/fractal plotter Visualise rigorous approximations](https://reader033.vdocuments.net/reader033/viewer/2022041917/5e6a6c03f1a3cb1bc760b743/html5/thumbnails/1.jpg)
CID Outreach at Aston University
Overview
Web-based exact function/fractal plotter
Visualise rigorous approximationsArbitrary accuracySome obviously infinite behaviours
Short talks for 16-17 year olds
Computing with infinite data is coolInfinite data simplifies programs and reasoning
Project on verification of numerical software
50% funded by AdaCoreFocus on SPARK/Ada and FP
Junaid Rasheed's PhD project
https://github.com/michalkonecny/exact-function-plotter
![Page 2: CID Outreach at Aston Universitysimpson/CCC2019Talks/konecny...CID Outreach at Aston University Overview Web-based exact function/fractal plotter Visualise rigorous approximations](https://reader033.vdocuments.net/reader033/viewer/2022041917/5e6a6c03f1a3cb1bc760b743/html5/thumbnails/2.jpg)
Short talks for 16-17 year olds 30 min talkto 30 selected school studentsin a 4/5-day programming workshop
- Appreciate infinity in computation- Infinite structures simplify programs, their specifications and reasoning
Goals of talk
sqrt(s) = sqrtB(10,s)sqrtB(0, s) = 1sqrtB(n, s) =
let x = sqrtB(n-1, s)in (x + s/x) / 2
sqrt(s) ~
for all s ...around 4 billion values of s
is the program correct?
take 10 sqdiv11 =[1,10,12,21,23,32,34,43,45,54]
demo
divisible by 11
sqdiv11 = [x|x<-[1..], (x*x-1) `mod` 11 == 0]
![Page 3: CID Outreach at Aston Universitysimpson/CCC2019Talks/konecny...CID Outreach at Aston University Overview Web-based exact function/fractal plotter Visualise rigorous approximations](https://reader033.vdocuments.net/reader033/viewer/2022041917/5e6a6c03f1a3cb1bc760b743/html5/thumbnails/3.jpg)
Short talks for 16-17 year olds 30 min talkto 30 selected school studentsin a 4/5-day programming workshop
- Appreciate infinity in computation- Infinite structures simplify programs, their specifications and reasoning- See how computation involving infinite lists works
Goals of talk
[1,2,3] = 1 : (2 : (3 : []))
take 3 [1..] = take 3 (1:(2:(3:(from 4)))) = 1:(2:(3:[])) = [1,2,3]
from n = n : (from (n + 1))
[1..] = from 1 = 1 : (from 2) = 1 : (2 : (from 3)) = 1 : (2 : (3 : (from 4))) = ... = 1 : (2 : (3 : (4 : ... )))
![Page 4: CID Outreach at Aston Universitysimpson/CCC2019Talks/konecny...CID Outreach at Aston University Overview Web-based exact function/fractal plotter Visualise rigorous approximations](https://reader033.vdocuments.net/reader033/viewer/2022041917/5e6a6c03f1a3cb1bc760b743/html5/thumbnails/4.jpg)
Short talks for 16-17 year olds 30 min talkto 30 selected school studentsin a 4/5-day programming workshop
- Appreciate infinity in computation- Infinite structures simplify programs, their specifications and reasoning- See how computation involving infinite lists works- Observe exact real computation
Goals of talk
Real numbers are infinite = 3.14159265358979323846264338327950288419716939937510582097494459230781 640628620899862803482534211706798214808651328230664709384460955058223
172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912983367336244065664308602139494639522473719070217986...
inifinitely many digitsno "simple" patternbut a "complex" pattern:a computer program
(by Jens Blanck, https://github.com/jensblanck/cdar)
π
![Page 5: CID Outreach at Aston Universitysimpson/CCC2019Talks/konecny...CID Outreach at Aston University Overview Web-based exact function/fractal plotter Visualise rigorous approximations](https://reader033.vdocuments.net/reader033/viewer/2022041917/5e6a6c03f1a3cb1bc760b743/html5/thumbnails/5.jpg)
Short talks for 16-17 year olds 30 min talkto 30 selected school studentsin a 4/5-day programming workshop
- Appreciate infinity in computation- Infinite structures simplify programs, their specifications and reasoning- See how computation involving infinite lists works- Observe exact real computation
- Observe and reflect on reliable approximations of numbers, real functions, 2D curves, simple fractals
Goals of talk
![Page 6: CID Outreach at Aston Universitysimpson/CCC2019Talks/konecny...CID Outreach at Aston University Overview Web-based exact function/fractal plotter Visualise rigorous approximations](https://reader033.vdocuments.net/reader033/viewer/2022041917/5e6a6c03f1a3cb1bc760b743/html5/thumbnails/6.jpg)
1. Specifications using real numbers2. 3.
1.
![Page 7: CID Outreach at Aston Universitysimpson/CCC2019Talks/konecny...CID Outreach at Aston University Overview Web-based exact function/fractal plotter Visualise rigorous approximations](https://reader033.vdocuments.net/reader033/viewer/2022041917/5e6a6c03f1a3cb1bc760b743/html5/thumbnails/7.jpg)
1. Specifications using real numbers2. Better prover support3.
1.
2.
![Page 8: CID Outreach at Aston Universitysimpson/CCC2019Talks/konecny...CID Outreach at Aston University Overview Web-based exact function/fractal plotter Visualise rigorous approximations](https://reader033.vdocuments.net/reader033/viewer/2022041917/5e6a6c03f1a3cb1bc760b743/html5/thumbnails/8.jpg)
1. Specifications using real numbers2. Better prover support3. Executable specifications with reals
1.
2.
SPARKintervalarithmetic
3.