Срок переписывания; Вычислить критические пары


10

Я попытался выполнить следующее упражнение, но застрял, пытаясь найти все критические пары .

У меня есть следующие вопросы:

  1. Как мне узнать, какая критическая пара произвела новое правило?
  2. Как я узнал, что нашел все критические пары?

Пусть где бинарный, унарный, а константа. Σ={,i,e}ie

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

Моя работа до сих пор:

  1. xe>lpox   (LPO 1)   - переменная   (LPO 2b), справа нет терминов сторона стороны     (LPO 2c)x

    xi(x)>lpoe

    (xy)zx(yz)

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

    • проверьте, что ,     (LPO 1), чтобы доказать, что (LPO 2c) мы докажем что J = ¯ 1 , м ы > ПОЛ т 1 с > ПОЛ т 2 с > ПОЛ уs>tjj=1,m¯

      s>lpot1

      s>lpot2
      s>lpoy(LPO 1);s>lpoz(LPO 1);(x,y)>y(LPO 1)
    • найти таким, чтобыs i > lpo t i i = 1 ( x , y ) > lpo xisi>lpoti     i=1
      (x,y)>lpox(LPO 1)

    (xy)z>lpox(yz)

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

    х уx1ex1

    θ { xxy=?x1e

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

    (x1e)zx1zx1(ez)ezzleft identity?

    e x 1(xy)zx(yz)

    х уex1x1

    θ { xxy=?ex1

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

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

    х уx1i(x1)e

    θ { xxy=?x1i(x1)

    ( х 1яθ{xx1;yi(x1)}
    (x1i(x1))zezx1(i(x1)z)?

В качестве вспомогательного документа у меня есть «Переписывание терминов и все такое» Франца Баадера и Тобиаса Нипкова.

( оригинальное изображение здесь )

EDIT1

После поиска критических пар у меня есть следующий набор правил (при условии, что 2.a является corect):

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

@MartinSleziak Я имел в виду, что документ, который я использую для решения этой проблемы, - это «Переписывание терминов и все такое», подготовленный Францем Баадером и Тобиасом Нипкоу. И что отсюда возникли понятия и стиль обозначений.
Александру Шимпану

1
Я не уверен, поможет ли это вам каким-либо образом, но поиск «критических пар», «переписывание терминов», «групповые аксиомы» приводит к некоторым слайдам, в которых говорится о критических точках вашей системы. (Или хотя бы очень похожая система). Смотрите здесь или здесь .
Мартин

@MartinSleziak, я посмотрел слайды, они могут быть полезны на данный момент, я был королем борьбы с книгой. В настоящее время я пробую некоторые идеи. Спасибо за помощь.
Александру Шимпану

Ответы:


5

Прежде чем обратиться к актуальным вопросам, сделайте одно замечание о вашей работе: отмена слева в 2.a. в общем случае неверно, критической парой будет просто . Следовательно, вы не получите критическую пару 2.b. Проблема с этой отменой состоит в том, что полученное вами уравнение в общем случае не следует из аксиом, с которых вы начали; например, если вы работаете на языке колец, в какой-то момент вы можете получить критическую пару , но было бы неправильно вывести (что означало бы, что у вас есть только тривиальная модель). Никакая процедура перезаписи звука, включая процедуру Хьюта, не должна допускать такого сокращения.x(ez)xz0x0yxy

С другой стороны, вам не хватает критических пар, которые вы получаете, объединяя (переменные с переименованными версиями) или со всеми (т.е. используя второй ). Результирующие критические парыxexi(x)(xy)z

  • x(ye)(xy)exy , которое после редукции становится тривиальным уравнением , иxyxy
  • x(yi(xy))(xy)i(xy)e , который не может быть уменьшен далее и дает правило (при условии, что в старшине используется для определения LPO, так же, как вы это делали, ориентируя ).x(yi(xy))eexi(x)e

Для основной процедуры завершения:

  1. Всякий раз, когда вы создаете критическую пару, вы максимально сокращаете обе стороны, используя текущий набор правил. Если полученные нормальные формы не равны, вы создаете новое правило. Например, ваш 2.c. дает новое правило . С другой стороны, объединение с дает критическую пару , который можно уменьшить до тривиального и отбрасывается.( x y ) z x 1y 1 ( x y ) ( z z 1x(i(x)z)ez(xy)zx1y1 x ( y ( z z z 1 ) )(xy)(zz1)((xy)z)z1(x(yz))z1x(y(zz1))x(y(zz1))
  2. Всякий раз, когда вы создаете новое правило , вы должны учитывать все критические пары между ним и существующими правилами , проверяя унифицируемость с каждым не переменным и наоборот. Также не забудьте проверить, не перекрываются ли они сами, то есть неуязвимость со своими собственными подтермами, как мы делали выше для ассоциативности. Вы останавливаетесь только тогда, когда все критические пары существующих правил были изучены и либо создали новые правила, либо были отброшены.l 1r 1 , , l nr n l l i llrl1r1,,lnrnllil

Эту процедуру можно немного улучшить. В частности, вы можете использовать новые правила, чтобы упростить старые (и, возможно, отбросить их, если они станут тривиальными, что означает, что они включены в новое правило), а хорошая эвристика для выбора следующей критической пары для анализа может резко сократить количество правил.


Можем ли мы сделать упрощения, такие как 2.a, когда говорим о процедуре завершения Huet?
Александру Шимпану

Как вы объединяете x∘e или x∘i (x) со всеми (x∘y) ∘z (то есть, используя вторую ∘) ?
Александру Шимпану

Что касается этого упрощения, в 2.a, оно было сделано в классе, поэтому оно должно иметь некоторую логику.
Александру Шимпану

Возможно, вы рассматривали системы условных уравнений, и ваши аксиомы включали в себя отмену слева ( )? Это шаг, который вы делаете в 2.a, и если это оправдано аксиомой, то вы можете. Даже это было бы сокращением, хотя - строго говоря, вы сначала вывели бы нередуцированное уравнение, затем получили бы приведенное уравнение с помощью условного уравнения, а затем избавились от нередуцированного уравнения (потому что оно включено). xy=xzy=z
Клаус Дрегер

Я не знаю. Я думал, что это связано с продвинутой процедурой завершения (с которой я не знаком). Давайте предположим, что 2.a правильно, я отредактировал свой вопрос, чтобы опубликовать новые правила, которые я получил.
Александру Шимпану
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.