术语重写;计算关键对


10

我曾尝试解决以下练习,但在尝试找到所有关键对时陷入困境。

我有以下问题:

  1. 我怎么知道哪个关键对产生了新规则?
  2. 我怎么知道我找到了所有关键对?

令Σ={∘,i,e}其中∘是二进制,i是一元,e是常数。

E={(x∘y)∘z≈x∘(y∘z)x∘e≈xx∘i(x)≈e}

到目前为止我的工作:

  1. x∘e>lpox   (LPO 1)   x是一个变量

    x∘i(x)>lpoe   (LPO 2B)有在右手侧没有条件

    (x∘y)∘z≈x∘(y∘z)

        (LPO 2c)s=∘(∘(x,y)s1,zs2)t=∘(xt1,∘(y,z)t2)

    • 检查,Ĵ = ¯ 1 ,米小号> LPO吨1     (LPO 1) 来证明小号> LPO吨2(LPO 2C)证明了 小号> LPO ÿs>tjj=1,m¯

      s>lpot1

      s>lpot2
      s>lpoy(LPO 1);s>lpoz(LPO 1);∘(x,y)>y(LPO 1)
    • 找到使得š 我> LPO吨我我= 1 ∘ (X ,ÿ )> LPO Xisi>lpoti     i=1
      ∘(x,y)>lpox(LPO 1)

    (x∘y)∘z>lpox∘(y∘z)

  2. 一个。 X 1个 ∘ Ë(x∘y)∘z→x∘(y∘z)

    X ∘ ÿx1∘e→x1

    θ {x∘y=?x1∘e

    (X 1 ∘ ë )∘ Žθ{x←x1;y←e} b。(X ∘ Ý )∘ Ž

    (x1∘e)∘z→x1∘z↓↓x1∘(e∘z)→e∘z≈zleft identity?

    ë ∘ X 1(x∘y)∘z→x∘(y∘z)

    X ∘ ÿe∘x1→x1

    θ { Xx∘y=?e∘x1

    (Ë ∘ X 1)∘ Žθ{x←e;y←x1} C。(X∘Ý)∘Ž
    (e∘x1)∘z→x1∘z↓↓e∘(x1∘z)→?

    X 1 ∘ 我(X 1)(x∘y)∘z→x∘(y∘z)

    X ∘ ÿx1∘i(x1)→e

    θ { Xx∘y=?x1∘i(x1)

    (X 1 ∘ 我(X 1))∘ Žθ{x←x1;y←i(x1)}
    (x1∘i(x1))∘z→e∘z↓↓x1∘(i(x1)∘z)→?

作为支持文档,我有Franz Baader和Tobias Nipkow撰写的“术语重写及所有内容”。

(原始图片在这里)

编辑1

搜索关键对后,我有以下规则集(假设2.a是corect):

E={(x∘y)∘z≈x∘(y∘z)x∘e≈xx∘i(x)≈ex∘(i(x)∘y)≈yx∘(y∘i(x∘y))≈ee∘x≈xe∘(x∘y)≈x∘y}

@MartinSleziak我的意思是,我使用,以解决问题的文件是项重写和所有”由弗兰茨·巴德和Tobias尼普科夫而且该概念和符号的风格是从那里。
— 亚历Cimpanu

1
我不确定这是否对您有任何帮助,但是搜索“关键对”,“术语重写”,“组公理”会导致出现一些幻灯片,这些幻灯片讨论了系统的关键点。(或至少非常相似的系统)。看到这里或这里。
— 马丁

@MartinSleziak,我看了看幻灯片,这时它们可能有用,我是挣扎着这本书的国王。我目前正在尝试一些想法。感谢您的帮助。
— Alexandru Cimpanu 2015年

Answers:


5

x∘(e∘z)≈x∘z0∗x≈0∗yx≈y(这意味着您只有一个简单的模型)。包括Huet在内的任何声音重写程序都不应允许这种降低。

x∘ex∘i(x)(x∘y)∘z∘

  • x∘(y∘e)←(x∘y)∘e→x∘yx∘y≈x∘y
  • x∘(y∘i(x∘y))←(x∘y)∘i(x∘y)→ex∘(y∘i(x∘y))→e∘▹e▹x∘i(x)≈e

对于基本完成过程:

  1. x∘(i(x)∘z)→e∘z(x∘y)∘zx1∘y1(x∘y)∘(z∘z1)←((x∘y)∘z)∘z1→(x∘(y∘z))∘z1x∘(y∘(z∘z1))≈x∘(y∘(z∘z1))并弃去。
  2. l→rl1→r1,…,ln→rnllil

此过程可以大大改善。特别是,您可以使用新规则来简化旧规则(如果它们变得琐碎,则有可能丢弃它们,这意味着它们已被新规则所包含),并且很好的启发式方法可以挑选出下一个关键对进行检查,从而大大减少规则数量。


在谈论Huet的完成程序时,我们可以像2.a这样简化吗?
— 亚历山德鲁·辛潘努

您如何将x∘e或x∘i(x)与所有(x∘y)∘z统一(即使用第二个∘)?
— Alexandru Cimpanu 2015年

关于在2.a进行的简化,它是在课堂上完成的,因此它背后必须有一些逻辑。
— 亚历山德鲁·辛潘努

您是否正在处理条件方程组,并且您的公理包括左可取消性(X∗ÿ=X∗ž⇒ÿ=ž)?这是您在2.a中执行的步骤,如果由公理证明是正确的,则可以。但是,即使那样也只是捷径-严格来说,您首先要导出未简化的方程式,然后通过条件方程式获得简化的方程式,然后摆脱未简化的方程式(因为已将其包含在内)。
— 克劳斯·德拉格2015年

我不知道。我认为这与高级完成程序(我不熟悉)有关。假设2.a是正确的,我编辑了问题以发布获得的新规则。
— 亚历山德鲁·辛潘努
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.