용어 재 작성; 임계 값 계산


10

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

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

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

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

E={(x∘y)∘z≈x∘(y∘z)x∘e≈xx∘i(x)≈e}

지금까지의 작업 :

  1. x x ∘ i ( x ) > lpo e ( x ∘ y ) ∘ z ≈ x ∘ ( y ∘ z ) s = ∘ ( ∘ ( x , y ) s 1 ,x∘e>lpox   (LPO 1)   는 변수   (LPO 2b) 오른쪽에 용어가 없습니다 손     (LPO 2c)x

    x∘i(x)>lpoe

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

    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)

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

  2. ㅏ. b. c. x 1 ∘ e(x∘y)∘z→x∘(y∘z)

    x ∘ yx1∘e→x1

    θ { xx∘y=?x1∘e

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

    (x1∘e)∘z→x1∘z↓↓x1∘(e∘z)→e∘z≈zleft identity?

    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 ∘ i ( x 1 )(x∘y)∘z→x∘(y∘z)

    x ∘ yx1∘i(x1)→e

    θ { xx∘y=?x1∘i(x1)

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

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

( 원본 이미지는 여기 )

편집 1

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

E={(x∘y)∘z≈x∘(y∘z)x∘e≈xx∘i(x)≈ex∘(i(x)∘y)≈yx∘(y∘i(x∘y))≈ee∘x≈xe∘(x∘y)≈x∘y}

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

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

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

답변:


5

실제 문제를 해결하기 전에 지금까지의 작업에 대해 한 가지 언급하십시오. 2.a의 왼쪽 취소. 일반적으로 올바르지 않은 경우, 중요한 쌍은 입니다. 결과적으로 임계 쌍 2.b를 얻지 못합니다. 이 취소의 문제점은 일반적으로 얻은 방정식이 일반적으로 시작한 공리를 따르지 않는다는 것입니다. 예를 들어, 링 언어로 작업하는 경우 어느 시점에서 임계 쌍 도출 할 수 있지만 를 추론하는 것은 올바르지 않습니다 (즉, 사소한 모델). Huet을 포함한 사운드 재 작성 절차는 이러한 감소를 허용하지 않아야합니다.x∘(e∘z)≈x∘z0∗x≈0∗yx≈y

반면에, (변수 이름이 바뀐 버전의) 또는 를 모든 (예 : 두 번째 ). 결과 임계 쌍은x∘ex∘i(x)(x∘y)∘z∘

  • x∘(y∘e)←(x∘y)∘e→x∘y . 축소 후 사소한 방정식 가되고x∘y≈x∘y
  • x∘(y∘i(x∘y))←(x∘y)∘i(x∘y)→e . 더 줄일 수 없으며 (즉, 가정 의를 우선 순위 의 방향을 때 그랬던 것처럼 LPO를 정의하는 데 사용 ).x∘(y∘i(x∘y))→e∘▹e▹x∘i(x)≈e

기본 완료 절차 :

  1. 중요한 쌍을 만들 때마다 현재 규칙 세트를 사용하여 가능한 한 양 측면을 줄입니다. 결과 일반 양식이 같지 않으면 새 규칙을 만듭니다. 예를 들어, 2.c. 새로운 규칙 합니다. 반면에 를 과 통합 하면 임계 쌍 , 사소한 삭제했습니다.x∘(i(x)∘z)→e∘z(x∘y)∘zx1∘y1 x ∘ ( y ∘ ( z ∘ z 1 ) ) ≈ x ∘ ( y ∘ ( z ∘ z 1 ) )(x∘y)∘(z∘z1)←((x∘y)∘z)∘z1→(x∘(y∘z))∘z1x∘(y∘(z∘z1))≈x∘(y∘(z∘z1))
  2. 새 규칙 만들 때마다 , 당신이 사이의 모든 중요한 쌍과 기존의 규칙을 고려해야합니다 의 unifiability 검사 의 아닌 각 변수 subterm와 및 그 반대의 경우도 마찬가지입니다. 또한 위에서 설명한 연관성에 대해 자체 오버랩, 즉 자체 하위 용어 로 통합 가능성을 확인해야합니다 . 기존 규칙의 모든 중요 쌍을 검사하여 새 규칙을 생성하거나 폐기 한 경우에만 중지합니다.l 1 → r 1 , … , l n → r n l l i ll→rl1→r1,…,ln→rnllil

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


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

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

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

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

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