용어 재 작성; 임계 값 계산


10

나는 다음 운동을 해결하려고 노력했지만 모든 중요한 쌍 을 찾으려고 노력하면서 막혔습니다 .

다음과 같은 질문이 있습니다.

  1. 어떤 중요한 쌍이 새로운 규칙을 생성했는지 어떻게 알 수 있습니까?
  2. 중요한 쌍을 모두 찾은 것을 어떻게 알 수 있습니까?

보자. 여기서 는 이진, 는 단항, 는 상수이다. Σ={,i,e}ie

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

지금까지의 작업 :

  1. x x i ( x ) > lpo e ( x y ) z x ( y z ) s = ( ( x , y ) s 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 , 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)
    • 발견 되도록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)

    x yx1ex1

    θ { xxy=?x1e

    θ{xx1;ye} ( x y ) z

    (x1e)zx1zx1(ez)ezzleft identity?

    e x 1(xy)zx(yz)

    x yex1x1

    θ { xxy=?ex1

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

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

    x yx1i(x1)e

    θ { xxy=?x1i(x1)

    ( X 1I ( X 1 ) ) Zθ{xx1;yi(x1)}
    (x1i(x1))zezx1(i(x1)z)?

지원 문서로는 Franz Baader와 Tobias Nipkow의 "Term Rewriting and All That" 이 있습니다.

( 원본 이미지는 여기 )

편집 1

임계 쌍을 검색 한 후 다음 규칙 세트가 있습니다 (2.a가 핵심이라고 가정).

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

.. @MartinSleziak 나는이 문제를 해결하기 위해 사용하고있는 문서는 개념과 표기법 스타일에서이 프란츠 바더와 토비아스 니프 코우에 의해 그리고 "그 기간 재 작성하고 모든 것을 의미
Alexandru Cimpanu

1
이것이 어떤 식 으로든 도움이 될지 확실하지 않지만 "중요한 쌍" "용어 재 작성" "그룹 공리"를 검색 하면 시스템의 중요한 포인트에 대해 이야기하는 슬라이드가 생깁니다. (또는 최소한 매우 유사한 시스템). 여기 또는 여기를 참조 하십시오 .
마틴

@MartinSleziak, 나는 슬라이드를 살펴 보았습니다.이 시점에서 유용 할 수도 있습니다. 저는 책으로 고군분투했습니다. 나는 현재 몇 가지 아이디어를 시도하고 있습니다. 도와 주셔서 감사합니다.
Alexandru Cimpanu

답변:


5

실제 문제를 해결하기 전에 지금까지의 작업에 대해 한 가지 언급하십시오. 2.a의 왼쪽 취소. 일반적으로 올바르지 않은 경우, 중요한 쌍은 입니다. 결과적으로 임계 쌍 2.b를 얻지 못합니다. 이 취소의 문제점은 일반적으로 얻은 방정식이 일반적으로 시작한 공리를 따르지 않는다는 것입니다. 예를 들어, 링 언어로 작업하는 경우 어느 시점에서 임계 쌍 도출 할 수 있지만 를 추론하는 것은 올바르지 않습니다 (즉, 사소한 모델). Huet을 포함한 사운드 재 작성 절차는 이러한 감소를 허용하지 않아야합니다.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(i(x)z)ez(xy)zx1y1 x ( y ( z z 1 ) ) x ( y ( z z 1 ) )(xy)(zz1)((xy)z)z1(x(yz))z1x(y(zz1))x(y(zz1))
  2. 새 규칙 만들 때마다 , 당신이 사이의 모든 중요한 쌍과 기존의 규칙을 고려해야합니다 의 unifiability 검사 의 아닌 각 변수 subterm와 및 그 반대의 경우도 마찬가지입니다. 또한 위에서 설명한 연관성에 대해 자체 오버랩, 즉 자체 하위 용어 로 통합 가능성을 확인해야합니다 . 기존 규칙의 모든 중요 쌍을 검사하여 새 규칙을 생성하거나 폐기 한 경우에만 중지합니다.l 1r 1 , , l nr n l l i llrl1r1,,lnrnllil

이 절차는 상당히 개선 될 수 있습니다. 특히 새로운 규칙을 사용하여 기존 규칙을 단순화하고 (사소한 규칙 인 경우 새 규칙에 포함되는 경우 버릴 수 있음) 폐기 할 수 있으며 검사 할 다음 중요한 쌍을 선택하는 데 좋은 휴리스틱이 적용됩니다. 규칙의 양.


Huet의 완료 절차에 대해 이야기 할 때 2.a와 같이 단순화 할 수 있습니까?
Alexandru Cimpanu

모든 (x∘y) ∘z (즉, 두 번째 ∘ 사용)로 x∘e 또는 x∘i (x)를 어떻게 통합 합니까?
Alexandru Cimpanu

단순화에 관해서는 2.a에서 클래스에서 수행되었으므로 그 뒤에 논리가 있어야합니다.
Alexandru Cimpanu

조건부 방정식 시스템을 처리하고 있었으며 공리에 왼쪽 cancellability ( )가 포함되어 있습니까? 그것이 2.a에서 수행하는 단계이며, 공리로 정당화되면 할 수 있습니다. 그럼에도 불구하고 그것은 지름길입니다. 엄밀히 말하면 먼저 축소되지 않은 방정식을 도출 한 다음 조건식을 통해 축소 된 방정식을 얻은 다음 축소되지 않은 방정식을 제거합니다 (소비되기 때문에). xy=xzy=z
클라우스 드레 거

모르겠어요 나는 그것이 고급 완성 절차와 관련이 있다고 생각했습니다 (나는 익숙하지 않습니다). 2.a가 정확하다고 가정하고, 내가 얻은 새로운 규칙을 게시하기 위해 질문을 편집했습니다.
Alexandru Cimpanu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.