Pyke FC Rule

前向规则包括三部分:

1. 唯一的名字;

2. foreach 子句(可选);

3. assert 子句。


foreach 子句,由多项 premise 组成。

premise 是 事实模式 或者 复合premise  或者 python premise 组成。


复合premise 有三种形式:

1. 'first' premise:在反向推理时会立刻失败,从而阻止后续的反向推理。

2. 'forall' premise:forall 和 require 子句合用,只要发现一个推理失败则整个premise就失败。如果忽略 require 子句,则 forall 返回 successful。 

3. 'notany' premise:所有推理失败时,notany 子句返回 successful。notany 在反向推理时永远 fail。 


asssert 子句是由 事实模式 或者 python 语句组成。


python 语句以 python 开始,后接 python 语句。这与python premise 不同。

python premise 有四种形式:

1. 模式 = python 表达式;

2. 模式 in python 表达式;

3. check python 表达式;

4. python 语句。

注:

1. 向模式变量赋值的唯一的方法是 = 。不要试图在python 语句中改变模式变量。

2. python表达式或语句中使用的模式变量必须被约束;

3. 推理引擎无法访问 python 变量,这些变量也不能被其它规则的python语句访问。

4. when子句中的python变量,在其后的with语句中是无法访问的。若有需要,应当将python变量存储到模式变量中作为过渡。

你可能感兴趣的:(Pyke FC Rule)