Przepisywanie terminów; Oblicz pary krytyczne


10

Próbowałem rozwiązać następujące ćwiczenie, ale utknąłem podczas próby znalezienia wszystkich krytycznych par .

Mam następujące pytania:

  1. Skąd mam wiedzieć, która para krytyczna stworzyła nową regułę?
  2. Skąd mam wiedzieć, że znalazłem wszystkie krytyczne pary?

Niech gdzie jest binarny, jest jednoargumentowy, a jest stałą. Σ={∘,ja,mi}∘jami

mi={(x∘y)∘z≈x∘(y∘z)x∘mi≈xx∘ja(x)≈mi}

Moja dotychczasowa praca:

  1. x∘mi>lpox   (LPO 1)   jest zmienną   (LPO 2b) po prawej stronie nie ma żadnych terminów strona strony     (LPO 2c)x

    x∘ja(x)>lpomi

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

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

    • sprawdź, czy ,     (LPO 1), aby udowodnić, że (LPO 2c) that j = ¯ 1 , m s > lpo t 1 s > lpo t 2 s > lpo ys>tjotjot=1,m¯

      s>lpot1

      s>lpot2)
      s>lpoy(LPO 1);s>lpoz(LPO 1);∘(x,y)>y(LPO 1)
    • znajdź taki, żes i > lpo t i i = 1 ∘ ( x , y ) > lpo xjasja>lpotja     ja=1
      ∘(x,y)>lpox(LPO 1)

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

  2. za. B. c. x 1 ∘ e(x∘y)∘z→x∘(y∘z)

    x ∘ yx1∘mi→x1

    θ { xx∘y=?x1∘mi

    ( x 1 ∘ e ) ∘ zθ{x←x1;y←mi} ( x ∘ y ) ∘ z

    (x1∘mi)∘z→x1∘z↓↓x1∘(mi∘z)→mi∘z≈zpozostawiona tożsamość?

    e ∘ x 1(x∘y)∘z→x∘(y∘z)

    x ∘ ye∘x1→x1

    θ { xx∘y=?e∘x1

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

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

    x1∘i(x1)→e

    x∘y=?x1∘i(x1)

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

Jako dokument pomocniczy mam „Przepisywanie terminów i wszystko inne” autorstwa Franza Baadera i Tobiasa Nipkowa.

( oryginalny obraz tutaj )

EDYCJA 1

Po wyszukaniu par krytycznych mam następujący zestaw reguł (przy założeniu, że 2.a jest corect):

E={(x∘y)∘z≈x∘(y∘z)x∘mi≈xx∘ja(x)≈mix∘(ja(x)∘y)≈yx∘(y∘ja(x∘y))≈mimi∘x≈xmi∘(x∘y)≈x∘y}

@MartinSleziak Miałem na myśli, że dokumentem, którego używam do rozwiązania problemu, jest Przepisywanie terminów i wszystko inne "autorstwa Franza Baadera i Tobiasa Nipkowa. I że stamtąd są pojęcia i styl notacji.
— Alexandru Cimpanu

1
Nie jestem pewien, czy to ci w jakikolwiek sposób pomoże, ale poszukiwanie „par krytycznych”, „przepisywania terminów”, „aksjomatów grupowych” prowadzi do niektórych slajdów, które mówią o krytycznych punktach twojego systemu. (Lub przynajmniej bardzo podobny system). Zobacz tutaj lub tutaj .
— Martin

@MartinSleziak, rzuciłem okiem na slajdy, w tym momencie mogą się przydać, byłem królem zmagania się z książką. Obecnie próbuję kilka pomysłów. Dziękuję za pomoc
— Alexandru Cimpanu,

Odpowiedzi:


5

Zanim odniosę się do rzeczywistych pytań, jedna uwaga na temat dotychczasowej pracy: lewe anulowanie w 2.a. ogólnie nie jest poprawny, krytyczna para to po prostu . W związku z tym nie dostajesz pary krytycznej 2.b. Problem z tym anulowaniem polega na tym, że otrzymane równanie zasadniczo nie wynika z aksjomatów, od których zacząłeś; na przykład, jeśli pracujesz w języku pierścieni, możesz w pewnym momencie wyprowadzić parę krytyczną , ale błędne byłoby wydedukowanie (co oznaczałoby, że masz tylko model trywialny). Żadna procedura przepisywania dźwięku, w tym Hueta, nie powinna pozwolić na tę redukcję.0 ∗ x ≈ 0 ∗ y x ≈ yx∘(mi∘z)≈x∘z0∗x≈0∗yx≈y

Z drugiej strony brakuje kluczowych par, które uzyskuje się przez ujednolicenie (wersje o zmienionych nazwach) lub ze wszystkimi (tj. Za pomocą second ). Wynikowe pary krytyczne tox ∘ i ( x ) ( x ∘ y ) ∘ z ∘x∘mix∘ja(x)(x∘y)∘z∘

  • x∘(y∘mi)←(x∘y)∘mi→x∘y , który po zmniejszeniu staje się trywialnym równaniem , ix∘y≈x∘y
  • x∘(y∘ja(x∘y))←(x∘y)∘ja(x∘y)→mi , którego nie można dalej zmniejszyć i daje regułę (przy założeniu, że w priorytecie służyło do definiowania LPO, tak jak to robiłeś podczas orientacji ).x∘(y∘ja(x∘y))→mi∘▹mi▹x∘ja(x)≈mi

W przypadku podstawowej procedury wypełniania:

  1. Za każdym razem, gdy tworzysz parę krytyczną, redukujesz obie strony tak daleko, jak to możliwe, korzystając z obecnego zestawu reguł. Jeśli wynikowe normalne formularze nie są równe, tworzysz nową regułę. Na przykład twój 2.c. daje nową regułę . Z drugiej strony unifikacja pomocą daje parę krytyczną , które można sprowadzić do trywialnego i odrzucone.( x ∘ y ) ∘x∘(ja(x)∘z)→mi∘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. Za każdym razem, gdy tworzysz nową regułę , musisz wziąć pod uwagę wszystkie krytyczne pary między nią a istniejącymi regułami , sprawdzając unifikowalność z każdym niezmiennym podtermem i nawzajem. Pamiętaj również, aby sprawdzić, czy nakładają się na siebie, tj. Unifikowalność z własnymi subtermami, tak jak zrobiliśmy powyżej dla asocjatywności. Zatrzymujesz się tylko wtedy, gdy wszystkie krytyczne pary istniejących reguł zostały zbadane i albo stworzyły nowe reguły lub zostały odrzucone.l→rl1→r1,…,ln→rnlljal

Procedurę tę można nieco poprawić. W szczególności możesz użyć nowych reguł, aby uprościć stare (i być może odrzucić je, jeśli staną się trywialne, co oznacza, że ​​nowa zasada je obejmuje), a dobra heurystyka wyboru następnej pary krytycznej do zbadania może drastycznie ograniczyć ilość zasad.


Czy możemy wprowadzić uproszczenia, takie jak 2.a, mówiąc o procedurze ukończenia Huet?
— Alexandru Cimpanu

Jak ujednolicić x∘e lub x∘i (x) ze wszystkimi (x∘y) ∘z (tj. Używając drugiego ∘) ?
— Alexandru Cimpanu

Jeśli chodzi o to uproszczenie, w 2.a, zostało to zrobione w klasie, więc musi mieć za sobą logikę.
— Alexandru Cimpanu

Czy traktowałeś może układy równań warunkowych, a twoje aksjomaty obejmowały lewą anulowalność ( )? To jest krok, który robisz w 2.a, a jeśli jest to uzasadnione aksjomatem, możesz. Nawet to byłby skrót - ściśle mówiąc, najpierw wyprowadzilibyśmy równanie nieredukowane, a następnie uzyskaliśmy je za pomocą równania warunkowego, a następnie pozbyliście się nieredukowanego (ponieważ jest ono uwzględnione). x∗y=x∗z⇒y=z
— Klaus Draeger,

Nie wiem Myślałem, że ma to związek z procedurą zaawansowanego ukończenia (z którą nie jestem zaznajomiony). Załóżmy, że 2.a jest poprawne, zredagowałem swoje pytanie, aby opublikować nowe reguły, które uzyskałem.
— Alexandru Cimpanu
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.