Questions tagged «term-rewriting»

2
融合证明,可实现简单的重写系统
假设我们有一种简单的语言,其中包含以下术语: truetrue\mathtt{true} falsefalse\mathtt{false} 如果t1,t2,t3t1,t2,t3t_1,t_2,t_3是项,则ift1thent2elset3ift1thent2elset3\mathtt{if}\: t_1 \:\mathtt{then}\: t_2 \:\mathtt{else}\: t_3 现在假设以下逻辑评估规则: iftruethent2elset3→t2[E-IfTrue]iffalsethent2elset3→t3[E-IfFalse]t1→t′1ift1thent2elset3→ift′1thent2elset3[E-If]iftruethent2elset3→t2[E-IfTrue]iffalsethent2elset3→t3[E-IfFalse]t1→t1′ift1thent2elset3→ift1′thent2elset3[E-If] \begin{gather*} \dfrac{} {\mathtt{if}\: \mathtt{true} \:\mathtt{then}\: t_2 \:\mathtt{else}\: t_3 \to t_2} \text{[E-IfTrue]} \quad \dfrac{} {\mathtt{if}\: \mathtt{false} \:\mathtt{then}\: t_2 \:\mathtt{else}\: t_3 \to t_3} \text{[E-IfFalse]} \\ \dfrac{t_1 \to t_1'} {\mathtt{if}\: t_1 \:\mathtt{then}\: t_2 \:\mathtt{else}\: t_3 \to \mathtt{if}\: t_1' \:\mathtt{then}\: t_2 \:\mathtt{else}\: t_3} …

3
为什么要进行期限改写?
我做了一些谷歌搜索,并提出了一个简短的建议。 我想知道计算科学家,程序员研究术语重写和/或术语图重写的主要原因是什么。 据我所知,它仅对有关功能程序和(命令性)程序控制的基本推理有所帮助。显然,对于逻辑学家和那些研究构造抽象代数的人来说,这是一个非常有趣的话题。 非常感激任何的帮助!

1
是否可以在此重写系统中派生字符串?
重写系统是在的形式的一组规则 。如果我们将该规则应用于字符串我们更换任何子一在W¯¯与子乙,反之亦然。A↔BA↔BA \leftrightarrow BwwwAAAwwwBBB 给定起始字符串AAABBAAABBAAABB,我们可以使用以下规则在系统中派生BAABBAABBAAB: A↔BAA↔BAA \leftrightarrow BA BABA↔AABBBABA↔AABBBABA \leftrightarrow AABB AAA↔ABAAA↔ABAAA \leftrightarrow AB BA↔ABBA↔ABBA \leftrightarrow AB 是否有通用的算法?

2
Beta扩展的汇合
令→β→β\to_\beta是λ微积分中的ββ\beta约简。定义β -expansion ← β由牛逼“ ← β ŧλλ\lambdaββ\beta←β←β\leftarrow_\betat′←βt⟺t→βt′t′←βt⟺t→βt′t'\leftarrow_\beta t \iff t\to_\beta t'。 是←β←β\leftarrow_\beta融合?换句话说,我们有任何l,d,rl,d,rl,d,r,如果l→∗βd←∗βrl→β∗d←β∗rl \to_\beta^* d\leftarrow_\beta^* r,则存在uuu这样l←∗βu→∗βrl←β∗u→β∗rl\leftarrow_\beta^* u \to_\beta^* r? 关键字:向上汇合,倒置CR属性 我开始看弱属性:本地汇合(即,如果l→βd←βrl→βd←βrl \to_\beta d\leftarrow_\beta r,然后l←∗βu→∗βrl←β∗u→β∗rl\leftarrow_\beta^* u \to_\beta^* r)。即使这是正确的,但由于ββ\beta扩展是非终止的,所以这并不意味着融合,但是我认为这将有助于我理解障碍。 (顶部)的情况下都减少是在顶层,设定成为(λx1.b1)a1→b1[a1/x1]=b2[a2/x2]←(λx2.b2)a2(λx1.b1)a1→b1[a1/x1]=b2[a2/x2]←(λx2.b2)a2(\lambda x_1.b_1)a_1\rightarrow b_1[a_1/x_1]=b_2[a_2/x_2]\leftarrow (\lambda x_2.b_2)a_2。直到进行αα\alpha命名,我们可以假设x1≠x2x1≠x2x_1\not =x_2,那么x1x1x_1和x2x2x_2都不是免费的。 (掷)如果x1x1x_1不处于自由b1b1b_1,我们有b1=b2[a2/x2]b1=b2[a2/x2]b_1=b_2[a_2/x_2],因此具有(λx1.b1)a1=(λx1.b2[a2/x2])a1←(λx1.(λx2.b2)a2)a1→(λx2.b2)a2(λx1.b1)a1=(λx1.b2[a2/x2])a1←(λx1.(λx2.b2)a2)a1→(λx2.b2)a2(\lambda x_1.b_1)a_1=(\lambda x_1.b_2[a_2/x_2])a_1\leftarrow(\lambda x_1.(\lambda x_2.b_2)a_2)a_1\rightarrow (\lambda x_2.b_2)a_2。 对于情况(顶部)的归纳(在b1b1b_1和b2b2b_2)的幼稚证明将如下所示: 如果b1b1b_1是变量y1y1y_1, 如果y1=x1y1=x1y_1=x_1,设定成为(λx1.x1)a1→a1=b2[a2/x2]←(λx2.b2)a2(λx1.x1)a1→a1=b2[a2/x2]←(λx2.b2)a2(\lambda x_1.x_1)a_1\rightarrow a_1=b_2[a_2/x_2]\leftarrow (\lambda x_2.b_2)a_2,我们确实有(λx1.x1)a1=(λx1.x1)(b2[a2/x2])←(λx1.x1)((λx2.b2)a2)→(λx2.b2)a2(λx1.x1)a1=(λx1.x1)(b2[a2/x2])←(λx1.x1)((λx2.b2)a2)→(λx2.b2)a2(\lambda x_1.x_1)a_1=(\lambda x_1.x_1)(b_2[a_2/x_2])\leftarrow (\lambda x_1.x_1)((\lambda …
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.