A Formally Verified Interpreter for a Shell-like Programming Language
Claude March´ e Nicolas Jeannerod Ralf Treinen Vals seminar, July 7, 2017
Nicolas Jeannerod VALS Seminar July 7, 2017 1 / 61
A Formally Verified Interpreter for a Shell-like Programming - - PowerPoint PPT Presentation
A Formally Verified Interpreter for a Shell-like Programming Language Claude March e Nicolas Jeannerod Ralf Treinen Vals seminar, July 7, 2017 Nicolas Jeannerod VALS Seminar July 7, 2017 1 / 61 The CoLiS project Correctness of Linux
Nicolas Jeannerod VALS Seminar July 7, 2017 1 / 61
Nicolas Jeannerod VALS Seminar July 7, 2017 2 / 61
Nicolas Jeannerod VALS Seminar July 7, 2017 2 / 61
Nicolas Jeannerod VALS Seminar July 7, 2017 2 / 61
Nicolas Jeannerod VALS Seminar July 7, 2017 2 / 61
Nicolas Jeannerod VALS Seminar July 7, 2017 2 / 61
Nicolas Jeannerod VALS Seminar July 7, 2017 2 / 61
Nicolas Jeannerod VALS Seminar July 7, 2017 2 / 61
Nicolas Jeannerod VALS Seminar July 7, 2017 2 / 61
Language Elements of Shell
Nicolas Jeannerod VALS Seminar July 7, 2017 3 / 61
Language Elements of Shell
Nicolas Jeannerod VALS Seminar July 7, 2017 4 / 61
Language Elements of Shell
Nicolas Jeannerod VALS Seminar July 7, 2017 4 / 61
Language Elements of Shell
Nicolas Jeannerod VALS Seminar July 7, 2017 5 / 61
Language Elements of Shell
Nicolas Jeannerod VALS Seminar July 7, 2017 5 / 61
Language Elements of Shell
Nicolas Jeannerod VALS Seminar July 7, 2017 5 / 61
Language Elements of Shell
Nicolas Jeannerod VALS Seminar July 7, 2017 6 / 61
Language Elements of Shell
Nicolas Jeannerod VALS Seminar July 7, 2017 6 / 61
Language Elements of Shell
Nicolas Jeannerod VALS Seminar July 7, 2017 6 / 61
Language Elements of Shell
Nicolas Jeannerod VALS Seminar July 7, 2017 7 / 61
Language Elements of Shell
Nicolas Jeannerod VALS Seminar July 7, 2017 8 / 61
Language Elements of Shell
Nicolas Jeannerod VALS Seminar July 7, 2017 8 / 61
Language Elements of Shell
Nicolas Jeannerod VALS Seminar July 7, 2017 8 / 61
Language Elements of Shell
Nicolas Jeannerod VALS Seminar July 7, 2017 8 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 9 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 10 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 10 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 10 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 10 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 11 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 12 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 13 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 14 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 14 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 15 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 16 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 16 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 17 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 17 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 17 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 18 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 19 / 61
Language CoLiS
Nicolas Jeannerod VALS Seminar July 7, 2017 19 / 61
Language Mechanised version
Nicolas Jeannerod VALS Seminar July 7, 2017 20 / 61
Language Mechanised version
Nicolas Jeannerod VALS Seminar July 7, 2017 21 / 61
Language Mechanised version
Nicolas Jeannerod VALS Seminar July 7, 2017 21 / 61
Language Mechanised version
Nicolas Jeannerod VALS Seminar July 7, 2017 21 / 61
Language Mechanised version
Nicolas Jeannerod VALS Seminar July 7, 2017 21 / 61
Language Mechanised version
Nicolas Jeannerod VALS Seminar July 7, 2017 21 / 61
Language Mechanised version
Nicolas Jeannerod VALS Seminar July 7, 2017 21 / 61
Language Mechanised version
Nicolas Jeannerod VALS Seminar July 7, 2017 22 / 61
Language Mechanised version
Nicolas Jeannerod VALS Seminar July 7, 2017 23 / 61
Language Mechanised version
Nicolas Jeannerod VALS Seminar July 7, 2017 24 / 61
Language Mechanised version
Nicolas Jeannerod VALS Seminar July 7, 2017 24 / 61
Language Mechanised version
Nicolas Jeannerod VALS Seminar July 7, 2017 25 / 61
Language Mechanised version
Nicolas Jeannerod VALS Seminar July 7, 2017 25 / 61
Language Mechanised version
Nicolas Jeannerod VALS Seminar July 7, 2017 25 / 61
Language Mechanised version
Nicolas Jeannerod VALS Seminar July 7, 2017 26 / 61
Language Mechanised version
Nicolas Jeannerod VALS Seminar July 7, 2017 26 / 61
A sound interpreter Why?
Nicolas Jeannerod VALS Seminar July 7, 2017 27 / 61
A sound interpreter Why?
Nicolas Jeannerod VALS Seminar July 7, 2017 28 / 61
A sound interpreter Why?
Nicolas Jeannerod VALS Seminar July 7, 2017 28 / 61
A sound interpreter Why?
Nicolas Jeannerod VALS Seminar July 7, 2017 28 / 61
A sound interpreter Why?
Nicolas Jeannerod VALS Seminar July 7, 2017 28 / 61
A sound interpreter Let us see some code
Nicolas Jeannerod VALS Seminar July 7, 2017 29 / 61
A sound interpreter Let us see some code
Nicolas Jeannerod VALS Seminar July 7, 2017 30 / 61
A sound interpreter Let us see some code
Nicolas Jeannerod VALS Seminar July 7, 2017 30 / 61
A sound interpreter Let us see some code
Nicolas Jeannerod VALS Seminar July 7, 2017 31 / 61
A sound interpreter Let us see some code
Nicolas Jeannerod VALS Seminar July 7, 2017 31 / 61
A sound interpreter Let us see some code
Nicolas Jeannerod VALS Seminar July 7, 2017 32 / 61
A sound interpreter Let us see some code
Nicolas Jeannerod VALS Seminar July 7, 2017 32 / 61
A sound interpreter Let us see some code
Nicolas Jeannerod VALS Seminar July 7, 2017 33 / 61
A sound interpreter Let us see some code
Nicolas Jeannerod VALS Seminar July 7, 2017 33 / 61
A sound interpreter Let us see some code
Nicolas Jeannerod VALS Seminar July 7, 2017 34 / 61
A sound interpreter Let us see some code
Nicolas Jeannerod VALS Seminar July 7, 2017 34 / 61
A sound interpreter Proof
Nicolas Jeannerod VALS Seminar July 7, 2017 35 / 61
A sound interpreter Proof
Nicolas Jeannerod VALS Seminar July 7, 2017 36 / 61
A sound interpreter Proof
Nicolas Jeannerod VALS Seminar July 7, 2017 36 / 61
A sound interpreter Proof
Nicolas Jeannerod VALS Seminar July 7, 2017 36 / 61
A sound interpreter Proof
Nicolas Jeannerod VALS Seminar July 7, 2017 36 / 61
A sound interpreter Proof
Nicolas Jeannerod VALS Seminar July 7, 2017 36 / 61
A sound interpreter Proof
Nicolas Jeannerod VALS Seminar July 7, 2017 37 / 61
A sound interpreter Proof
Nicolas Jeannerod VALS Seminar July 7, 2017 37 / 61
A sound interpreter Proof
Nicolas Jeannerod VALS Seminar July 7, 2017 37 / 61
A sound interpreter An other sound interpreter
Nicolas Jeannerod VALS Seminar July 7, 2017 38 / 61
A sound interpreter An other sound interpreter
Nicolas Jeannerod VALS Seminar July 7, 2017 39 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 40 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 41 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 41 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 41 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 41 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 41 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 41 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 42 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 42 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 42 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 42 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 43 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 44 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 44 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 44 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 44 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 44 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 45 / 61
A complete interpreter Which formulation?
Nicolas Jeannerod VALS Seminar July 7, 2017 45 / 61
A complete interpreter Heights and sizes
Nicolas Jeannerod VALS Seminar July 7, 2017 46 / 61
A complete interpreter Heights and sizes
Nicolas Jeannerod VALS Seminar July 7, 2017 47 / 61
A complete interpreter Heights and sizes
Nicolas Jeannerod VALS Seminar July 7, 2017 47 / 61
A complete interpreter Heights and sizes
Nicolas Jeannerod VALS Seminar July 7, 2017 47 / 61
A complete interpreter Heights and sizes
Nicolas Jeannerod VALS Seminar July 7, 2017 47 / 61
A complete interpreter Heights and sizes
Nicolas Jeannerod VALS Seminar July 7, 2017 47 / 61
A complete interpreter Heights and sizes
Nicolas Jeannerod VALS Seminar July 7, 2017 48 / 61
A complete interpreter Heights and sizes
Nicolas Jeannerod VALS Seminar July 7, 2017 48 / 61
A complete interpreter Heights and sizes
Nicolas Jeannerod VALS Seminar July 7, 2017 48 / 61
A complete interpreter Heights and sizes
Nicolas Jeannerod VALS Seminar July 7, 2017 49 / 61
A complete interpreter Heights and sizes
Nicolas Jeannerod VALS Seminar July 7, 2017 49 / 61
A complete interpreter Heights and sizes
Nicolas Jeannerod VALS Seminar July 7, 2017 49 / 61
A complete interpreter Heights and sizes
Nicolas Jeannerod VALS Seminar July 7, 2017 50 / 61
A complete interpreter Heights and sizes
Nicolas Jeannerod VALS Seminar July 7, 2017 50 / 61
A complete interpreter Heights and sizes
Nicolas Jeannerod VALS Seminar July 7, 2017 50 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 51 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 52 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 52 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 52 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 53 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 54 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 55 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 56 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 56 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 57 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 57 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 58 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 59 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 59 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 59 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 60 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 60 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 60 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 60 / 61
A complete interpreter Skeletons
Nicolas Jeannerod VALS Seminar July 7, 2017 60 / 61
Nicolas Jeannerod VALS Seminar July 7, 2017 61 / 61