我正在尝试通过在线软件基础书籍来学习 Coq:http ://www.cis.upenn.edu/~bcpierce/sf/
我正在使用交互式命令行 Coq 解释器coqtop
。
在归纳章节(http://www.cis.upenn.edu/~bcpierce/sf/Induction.html)中,我完全按照说明进行操作。我使用coqc Basics.v
. 然后我开始coqtop
并准确输入:
Require Export Basics.
Theorem andb_true_elim1 : forall b c : bool,
andb b c = true -> b = true.
Proof.
intros b c H.
destruct b.
Case "b = true".
一切正常,直到最后一行,此时我收到以下错误:
Toplevel input, characters 5-15:
> Case "b = true".
> ^^^^^^^^^^
Error: No interpretation for string "b = true".
我对 Coq 太陌生,无法开始解释为什么这不起作用。我在网上找到了一些建议我需要先做的事情Require String.
,但是,这也不起作用。有人读过这本书或遇到过这个问题吗?如何让代码正常工作?
这个 Case 关键字(策略?)似乎依赖于 SF 书中没有明确说明的其他东西,但我不知道是什么。