Open
Description
Created by @alexanderjsummers on 2018-05-08 16:03
Last updated on 2018-06-03 10:51
Against expectations, the following assertion about an ill-defined recursive function is not proved:
#!scala
function wild() : Int { 1 + wild() }
method fail () { assert wild() == 1 + wild() }
Note that splitting the ill-defined recursive function in two parts works, as in:
#!scala
function wild() : Int { 1 + wild2() }
function wild2() : Int { 1 + wild() }
method fail () { assert wild() == 1 + wild2(); assert wild() == 1 + wild() }