CID Outreach at Aston Universitysimpson/CCC2019Talks/konecny...CID Outreach at Aston University...

8
CID Outreach at Aston University Overview Web-based exact function/fractal plotter Visualise rigorous approximations Arbitrary accuracy Some obviously infinite behaviours Short talks for 16-17 year olds Computing with infinite data is cool Infinite data simplifies programs and reasoning Project on verification of numerical software 50% funded by AdaCore Focus on SPARK/Ada and FP Junaid Rasheed's PhD project https://github.com/michalkonecny/exact-function-plotter

Transcript of CID Outreach at Aston Universitysimpson/CCC2019Talks/konecny...CID Outreach at Aston University...

Page 1: CID Outreach at Aston Universitysimpson/CCC2019Talks/konecny...CID Outreach at Aston University Overview Web-based exact function/fractal plotter Visualise rigorous approximations

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

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

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

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

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

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

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

1. Specifications using real numbers2. Better prover support3. Executable specifications with reals

1.

2.

SPARKintervalarithmetic

3.