THE STRONG INVARIANCE THESIS
FOR A λ-CALCULUS
LOLA WORKSHOP 2017 Yannick Forster 1 Fabian Kunze 1,2 Marc Roth 1,3
1SAARLAND UNIVERSITY 2MAX PLANCK INSTITUTE FOR INFORMATICS 3CLUSTER OF EXCELLENCE (MMCI)
computer science
T URING MACHINES ( PROS ) easy to imagine easy to explain de-facto - - PowerPoint PPT Presentation
T HE STRONG INVARIANCE THESIS FOR A - CALCULUS LOLA WORKSHOP 2017 Yannick Forster 1 Fabian Kunze 1,2 Marc Roth 1,3 1 S AARLAND U NIVERSITY 2 M AX P LANCK I NSTITUTE FOR I NFORMATICS 3 C LUSTER OF E XCELLENCE (MMCI) saarland university computer
1SAARLAND UNIVERSITY 2MAX PLANCK INSTITUTE FOR INFORMATICS 3CLUSTER OF EXCELLENCE (MMCI)
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
◮ copy to pre until @λ is read ◮ copy next complete term to funct (and remember its position
◮ if the next token is λ, copy the next term to arg and
◮ otherwise, move funct onto pre and start from beginning
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
Introduction The calculus L Simulating TMs Simulating L with substitutions Simulating L with a heap Hybrid Interpreter
computer science
computer science
λx.x is represented by
computer science
◮ if CS is empty: the term is fully evaluated ◮ if CS = (@L, cR) :: CS′: set CC := cR and put (@R, CC) on
◮ if CS = (@R, λtE′) :: CS′: store sRE#E′ on heap as ˆ
computer science
◮ if CS is empty: the term is fully evaluated ◮ if CS = (@L, cR) :: CS′: set CC := cR and put (@R, CC) on
◮ if CS = (@R, λtE′) :: CS′: store sRE#E′ on heap as ˆ
computer science
◮ if CS is empty: the term is fully evaluated ◮ if CS = (@L, cR) :: CS′: set CC := cR and put (@R, CC) on
◮ if CS = (@R, λtE′) :: CS′: store sRE#E′ on heap as ˆ
computer science