3

我正在玩 DCG,我有这个代码。这将显示s 的x数量和s 的数量。0xA

y --> test(Count), as(Count).

test(0) --> [].
test(succ(0)) --> [0].
test(succ(succ(Count))) --> [0], test(Count), [0].

as(0)  -->  []. 
as(succ(Count))  -->  [a],as(Count). 

我的问题是如何通过函子使As 的数量成为 s 的数量的两倍0。这是我尝试过的,但它不起作用。

y --> test(Count), as(add(Count,Count,R)).

如果我只想添加一个,这就是它所做的并且工作正常。

y --> test(Count), as(succ(Count)).
4

2 回答 2

2
y --> test(Count), as(Count), as(Count).

或者

y --> test(Count), {add(Count,Count,DCount)}, as(DCount).
于 2016-12-03T21:23:53.313 回答
0

或者你可以加倍succfortest

y --> test(Count), as(Count).

test(0) --> [].
test(succ(succ(Count))) --> [0], test(Count).

as(0)  -->  []. 
as(succ(Count))  -->  [a], as(Count). 
于 2016-12-03T21:25:12.017 回答