Dönem yeniden yazma; Kritik çiftleri hesapla


10

Aşağıdaki egzersizi çözmeye çalıştım ama tüm kritik çiftleri bulmaya çalışırken takıldım .

Aşağıdaki sorularım var:

  1. Hangi kritik çiftin yeni bir kural ürettiğini nasıl bilebilirim?
  2. Tüm kritik çiftleri bulduğumu nasıl bilebilirim?

Let burada ikili, tekli ve bir sabittir. Σ={,ben,e}bene

E={(xy)zx(yz)xexxben(x)e}

Şu ana kadar yaptığım iş:

  1. x xxe>LPOx   (LPO 1)   bir değişkendir   (LPO 2b) sağda terim yoktur el tarafı     (LPO 2c)x

    ( x y ) z x ( y z ) s = ( ( x , y ) s 1 ,xben(x)>LPOe

    (xy)zx(yz)

    s=((x,y)s1,zs2)t=(xt1,(y,z)t2)

    • kontrol ,     (LPO 1) kanıtlamak için biz (LPO 2c) ispat bu j = ¯ 1 , m s > lpo t 1 s > lpo t 2 s > lpo ys>tjj=1,m¯

      s>lpot1

      s>lpot2
      s>lpoy(LPO 1);s>lpoz(LPO 1);(x,y)>y(LPO 1)
    • bulmak bu şekildes i > lpo t i i = 1 ( x , y ) > lpo xisi>lpoti     i=1
      (x,y)>lpox(LPO 1)

    (xy)z>lpox(yz)

  2. a. B. c. x 1e(xy)zx(yz)

    x yx1ex1

    θ { xxy=?x1e

    ( x 1e ) zθ{xx1;ye} ( x y ) z

    (x1e)zx1zx1(ez)ezzsol kimlik?

    e x 1(xy)zx(yz)

    x yex1x1

    θ { xxy=?ex1

    ( e x 1 ) zθ{xe;yx1} (xy)z
    (ex1)zx1ze(x1z)?

    x 1i ( x 1 )(xy)zx(yz)

    x yx1i(x1)e

    θ { xxy=?x1ben(x1)

    ( x 1i (θ{xx1;yben(x1)}
    (x1i(x1))zezx1(i(x1)z)?

Bir destek belgesi olarak Franz Baader ve Tobias Nipkow tarafından yazılan "Dönem Yeniden Yazımı ve Her Şeyi" var.

( orijinal resim burada )

Edit1

Kritik çiftleri aradıktan sonra, aşağıdaki kurallara sahibim (2.a'nın doğru olduğunu varsayarak):

E={(xy)zx(yz)xexxi(x)ex(i(x)y)yx(yben(xy))eexxe(xy)xy}

.. @MartinSleziak Ben sorunu çözmek için kullanıyorum o belge kavramlar ve gösterim tarzı dan yoktur Franz Baader ve Tobias Nipkow Ve bu "O Vadeli Yeniden Yazma ve tek şey anlamına geliyordu
Alexandru Cimpanu

1
Bunun size herhangi bir şekilde yardımcı olup olmayacağından emin değilim, ancak "kritik çiftler" "terim yeniden yazma" "grup aksiyomları" , sisteminizin kritik noktaları hakkında konuşan bazı slaytlara yol açar. (Veya en azından çok benzer bir sistem). Buraya veya buraya bakın .
Martin

@MartinSleziak, slaytlara bir göz attım, bu noktada yararlı olabilirler, kitapla mücadele etme kralıydım. Şu anda bazı fikirler deniyorum. Yardımın için teşekkürler.
Alexandru Cimpanu

Yanıtlar:


5

Asıl soruları yanıtlamadan önce, şu ana kadar yaptığınız iş hakkında bir açıklama: 2.a'daki sol iptal. genel olarak doğru değilse, kritik çift sadece . Sonuç olarak, kritik çifti 2.b almazsınız. Bu iptal ile ilgili sorun, aldığınız denklemin genel olarak başladığınız aksiyomlardan takip etmemesidir; örneğin, halkalar dilinde çalışıyorsanız, bir noktada kritik çifti türetebilirsiniz , ancak y'yi çıkarmak yanlış olur (bu yalnızca önemsiz bir model). Huet dahil hiçbir ses yeniden yazma prosedürü bu azalmaya izin vermemelidir.x(ez)xz0*x0*yxy

Öte yandan, sen (değişken-adını versiyonları) birleştirerek Alacağınız kritik çiftleri eksik veya tümü ile (yani kullanarak ikinci ). Ortaya çıkan kritik çiftlerxexben(x)(xy)z

  • x(ye)(xy)exy ; azaltma işleminden sonra önemsiz denklem vexyxy
  • x(yben(xy))(xy)ben(xy)e , bu daha da azaltılamaz ve kuralını verir) ( tıpkı yaptığınız gibi LPO'yu tanımlamak için kullanılan önceliğinde varsayalım ).x(yben(xy))eexben(x)e

Temel tamamlama prosedürü için:

  1. Kritik bir çift oluşturduğunuzda, geçerli kurallar dizisini kullanarak her iki tarafı da mümkün olduğunca azaltırsınız. Sonuçta elde edilen normal formlar eşit değilse, yeni bir kural oluşturursunuz. Örneğin, 2.c. yeni bir kural verir . Öte yandan, ile arasındaki birleştirmenin kritik çifti , önemsiz ve atıldı.x(ben(x)z)ez(xy)zx1y1(xy)(zz1)((xy)z)z1(x(yz))z1x(y(zz1))x(y(zz1))
  2. Eğer yeni bir kural oluşturduğunuzda , bunu arasındaki tüm kritik çiftleri ve mevcut kuralları göz önüne almalıyız ait unifiability denetleme olmayan her değişken subterm ile ve tersine. Ayrıca, üst üste binme için yaptığımız gibi , kendiliğinden çakışmaları, yani nin kendi alt terimleriyle birleştirilemezliğini kontrol etmeyi unutmayın . Yalnızca mevcut kuralların tüm kritik çiftleri incelendiğinde ve yeni kurallar üretildiğinde veya atıldığında durursunuz.lrl1r1,...,lnrnllbenl

Bu prosedür biraz geliştirilebilir. Özellikle, eski kuralları basitleştirmek için yeni kurallar kullanabilirsiniz (ve önemsiz hale gelirlerse onları atmak, yani yeni kural tarafından kabul edilirler) ve incelemek üzere bir sonraki kritik çifti seçmek için iyi bir sezgisel tarama, kural miktarı.


Huet'in tamamlanma prosedüründen bahsederken 2.a gibi basitleştirmeler yapabilir miyiz?
Alexandru Cimpanu

X∘e veya x∘i (x) 'i tüm (x∘y) ∘z (yani ikinci using kullanarak) ile nasıl birleştirirsiniz ?
Alexandru Cimpanu

Bu sadeleştirme ile ilgili olarak, 2.a'da, sınıfta yapıldı, bu yüzden arkasında bir mantık olmalı.
Alexandru Cimpanu

Belki de koşullu denklem sistemlerini tedavi ediyor ve aksiyomlarınız sol iptal edilebilirlik içeriyordu ( )? Bu, 2.a'da yaptığınız adımdır ve bir aksiyom tarafından haklı çıkarsa, yapabilirsiniz. Bu bir kısayol olsa bile - kesinlikle konuşursak, ilk önce indirgenmemiş denklemi türetebilir, daha sonra indirgenmiş denklemi koşullu denklem aracılığıyla elde edersiniz ve sonra indirgenmemiş olandan kurtulursunuz (çünkü toplamı). x*y=x*zy=z
Klaus Draeger

Bilmiyorum. Gelişmiş tamamlama prosedürüyle (aşina olmadığım) ilgili olduğunu düşündüm. Diyelim ki 2.a doğru, edindiğim yeni kuralları yayınlamak için sorumu düzenledim.
Alexandru Cimpanu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.