相关疑难解决方法(0)

为什么逻辑连接词和布尔值在Coq中分开?

我来自JavaScript/Ruby编程背景,我习惯这是真/假的工作原理(在JS中):

!true
// false
!false
// true
Run Code Online (Sandbox Code Playgroud)

然后你就可以使用这些真/假值与&&

var a = true, b = false;
a && !b;
Run Code Online (Sandbox Code Playgroud)

所以,不是(和其他逻辑/布尔运算符)是单个系统的一部分; 似乎"逻辑"系统和"布尔"系统是同一个系统.

但是,在Coq中,逻辑和布尔值是两个不同的东西.为什么是这样?下面的引用/链接演示了如何将定理与它们联系起来.

我们已经看到过几个可以在Coq的计算(类型)和逻辑(Prop)世界中找到类似结构的地方.还有一个:布尔运算符andb和orb显然是逻辑连接词的类似物?和?通过以下定理可以使这种类比更加精确,这些定理表明如何将关于orb和orb在某些输入上的行为的知识转化为关于这些输入的命题事实.

Theorem andb_prop : ?b c,
  andb b c = true ? b = true ? c = true.
Run Code Online (Sandbox Code Playgroud)

http://www.seas.upenn.edu/~cis500/current/sf/Logic.html#lab211

logic boolean coq

8
推荐指数
1
解决办法
885
查看次数

标签 统计

boolean ×1

coq ×1

logic ×1