## Reasoning about Functions with Effects (1997)

Venue: | See Gordon and Pitts |

Citations: | 13 - 1 self |

### BibTeX

@INPROCEEDINGS{Talcott97reasoningabout,

author = {Carolyn Talcott},

title = {Reasoning about Functions with Effects},

booktitle = {See Gordon and Pitts},

year = {1997},

pages = {347--390},

publisher = {University Press}

}

### OpenURL

### Abstract

ing and using (L-unif) we have that any two lambdas that are everywhere undefined are equivalent. The classic example of an everywhere undefined lambda is Bot 4 = x:app(x:app(x; x); x:app(x; x)) In f , another example of an everywhere undefined lambda is the "do-forever" loop. Do 4 = f:Yv(Dox:Do(f(x)) By the recursive definition, for any lambda ' and value v Do(')(v) \Gamma!Ø Do(')('(v)) Reasoning about Functions with Effects 21 In f , either '(v) \Gamma!Ø v 0 for some v 0 or '(v) is undefined. In the latter case the computation is undefined since the redex is undefined. In the former case, the computation reduces to Do(')(v 0 ) and on we go. The argument for undefinedness of Bot relies only on the (app) rule and will be valid in any uniform semantics. In contrast the argument for undefinedness of Do(') relies on the (fred.isdef) property of f . Functional Streams We now illustrate the use of (L-unif-sim) computation to reason about streams represented as functions ...