WAM 中的扁平化形式

Flattened form in WAM

WAM:教程重构指出查询 p(Z, h(Z,W), f(W)) 需要使用以下原则展平:

也就是说,查询扁平化形式是:

X3=h(X2, X5), X4=f(X5), X1=p(X2, X3, X4);

我迷失了外部变量的定义,请考虑以下内容:

p(Z, h(Y, a(K, C), b(W)), f(W)).

Y是外部变量吗?这个的扁平化形式应该如何?根据我的理解,这将是这样的结构:

X1 = p(X2, X3, X4)
X2 = Z
X3 = h(X5, X6, X7)
X4 = f(X8)
X5 = Y
X6 = a(X7, X8)
X7 = K
X8 = C
X9 = b(X5)

但我不确定,从 X4 开始我感到困惑,我应该先分配 h 内部值吗?

你的顺序错了:你在建立论点之前就建立了术语。文本说在构建外部项之前先构建参数。例如,您必须先构建 a(K, C),然后才能构建 h(..., a(K, C), ...),并且必须先构建 a(K, C),然后才能构建 p(..., h(..., a(K, C), ...), ...)。这是一项法律命令:

X7 = K
X8 = C
X6 = a(X7, X8)
X5 = Y
X9 = b(X5)
X2 = Z
X3 = h(X5, X6, X7)
X4 = f(X8)
X1 = p(X2, X3, X4)