标签: Logic
software-design
我有一个概念性的问题,相信堆栈溢出可能是一个很好的问题。在我的阅读和学习中,我经常听到关于“层”的对话——以及松散定义的层,似乎是这样。同样,在描述这些层时使用了大量的软件术语(因此,对于入门级的家伙或gal(像我一样),它们都很难掌握)
到目前为止,我听说有三(3)层相互作用,使程序“运行”:
业务逻辑层(BLL)-维基百科对此有很好的介绍/
应用程序逻辑层—负责使业务逻辑层与边界技术交互的层
表示层(我今天刚学到的层)
这里是我的问题(可能无法回答):这些图层“类型”有多少,简单地说,它们是
在阅读了“当天的采访问题”之后,我偶然发现了一个关于xor操作的不熟悉的编程语法。是否有人能解释执行时发生了什么:
result = 2;
out.println(result ^= 10); // This gives a result of 8.
result = 3;
out.println(result ^= 10); // This gives a result of 9.
result = 4;
out.println(resul
标签: Logic
signal-processingcircuitflip-flopcircuit-diagram
下面的真值表由下面的电路产生。使用SR(NOR)闩锁。我已经试过好几次跟踪电路,看看真值表值是如何产生的,但它不起作用。有人能给我解释一下发生了什么事吗?这条赛道是与赛车一起推出的,尽管我不确定它是否与赛车有关
注意:“时钟”显示为一条直线,显示其如何连接所有事物。这是一个正常的时钟,在1和0之间振荡。(这是我的指导老师画的)。
严格地说,这是属于EE的。你发现的其他问题可能是老问题——在EE建立之前
您应该查看时钟的1到0转换。当这种情况发生时,并且只有当这种情况发生时,S上当前的值才会转移
标签: Logic
first-order-logicproof-system
自动证明两个一阶公式F和G等价的最佳方法是什么
与“完整”一阶公式相比,这些公式有一些限制:
无量词
无功能
隐式普遍量化
我可以用子句范式转换这些公式,我有统一文本的例程。然而,我不确定如何继续,以及这个问题是否是可判定的。如前所述,要证明两个公式都是闭合的(普遍量化的)公式,需要证明F=>G和G=>F。要证明这两个公式中的每一个,可以使用各种计算。我将描述[解析演算]:
否定这个猜想,使F=>G变成F&-G
转换成CNF
运行解析过程
如果你得到一个空子句,你已经证明了原来的猜想F=>G。
我需要看一段关于一阶逻辑的在线视频
要在FLO中转换的语句为
每个人都爱自己的母亲
老师是这样写的
(For All x)(There exists y) Mother(x,y) and Loves(x,y)
如果x是person1,person2,person3,它会工作得很好
然而,如果x是table,它将不起作用。因此,在这里,对我来说,使用所有X似乎不合适。有人能给我解释一下我做错了什么吗?为了简单起见,讲师假设这个领域只有人类。当然,你说的是对的。应添加其他语句,例如Personx和
标签: Logic
logical-operators
我需要修改现有的基于随机的算术表达式,以获得不同范围的结果值。
方程为随机%10,结果范围为0到9。
我需要5-9之间的结果值。
这个有算术表达式吗
请仅对等式提出修改。
编者注:这可能意味着避免编码结构,例如,如果……您可以使用随机%5+5
此处,随机%5将生成一个介于0和4之间(含0和4)的值。然后,只需在答案中加上5,即可得到包含5和9的值仔细的措辞和正确性带来的可读性好处。不要使用短信语音。慢慢来编辑你的问题。避免认为自己的时间比潜在的回答者的时间更有价值的印象。另一个问题是潜在的印象,
我被一个定理所困扰,我认为它是不可证明的
Theorem double_negation : forall A : Prop, ~~A -> A.
你能证明它或解释为什么它是不可证明的吗
这是由于哥德尔的不完全性定理吗?双重否定消除是Coq的基础。为了证明这一点,我们很快得到:
我们可以证明,如果双否定消去法是可证明的,那么排除中间法则将成立,也就是说,(对于all(A:Prop),(~A->A))->对于all A:Prop,A\/~A.
首先,我们需要中间结果∼∼(一)∨ ∼A)
标签: Logic
circuittruthtablecircuit-diagram
我是逻辑电路的初学者,我正在尝试为LED骰子电路构造一个真值表
我的表中有7个输出,每个LED 1个,但我不知道需要多少输入
我被告知下面的公式给出了输入的数量,但我不知道Y是什么。有没有人能确认这个公式是正确的,告诉我Y是什么,这样我就可以计算出来?谢谢
n=log(Y+1)/log(2)不知道必须有多少个输入。你想要多少就有多少。但有一个最低限度
每个输入行都可以看作是二进制数中的一个数字。因此,为了识别7个不同的数字,我们需要至少三个二进制数字(000到111)。所以公式是ceil(log
标签: Logic
reasoninganswer-set-programmingclingo
以下是需要解决的问题:
如果吉姆不给他的孩子们买玩具,吉姆的孩子们就不会在圣诞节收到玩具。如果吉姆的孩子们不给他们写圣诞信,吉姆就不会给他们买玩具。吉姆的孩子们确实会收到圣诞玩具。”假设对这个故事的预期解释意味着吉姆的孩子们写了他们的圣诞信
现在,我想把上面的信息编码成规则和事实,以便clingo推断吉姆的孩子是否写了这些信
我编写的程序如下:
son(peter,jim).
receive_presents(peter,jim).
-buy_presents(jim,peter) :- son
标签: Logic
toggleenvironment
我的问题是这个,但我解决了!
我把这篇文章发出去,以防对其他人有所帮助
我用的是LogicPro
我想使用持续踏板midi数据来切换(锁定)按钮,这样我踩下踏板一次,按钮就会转到“开”位置。再按一次,它就会“关闭”。我想用它使对讲话筒静音/取消静音
这是我的解决办法。如果有人能提高,那就去吧
基本逻辑环境:
对象“TALK”仅用于显示当前状态,但可以连接到任何对象。请查看上面的图片以了解mu自己的解决方案请将其标记为已解决
标签: Logic
discrete-mathematics
条件命题1:如果天气晴朗,那么我就去
条件命题2:除非天气晴朗,否则我将去
让我们把它们分解为简单的命题
A:天气晴朗
B:我去
因此,重新编写前两个条件命题:
1:如果A,那么B
2:B,除非不A
在我看来,每种方法的真值表如下:
1:
2:
A------B------命题2
T-------T-------T
T-------F-------F
我认为问题在于“除非”这个词。除非是指当某事不真实的时候
条件命题1:如果天气晴朗,我就去
条件命题2:除非天气不晴朗,否则我就去。如果天气不晴朗
标签: Logic
state-machinefsm
时序电路有两个输入端x1和x2。代表五取二代码中编码的十进制数字的五位序列不时出现在与第三行上的时钟脉冲同步的行a:。当x2=0时发生,但紧跟在x2=1的一个或多个输入之后的行x1上的每五个连续位可被视为一个码字。单个输出z为0,无效码字的第五位除外。确定上述顺序电路的状态表。
五分之二代码
0=00011
1=00101
2=00110
3=01001
4=01010
5=01100
6=10001
7=10010
8=10100
9=11000
我已经用16个州解决了这个问题。有
下面是我的代码。我希望author=known,如果它是下面列出的论文之一,我希望author等于一个字符值,该字符值等于相应的论文编号,如果它不是下面列出的论文之一。完成后,我想将观察结果输出到两个不同的数据集。如果作者是已知的,我想输出到Knownautor;如果作者是未知的,我想输出到Unknownautor。我完全卡住了。任何帮助都将不胜感激
data knownauthor unknownauthor;
set t_wordlist_summary;
if pa
标签: Logic
predicatelanguage-translationpredicates
这些句子是:
实数i是方程f.i=i+l的最大实解
没有一个整数大于所有其他整数
我觉得第一个是对所有人的陈述,但我完全不知道第二个
任何帮助都会很好,谢谢
实数i是方程f.i=i+l的最大实解
没有一个整数大于所有其他整数
标签: Logic
discrete-mathematics
我试图解决以下问题:对于一个(2,n)可以表示为37位无符号整数的n的最大值是什么
我知道以下情况适用于Ackermann函数:
A(0,n) = n+1
A(m,0) = A(m-1,1)
A(m,n) = A(m-1, A(m,n-1))
我该怎么走?看起来在不知道n的情况下,方程变得很长,对于一些n,计算A(2,n);它增长得相当快,所以不需要太多时间就能获得足够大的价值
我用两种不同的方法定义了归纳类型事件上的三个相互递归函数:使用和关键字和修复关键字,但是,Coq抱怨主参数和参考。。。分别在…中找不到。
功能的两种实现方式如下所示:
Require Import List.
Parameter max: list nat -> nat.
Inductive event : Type := node: list event -> event.
Parameter eventbool : forall (P:event->Prop) (e:e
标签: Logic
model-checkingpromelaspin
我正在研究如何在Windows10命令行上使用Spin分析输出
如果能帮助文件提供正确的输出,我们将不胜感激。先决条件:在Windows 10上获得一个带有gcc的工作环境(,例如参见),或者,获得一个带有一些GNU/Linux发行版的虚拟环境。另外,在目标系统中
只有两种可能的方法:
选项A.:
~$ spin -a train.pml
~$ gcc pan.c -o verifier
~$ ./verifier -a -N c1
...
~$ ./verifier -a -N c8
..
有人能帮我实现如下日期逻辑:
IF YEAR([Invoice Date]) = YEAR(TODAY()) AND
DATEPART('month', [Invoice Date]) = 9 THEN [Sales] END
我工作的会计年度从10月到9月,一旦我完成会计年度并进入新的会计年度,我希望上一会计年度销售的最后一个月作为参考,直到新会计年度结束。例如,现在在2017年9月,会计年度结束,但我希望2017年9月的销售数字显示在图表中作为参考,直到下一个2018年9月,我希望201
我不能说我在编程方面很弱,但我不能更快地想出逻辑。我可以分析其他代码并了解其逻辑。但是我一个人做不了。如何提高我的编程技能?这是一个相当广泛的问题,但根据我自己30年的经验,我可以告诉你,没有办法开始学习
分析现有代码,
修改一些东西,让它看起来像是你自己的代码
看看这些变化有什么作用
就如何更快/更好/更漂亮地做事,形成自己的想法
实现你的想法
看看它是否有效
继续执行更复杂的任务
读书是很重要的,因为很多东西不能仅仅通过试错来发现
对你想成为现实的事情要充满激情和决心
如果你想学得更快,那就
标签: Logic
cpu-architectureboolean-logic
问题是
1为三个处理器设计一个真值表,当p1关闭时,其他处理器关闭,或p2打开时,其他处理器关闭
2设计一个逻辑门数最少的芯片我可以给你一个布尔表达式,但我认为它不能轻松解决你的两个问题
如给出的说明1:当p1关闭时,其他设备关闭
你可以给!p1->!p2&&!p3
然后,你可以简化它!!p1 | |!p2&&!p3是结果
如给定的语句1所示:**p2打开,其他2关闭**
你可以给p2->!p1&&!p3
此外,简化它,然后你可以得到!p2 | |!p1和p3
最后,结合使用给定或。所以,你可以
这不是一个家庭作业问题,而是我想知道这是否是学习编程的必要条件。我一直登录TopCoder,不是为了实际参与,而是为了基本了解问题是如何解决的。但据我所知,我不明白问题是什么,以及如何将问题转化为能够解决问题的算法。
刚才我碰巧看到了正在中国举行的ACM ICPC 2010世界总决赛。向各小组提供了问题集,其中一个是:
Given at most 100 points on a plan with distinct x-coordinates,
find the shortest cycl
一个简单的问题,可以用下面的逻辑吗
A && !(A && B)
可以简化成这样吗
A && !B
如果没有,它可以简化吗?简单的回答:可以。您可以通过以下方式进行检查:
i、 只有当A为真,B为假时,e.X才为真
如果你真的想:
A && !(A && B)
= A && (!A || !B) ; de Morgan
= (A && !A) || (A
让我们有两种说法
(值>15)
(值>25)
以及具有以下值的项目列表
十,
二十
三十
这就是真值表将给出的结果
Item Value (value > 15) (value > 25)
---- ----- ------------ ------------
1 10 FALSE FALSE
2 20 TRUE FALSE
3 30 TRUE TRUE
例1
这一
我正在尝试运行示例GUI项目,无论是0.2版还是0.3版,但是都没有成功。没什么特别的-我使用Debian 64位代码创建了一个简单的Eclipse项目,结果总是出现“CLIPSJNI.SymbolValue不能转换为CLIPSJNI.multifiedValue”异常。我在/usr/lib64中获得了libCLIPSJNI.so。非常感谢您的帮助或建议。我认为您的问题在于您的项目中找不到规则或资源文件。可能有多种(或更好的)方法可以做到这一点,但我所做的是创建一个CLIPSJNI项目来包含CL
我刚刚开始学习梯形图逻辑编程。我用的是Allen Bradley RSLogix 5000
我的任务是开发一台“简单”的咖啡机,其工作原理如下:
切换启动按钮
把杯子放下10秒钟
给热水10秒钟
如果需要,添加牛奶10秒钟
如果需要,添加糖10秒钟
程序完成-点亮完整指示灯10秒钟
除了可选添加牛奶和可选添加糖之外,我已经实现了所有功能
选项包括:
喝一杯没有牛奶或糖的咖啡。
或者喝一杯加牛奶而不是糖的咖啡。
或者喝一杯加糖而不是牛奶的咖啡。
或者喝一杯加糖和牛奶的咖啡。
我正在考虑使用切换按钮
这个问题感觉应该比我做的更简单,所以我的最终问题是:有没有更简单的方法?在逻辑上我们知道这一点
A v B = B v A
但在自然演绎中,我们使用v-介绍、RAA等来证明这些等价性。在解决一个实际问题的过程中,我遇到了证明这个交换性质的需要,但我发现它异常困难。在我看来,证据将是这样开始的:
1. A v B given
2. ¬(B v A) assume
3. ¬B ^ ¬A 2, deMorgan's
4. ¬A
我试图描述一个SN74ALS193元素,它是一个4位上下二进制计数器。真值表是:
R C In Dec
H X X X
L L X X
L H H H
L H pe H
L H H pe
- In - increment (counting up)
- Dec - decrement (counting down)
- pe - positive edge
“R”输入端的正脉冲将计数器(Q)的输出重置为0000C'是启用
标签: Logic
boolean-logicquantifiers
在声明中:
(∀x)(A→(B→C))
是否可以使用公理分配通用量词,从而得出以下结果:
(∀x)A→(∀x)(B→C)
然后再次应用公理,使:
(∀x)A→(∀x)B→(∀x)C
假设A→(B)→C) 和A→如果是真的,你将如何证明→C通用量词不能分配。这就是原因
∀x: A(x) → B(x) "every time A is true, so is B"
(∀x: A(x)) → (∀x: B(x)) "if A is always true
FizzBuzz问题是一个非常经典的面试问题,在世界各地的多次面试中都会被问到。用不同的语言有很多方法。但在大多数情况下,它肯定涉及到使用3或4个if/else if循环。如果我们进入Java8领域,有很多奇妙的方法可以做到这一点。但我的主要问题是:
这个著名问题背后的逻辑是什么
当面试官问这个问题时,他们想从应聘者身上寻找什么
我们知道如何编写基本的代码吗
他们想看看我们的编码风格吗
他们是否期望在这个问题上得到优化?很难尝试并优化代码
这里有一个数学观点:
如果循环计数=100
%15计
标签: Logic
temporalautomata-theory
对于LTL公式FG p&FG q,我想强调或拒绝它等同于F G p&Gq。我认为根据分布定律,我们可以把FGp&Gq写成FGp&q。我们可以说FGp&FG q=FGp&q吗 这只适用于您的特殊情况,因为p和q是原子命题。通常,很难决定哪些公式允许运算符分布,哪些不允许。参见Samer&Veith:《关于LTL规范的分布性》,2010年。您可以通过Buechi自动机证明您的特定主张的另一种方式,在所有三种情况下,该自动机如下所示。一般来说,LTL公式的等价性是PSpace完全的,所以在没有Buec
我想基于我做的一些溢出问题,这是4个逻辑门这是一个家庭作业问题lol看起来像减法,但没有给出数字
我们说:
在程序范式中,主要结构是“程序”
在OOP范式中,主要构造是“对象”
在功能范式中,主要结构是“功能”
但逻辑范式中有什么?公理?谓词
我很困惑。
来自Wikipeida
Horn子句也是逻辑编程的基础
以暗示的形式书写明确的从句的常见方式:
事实上,决议一个目标条款与一个明确的条款
产生一个新的目标从句是SLD解析推理的基础
规则,用于实现逻辑编程和编程语言
序言
编辑
因为OP试图将谓词(一阶谓词逻辑)与horn子句关联起来
参见:Anthony A.Aaby的《一阶谓词逻辑到ho
那么你认为这个逻辑命题的否定是什么
All cars are not red
我认为否定的是:所有的汽车都是红色的
There is a car that does not fit a description of a coupe.
There is a car that does not fit a description of a coupe.
我认为对这一说法的否定是:有一辆车确实符合双门轿车的描述
我对这些命题逻辑的理解正确吗
All cars are not red.
对这一
标签: Logic
theorem-proving
我正在通过Prover9/Mace4运行一些晶格证明。我正在使用一个非标准的格连接操作公理化,从这个公理化中,连接是交换的、结合的和幂等的并不明显。(最终,我可以让Prover9证明它是正确的。)
我知道Prover9会查找这些属性以帮助它更快地搜索。我尝试将这些属性放在附加输入部分(我运行的是GUI版本0.5),使用
问题1:这是让它看提示的方法吗
问题2:是否有一个好地方可以寻求帮助,以加快校对/提示和技巧?
(如果我能让它工作,我想给更多的操作员一些提示。)
对于ref,我的公理是(只有一
我不明白为什么在直觉逻辑中,pvq包含p->Q。我明白为什么经典是等价的,但我不明白直觉逻辑中的蕴涵
我不明白为什么在直觉逻辑中,pvq包含p->Q
这是因为(p V Q)->(p->Q)可以从
直觉主义命题逻辑的公理。没什么了
如果您仍然需要说服,请参考一个常见的公理化(
例如
或者)证明
这是你自己的定理。这是一个简单的证明
---------- (id)
f, P |- f
------ (id) ---------- (Ex Falso)
标签: Logic
formulaformal-languageswell-formed
有人能解释一下一般公式和格式正确的公式之间的区别吗?
是否有可能确定格式错误的公式的真值?只有当公式根据给定的一组语法规则格式正确时,才能评估公式的有效性或其真值(或更一般地说是其评估)
因此,公式一般来说,在数学或逻辑的上下文中,意味着格式良好的公式
严格地说,如果您的符号包括“+”|“(“|”)”|“a”-“z”,则严格意义上的公式是由这些符号构成的任何字符串。例如,a(++z是一个公式
但我们也必须了解公式的构造规则。例如,如果规则是
F,E ::= F + E | (F) | 'a'-'
p∨q
p→∼ q
p→ r
∴ r
我需要为此构建一个真值表,但不确定这是否正确。感谢您的帮助
这就是我得到的。我切换到的A->B!A v B使值更容易计算,因为A->B=!A v B
这个问题与编程有什么关系?您是否需要根据P,Q,R中动态输入的真值表,在运行时推导R的公式?此外,考虑添加标签和删除标签与你的问题无关。我们被要求手工编制逻辑编程的逻辑方程式,如果不是编写代码,那么可能是一个更好的地方问(我不确定,在张贴之前检查他们的主题列表)。
这是Verilog上的两类半加法器定义
他们之间有区别吗?我应该选择哪一个?为什么?
半加法器1
xor(s,x1,x2);
and(c,x1,x2);
半加法器2
assign s=x1^x2;
assign c=x1&x2;
第一个模型称为结构模型,使用门级原语。
第二个称为RTL模型(寄存器传输级别)。这两种型号都是完全可综合的,可能产生完全相同的硬件
尽管如此,RTL建模更接近高级编程语言,因此对人类来说更具可读性。此外,它还将门抽象为算术/逻辑运算符,使综合工具能够更灵活地
背景工作
拾取一条记录并将状态更新为已拾取
它将处理一系列步骤
完成所有操作后,状态将更改为“完成”
在执行步骤过程中遇到错误时,状态将更改为“错误”
另一个作业B执行以下操作
拾取状态为已拾取或错误状态的记录
处理步骤的顺序
作业B-处理异常和系统崩溃用例的重新处理作业
例如
作业A-当应用程序崩溃时,某些记录将保留已拾取状态
所以为了处理崩溃场景和错误场景
作业B-查找已拾取和错误状态记录
问题:
作业A只应记录新记录
作业A应该处理异常情况和错误情况。作业B不应获取新记录
如何处理这种情况
标签: Logic
first-order-logic
如果我想用一阶逻辑表示“半径最小的集合中的元素的值为0”,下面是对的吗
∀ e1∈ s∀ e2∈ S.半径e1≤ 半径e2⇒ 值e1=0
变量是否正确量化
谢谢我想你想要一份工作
\存在e_1。(\t对于所有e_2半径(e_1),如果没有具有最小半径的元素,则您所写的也是正确的。如果需要,则您是正确的;如果不需要,则需要添加一个这样的子句:
(\forall e1 \in S. \forall e2 \in S. Radius e1 <= Radius e2 --> Value e
标签: Logic
prooffitch-proofs
我在研究一些逻辑,发现了一个我无法解决的难题
我怎样才能从p=>q的前提下证明,q=>p
感谢您使用惠誉系统:
p=>q………前提
.| q…………假设
.|.| p…………假设
.|.| q………隐含消除:1,3
.|.| | q…………重复:2
.| p=>q………含义简介:5
.| | p………否定介绍:1,6
-q=>-p………含义简介:7
布局不太整齐,但每个“缩进”代表在假设的帮助下完成的子校样。使用惠誉系统:
p=>q………前提
.| q…………假设
.|.| p…………假设
.|
标签: Logic
alloylogic-programming
我用Alloy编写了以下代码块:
one h: Human | h in s.start => {
s'.currentCall = h.from
}
我想从一组人(s.start)中选择一个“人”,并将一个变量(s.currentCall)设置为等于h.from。
然而,我认为这段代码是在说:在s.start中只有一个人,在哪里
s'.currentCall = h.from
这是真的。
我的假设正确吗?我该如何解决这个问题呢?你完全正确,一个量词的意思是,给定域(集合)中只
我试图证明一个自定义的add函数在Isabelle/HOL中的可交换性。我设法证明了关联性,但我被困在这一点上了
添加的定义如下:
fun add :: "nat ⇒ nat ⇒ nat" where
"add 0 n = n" |
"add (Suc m) n = Suc(add m n)"
结合性的证明:
lemma add_Associative: "add(add k m) z = add k (add m z)"
apply(induction k)
apply(auto)
done
我正在努力准备期中考试,我需要帮助找出解决这个问题的方法。它说:
使用任意选项确定以下语句是否正确
合法的真值表技术
~A∨ (B)→ C) ,E→ (B&A)、C→ E |=C↔ A
我为每一个陈述做了一个真值表,但我不知道主连接词与其他陈述中的其他连接词之间的关系
我想我必须做一张联合桌,但我真的不知道从哪里开始。如果有人能帮我理解,我将不胜感激 A,B,C |=D意味着如果A,B,C都为真,那么D也为真。但是,这正是表达式(A&B&C)->D所说的。因此,A,B,C |
标签: Logic
first-order-logic
我有这个公式
∀x∀y(A(x,y)va(y,x)→ B(y,c1)∧ B(x,c2)∧ c1≠c2)
使用存在量词的等价公式
?当你想做出改变时,你基本上是想找到内心陈述的反面,因为如果一个陈述对每个**x都是正确的**,那么它就意味着它的反面永远不会发生;“不存在”的意思是,不存在使该陈述为真的x ∀x∀y X与相同∃(x,y)x
'X→ Y'与“X而不是Y时没有反例”相同
(A(x,y)V A(y,x)→ B(x,c1)∧ B(x,c2)∧ c1≠c2)=(A(x,y)va(y,x))∧
标签: Logic
static-analysisformal-verification
如何应用分离逻辑规则为以下程序找到post条件?
k=con(0);
if(k is even)
then i=con(1);
else i=con(2);
j=[i];
我有以下签名
Sig Name, Addr {}
Sig Book { addr: Name -> lone Addr }
我想为delete操作定义一个谓词,即删除一个名称为n的地址
pred remove [b, b':Book, n: Name] {
// What to do?
}
其中b和b'表示书籍的前后状态
谢谢
pred remove [b, b':Book, n: Name] {
b'.addr = b.addr - n -> Addr
}
我最近开始在一个项目中使用alloy进行实验,我遇到了一个不平等算术的问题。这里是一个简化的例子。我有四个签名:
话
定义
文档:文档有文本(一系列单词)
字典:字典将一个单词序列映射到一个定义序列(为了保持简单,假设一个单词应该只有一个定义)
下面是一个简单的代码示例:
module dictionaries
open util/relation as relation
sig Word {}
sig Definition {}
sig Document {
text: s
标签: Logic
agdadependent-typetype-theory
如何在Agda中制定依赖类型的逻辑,而不是通过重新使用Agda类型系统本身来“欺骗”
我可以很容易地定义一个独立类型的逻辑:
infixr 5 _⇒_
data Type : Set where
_⇒_ : Type → Type → Type
infix 4 _⊢_
data _⊢_ : List Type → Type → Set where
var : {a : Type} → [ a ] ⊢ a
λ' : {a b : Type} {γ : _} → a ∷
我一直在尝试复制一个16位加法器,但在我的测试台上似乎没有得到任何结果。有线索吗
module adder(a,b,c,s,cout);
input a,b,c;
output s,cout;
xor #1
g1(w1,a,b),
g2(s,w1,c);
and #1
g3(w2,c,b),
g4(w3,c,a),
g5(w4,a,b);
or #1
g6(cout,w2,w3,w4);
endmodule
module sixteenbitAdder(x,y,s,cout,cin);
in
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 20 页