前几天我的编程语言课因为我那辆漂亮的车撞坏了我而无法参加。我正在做我们的家庭作业,我做得很好,直到我遇到了这个看起来很可怕的问题:
"5. Solve the term constraint f(X; Y; g(a)) = f(g(Y ); Z; X). Show steps."
现在,我已经阅读了幻灯片,但我无法理解他想说什么(他来自中国),而且他在解释事情方面做得很糟糕。
我想知道你们中是否有人能告诉我如何解决与这个类似的问题。解释一下,就好像我是一个五岁的孩子一样。
谢谢你的时间。
编辑:我在讲义的错误部分,我发现了这个:
- 任何术语约束都按以下方式处理
•情况1:形式c1=c2 的情况,其中c1 和c2 是常数——如果c1 与c2 相同,则丢弃丢弃它;否则 否则报无解 解
•情况2:它的形式为x=t1(x 是变量,t1 是一个项)– 将t1 分配给x,丢弃这个约束,并用t1 替换所有项约束中的所有x,如果t1 里面没有x;否则报告无解决方案
•情况 3:形式为 f(s1,…,sn) = g(t1,…,tn)(f,g: function symbols,si and ti:terms) – 如果与 g 完全相同,则将术语constraint 约束替换为约束约束
s1=t1 和 s2=t2,……,sn=tn; 否则:无解
– 重复此过程,直到不再有约束或存在无解的报告。
这对我来说还不是很清楚,我将继续阅读它直到它完成为止。我会发回我认为的解决方案,也许你们中的一个人可以告诉我我是否做对了。