我是prolog的新手,我必须制作一个否定命题表达的程序。
例如:p暗示(q而不是(r))应该是p和(not(q)或r)。
如果有人能帮助我,那就太棒了。
答案 0 :(得分:0)
用铅笔和纸写下否定的归纳定义。 (提示:基础案例将是命题常量,归纳案例将是连接词)
将命题表达式的语法确定为序言。
对于命题表达式的prolog术语的每个语法cateogry,将1中的规则转录为prolog caluse,为谓词选择合适的名称,例如negate
。谓词将是二进制的,其中每个段是另一个的否定。谓词将由几个(我认为一两个)基本案例和几个归纳案例组成。
negate( ... , ... ). % base case
negate( ... , ... ) :- ... . % inductive case
negate( ... , ... ) :- ... . % inductive case
...