如何验证两个列表是否以任何给定顺序表示其变量之间的相同关系,然后统一相应的变量?
例如列表:
[#=(_G13544,_G13547+1),#=(_G13553,_G13554),#=(_G13559,2),#>(_G13559, _G13544)]
相当于:
[#>(_G13453,_G13430),#=(_G13409,_G13355),#=(_G13453,2),#=(_G13430,1+_G13370)]
因为两者都可以写成:
[A#>B,C#=D,A#=2,B#=E+1]
并且变量将以下列方式绑定:
_G13453 = _G13559 # Equivalent to A
_G13430 = _G13544 # Equivalent to B
_G13409 = _G13553 # Equivalent to C
_G13355 = _G13554 # Equivalent to D
_G13370 = _G13547 # Equivalent to E
函子是以下 CLPFD 运算符:
- 对称:
#=/2
,+/2
,-/2
, 和#\//2
; - 不对称:
#>/2
, 和#</2
; - 一元:
abs/1