Logic clingo应用一个可变范围

Logic clingo应用一个可变范围,logic,answer-set-programming,clingo,gringo,Logic,Answer Set Programming,Clingo,Gringo,我对clingo了解不多,我希望我能清楚地分享这个问题 目前我已经 cellUseCount(X,Y,C) :- C = #count{cell(X,Y)}, target(X,Y,XX,YY). 它返回每个X,Y值的结果。如何获得X-XX和Y-YY范围 例如:规则为目标(1,5,1,1)生成cellUseCount(1,5,1)。但是,对于目标(1,5,1,1),我希望有cellUseCount(1,1,1),cellUseCount(1,2,1),cellUseCount(1,3,1),c

我对clingo了解不多,我希望我能清楚地分享这个问题

目前我已经

cellUseCount(X,Y,C) :- C = #count{cell(X,Y)}, target(X,Y,XX,YY).
它返回每个X,Y值的结果。如何获得X-XX和Y-YY范围

例如:规则为
目标(1,5,1,1)
生成
cellUseCount(1,5,1)
。但是,对于
目标(1,5,1,1)
,我希望有
cellUseCount(1,1,1),cellUseCount(1,2,1),cellUseCount(1,3,1),cellUseCount(1,4,1),cellUseCount(1,5,1)
。我如何实现这一点

提前谢谢

试试看:

% instance
target(1,5,1,1).

% encoding
cellUseCount(X,1..Y,C) :- C = #count{cell(X,Y)}, target(X,Y,XX,YY).
输出:

试试:

% instance
target(1,5,1,1).

% encoding
cellUseCount(X,1..Y,C) :- C = #count{cell(X,Y)}, target(X,Y,XX,YY).
输出: