鉴于我对代码生成有一个非常简单的定义。它仅针对某些情况定义,否则会引发运行时异常。
definition "blubb a = (if P a then True else undefined)"
现在我想显示blubb
正确。应该忽略抛出异常的情况(从我的角度来看,而不是从数学的角度来看)。但是,我最终得到了一个假设某个任意值X
是undefined
. 以下引理或多或少等同于子目标。我想显示False
,因为我想忽略抛出异常(即undefined
返回)的情况。
lemma "X = undefined ⟹ False"
这是无法证明的。
try
Nitpick found a counterexample for card 'a = 1:
Free variable:
X = a1
显示可能引发异常或处理的函数正确性的最佳方法是什么undefined
?这与这个问题有关。