w o r k p r i n o g r e s A Graph-Rewriting s Perspective of the Beta-Law Dan R. Ghica Koko Muroya Todd Waugh Ambridge (University of Birmingham (University of Birmingham) & RIMS, Kyoto University) S-REPLS 9 (Univ. Sussex), 25 May 2018 Muroya (U. B’ham. & RIMS, Kyoto U.)
Equivalence of programs denotational equality Do t and u denote the same (mathematical) syntactical object? equation operational t = u equivalence Given any “closing” context C , do evaluations of C[t] and C[u] yield the same value? Muroya (U. B’ham. & RIMS, Kyoto U.) 2
Equivalence of programs denotational equality Do t and u denote the same (mathematical) syntactical object? equation operational t = u equivalence graphically? Given any “closing” context C , do evaluations of C[t] and C[u] yield the same value? Muroya (U. B’ham. & RIMS, Kyoto U.) 3
call-by-value contextual equational (operational) [Plotkin ‘75] theory equivalence Muroya (U. B’ham. & RIMS, Kyoto U.) 4
call-by-value contextual equational (operational) [Plotkin ‘75] theory equivalence Muroya (U. B’ham. & RIMS, Kyoto U.) 5
call-by-value contextual equational (operational) [Plotkin ‘75] theory equivalence SECD machine Muroya (U. B’ham. & RIMS, Kyoto U.) 6
call-by-value contextual soundness equational (operational) [Plotkin ‘75] theory equivalence SECD machine Muroya (U. B’ham. & RIMS, Kyoto U.) 7
call-by-value contextual equational (operational) graphically theory equivalence graph-rewriting machine Muroya (U. B’ham. & RIMS, Kyoto U.) 8
call-by-value contextual graph-equational (operational) graphically theory equivalence Muroya (U. B’ham. & RIMS, Kyoto U.) 9
call-by-value contextual graph-equational (operational) graphically theory equivalence all and only values are duplicable Muroya (U. B’ham. & RIMS, Kyoto U.) 10
call-by-value contextual graph-equational (operational) graphically theory equivalence Muroya (U. B’ham. & RIMS, Kyoto U.) 11
call-by-value contextual graph-equational (operational) graphically theory equivalence alpha-law: trivial beta-law: refined (cf. explicit substitution) Muroya (U. B’ham. & RIMS, Kyoto U.) 12
call-by-value contextual graph-equational (operational) graphically theory equivalence alpha-law: trivial beta-law: refined (cf. explicit substitution) Muroya (U. B’ham. & RIMS, Kyoto U.) 13
call-by-value contextual graph-equational (operational) graphically theory equivalence alpha-law: trivial beta-law: refined (cf. explicit substitution) Muroya (U. B’ham. & RIMS, Kyoto U.) 14
call-by-value contextual graph-equational (operational) graphically theory equivalence alpha-law: trivial beta-law: refined (cf. explicit substitution) Muroya (U. B’ham. & RIMS, Kyoto U.) 15
call-by-value contextual graph-equational (operational) graphically theory equivalence alpha-law: trivial beta-law: refined (cf. explicit substitution) SECD machine Muroya (U. B’ham. & RIMS, Kyoto U.) 16
call-by-value graph-contextual graph-equational (operational) graphically theory equivalence alpha-law: trivial beta-law: refined (cf. explicit substitution) graph-rewriting machine Muroya (U. B’ham. & RIMS, Kyoto U.) 17
call-by-value graph-contextual graph-equational (operational) graphically theory equivalence alpha-law: trivial beta-law: refined (cf. explicit substitution) dGoI machine Muroya (U. B’ham. & RIMS, Kyoto U.) 18
SECD machine dGoI machine ● stack of closures ● graph ● environment ● evaluation control ● control string (“ token ”) ● dump ● rewriting flag ● computation stack ● box stack Muroya (U. B’ham. & RIMS, Kyoto U.) 19
SECD machine dGoI machine Muroya (U. B’ham. & RIMS, Kyoto U.) 20
SECD machine dGoI machine Muroya (U. B’ham. & RIMS, Kyoto U.) 21
dGoI-machine transitions Muroya (U. B’ham. & RIMS, Kyoto U.) 22
call-by-value graph -contextual graph -equational (operational) graphically theory equivalence alpha-law: trivial beta-law: refined (cf. explicit substitution) dGoI machine Muroya (U. B’ham. & RIMS, Kyoto U.) 23
call-by-value graph -contextual soundness graph -equational (operational) graphically theory equivalence alpha-law: trivial beta-law: refined (cf. explicit substitution) dGoI machine Muroya (U. B’ham. & RIMS, Kyoto U.) 24
call-by-value graph -contextual soundness graph -equational (operational) graphically theory equivalence alpha-law: trivial beta-law: refined (cf. explicit substitution) 1. lift an axiom to a binary relation on (dGoI-machine) states Muroya (U. B’ham. & RIMS, Kyoto U.) 25
call-by-value graph -contextual soundness graph -equational (operational) graphically theory equivalence 1. lift an axiom to a binary relation on (dGoI-machine) states 2. show the binary relation is a “ U-simulation ” Muroya (U. B’ham. & RIMS, Kyoto U.) 26
call-by-value graph -contextual soundness graph -equational (operational) graphically theory equivalence 1. lift an axiom to a binary relation on (dGoI-machine) states 2. show the binary relation is a “ U-simulation ” simulation Muroya (U. B’ham. & RIMS, Kyoto U.) 27
call-by-value graph -contextual soundness graph -equational (operational) graphically theory equivalence 1. lift an axiom to a binary relation on (dGoI-machine) states 2. show the binary relation is a “ U-simulation ” simulation ...until the difference is reduced Muroya (U. B’ham. & RIMS, Kyoto U.) 28
“Until the difference is reduced” Muroya (U. B’ham. & RIMS, Kyoto U.) 29
call-by-value graph -contextual soundness graph -equational (operational) graphically theory equivalence 1. lift an axiom to a binary relation on (dGoI-machine) states 2. show the binary relation is a “ U-simulation ” simulation ...until the difference is reduced Muroya (U. B’ham. & RIMS, Kyoto U.) 30
call-by-value graph -contextual soundness graph -equational (operational) graphically theory equivalence modular proof using U-simulations alpha-law: trivial beta-law: refined (cf. explicit substitution) dGoI machine Muroya (U. B’ham. & RIMS, Kyoto U.) 31
Equivalence of programs denotational equality Do t and u denote the same (mathematical) syntactical object? equation operational t = u equivalence graphically? Given any “closing” context C , do evaluations of C[t] and C[u] yield the same value? Muroya (U. B’ham. & RIMS, Kyoto U.) 32
Equivalence of programs denotational equality Do t and u denote the same (mathematical) syntactical object? equation operational t = u equivalence graphically? Given any “closing” context C , do evaluations of C[t] modular proof of soundness and C[u] yield the using U-simulations same value? Muroya (U. B’ham. & RIMS, Kyoto U.) 33
so what? Muroya (U. B’ham. & RIMS, Kyoto U.) 34
Equivalence of programs syntactical equation operational graphically? t = u equivalence Given any “closing” context C , do evaluations of C[t] modular proof of soundness and C[u] yield the using U-simulations same value? Muroya (U. B’ham. & RIMS, Kyoto U.) 35
Equivalence of programs related proof techniques: logical relations applicative bisimulations envirionmental bisimulations... syntactical equation operational graphically? t = u equivalence Given any “closing” context C , do evaluations of C[t] modular proof of soundness and C[u] yield the using U-simulations same value? Muroya (U. B’ham. & RIMS, Kyoto U.) 36
Equivalence of programs semantical criteria of primitive operations (function constants) to preserve beta-law? syntactical equation operational graphically? t = u equivalence Given any “closing” context C , do evaluations of C[t] modular proof of soundness and C[u] yield the using U-simulations same value? Muroya (U. B’ham. & RIMS, Kyoto U.) 37
Equivalence of programs cost-sensitive equivalence? (cf. [Schmidt-Schauss & Dallmeyer, WPTE ’17] syntactical equation operational graphically? t = u equivalence Given any “closing” context C , do evaluations of C[t] modular proof of soundness and C[u] yield the using U-simulations same value? Muroya (U. B’ham. & RIMS, Kyoto U.) 38
Recommend
More recommend