Categorical Formalization for Program Modification

Yasutaka Higa

研究目的 (Categorical Formalization for Program Modification)

研究目的 (Parallel Debugger)

近況報告

業務連絡 : プロシン申し込み

Prove monad laws in Category for Delta

Delta の証明のキモ

Delta の証明のキモ : x = 1 , f = 1

var  = [x]
func = [f]

func(var) = [f(x)]

Delta の証明のキモ : x = 2 , f = 1

var  = [x, y]
func = [f]

func(var) = [f(x), f(y)]

Delta の証明のキモ : x = 1 , f = 2

var  = [x]
func = [f, g]

func(var) = [f(x), g(x)]

Delta の証明のキモ : x = 2 , f = 2

var  = [x, y]
func = [f, g]

func(var) = [[f(x), g(x)],
             [f(y), g(y)]]

Delta の証明のキモ : x = 3 , f = 2

var  = [x, y, z]
func = [f, g]

func(var) = [[f(x), g(x)],
             [f(y), g(y)],
             [f(z), g(z)]]

Delta の証明のキモ : x = 2 , f = 3

var  = [x, y]
func = [f, g, h]

func(var) = [[f(x), g(x), h(x)],
             [f(y), g(y), h(y)]]

Delta の証明のキモ : x = n , f = n

bind (Mono x)    f = f x
bind (Delta x d) f = Delta (headDelta (f x))
                           (bind d (tailDelta . f))

Delta の証明 : Monad-laws

TODO