비 결정적으로 종료되는 루프에 대한 추론


10

여기에 "트랙 B"질문이 있습니다. 요약 : 비 결정적 프로그램에 의미를 부여하려고 할 때 가장 먼저 생각하는 것은 비 결정적 분석 만 종료하는 루프에 대한 것을 증명할 수없는 의미론을 초래합니다. 분명히 누군가 가이 상황에서 무엇을 해야할지, 적어도 어렵다는 것을 지적했지만 그것을 찾는 방법을 알지 못합니다 (따라서 "참조 요청"태그).

배경

비결정론으로 언어를 모델링하고 싶습니다. 나는 이것이 Smyth powerdomain으로 그러한 언어를 모델링하는 명백한 (또는 적어도 순진한) 방법이라고 생각하지만 내가 틀렸다면 나를 바로 잡으십시오. 이 언어에서 명령의 의미는 도메인이 상태 의 세트 S에스 이고 코 도메인이 세트 P ( S ) = { } P ( S )( S)= { } P( S) 인 함수로 모델링합니다 . 여기서 은 최소 요소입니다. 비 종료를 나타내며 P ( S )( S) 는 상태의 파워 셋입니다.

σ{ σ1, σ2, }P QQ

  • S K I Pσ = { σ }S K I P σ= { σ}
  • X : = E σ = { σ [ ( E σ ) / X ] } X : = E σ= { σ[ ( E σ) / x ] }
  • B가 O를 R tσ = B O R t σ를=
  • ⟦\ mathbf {if} ~ E ~ \ mathbf {then} ~ P ~ \ mathbf {else} ~ Q⟧ \ sigma = ⟦E⟧ \ sigma = \ mathit {true}I F E t H E N P E L S E Q σ = P σ     I F 이자형 t h e n P  E L S E Q σ = P σ경우 E σ = t R U EEσ=true , 그렇지 않으면 Q σQσ
  • P Q σ = PQσ= 경우 P σ = Pσ= 또는 Q σ = Qσ= 달리 P σ Q σPσQσ
  • P ; Q σ = P σ = Q τ = τ P σ τ P σQ τP;Qσ= 경우 또는 일부 달리Pσ=Qτ=τPστPσQτ

방향성 완전한 부분 위해 거기 여기서 임의 대한 와 두 경우 및 적절히 설정되어 이고 함수 를 에서 점으로 확장 할 수 있습니다 . if 모든 및 은 모든 상태를 매핑하는 함수입니다 .S S P ( S ) S 1S 2 S 1 S 2 S 1S 2 f S P ( S ) f 1f 2 f 1 ( σ ) f 2 ( σ ) σ f SSP(S)S1S2S1S2S1S2fSP(S)f1f2f1(σ)f2(σ)σf

루프의 의미는 는 체인의 최소 상한입니다 , 여기서 이면 이고 , 그렇지 않으면 경우 또는 일부 달리 . (이 정의는 방금 정의한 가 Scott 연속 이라고 가정 하지만, 제쳐두는 것이 안전하다고 생각합니다.)w H L E E D O P σ    F F ( F ) F ( F ( F ) ) ... F ( g ) ( σ ) = { σ } E ( σ ) = F L은 s의 전자P σ = while E do Pσff(f)f(f(f))f(g)(σ)={σ}E(σ)=falsePσ=g ( τ ) = τ P σ τ P σ g ( τ ) Fg(τ)=τPστPσg(τ)f

질문

이 프로그램을 고려하십시오 :

x : = 0 ; b : = t r u e ; w h i l e b d ox:=0;
b:=true;
  while b do
x : = x + 2 ;x:=x+2;
b : = f a l s eb : = t r u eb:=falseb:=true

직관적으로, 이것은 임의의 양의 짝수를 반환하거나 종료되지 않는 루프이며, 가장 약한 자유 조건을 사용하여이 루프에 대해 증명할 수있는 것과 일치합니다 ( 을 표시하는 것이 가능합니다 은 루프입니다) 불변). 그러나 루프가 종료되지 않는 기능을 가지고 있기 때문에 (우리는 항상 오른쪽 분기를 수행하는 프로그램으로 비 결정적 선택을 세분화 할 수 있음) 초기 상태에서이 프로그램의 의미는 입니다. (비공식적으로는 : 가 false 인 상태를 로 , 가 true 인 상태 를 로 매핑하는 함수 는 루프를 정의하는 데 사용되는 의 고정 점입니다 .)n.x=2nn.x=2nbbbbff

이것은 내가 제안한 순진한 의미론이 프로그램에 대해 추론 할 수있는 방식과 일치하지 않음을 의미합니다. 나는 의미를 비난하지만 그것들을 고치는 법은 없다.


4
나는 프로그램의 의미의 공동 영역으로 를 사용함으로써, 당신은 갈라질 수있는 프로그램에 대한 모든 것을 추론하는 것을 효과적으로 포기했다고 생각합니다. 순진한 생각은 을 사용하는 것이지만 다른 문제가 발생할지 모르겠습니다. {}P(S){}P(S)P(S{})P(S{})
Ito Tsuyoshi

그렇습니다. 세트를 보면, 우리가 예제를보기 전에도 희망을 잃어버린 것이 분명합니다. 잠재적 인 비 종료에 의해 모델링 long로서 귀하의 제안뿐만 아니라 나에게 발생,하지만 난 당신이 예에서 같은 문제와 끝까지 생각 하지 , 그리고 경우 우리는 후자를 선택하여 일반적인 방식으로 루프에 최소 고정 점으로 의미를 부여하는 능력을 방해합니다. {}P(S){}P(S)S{}S{}{}{}
Rob Simmons

Dynamic Logic을 보셨습니까? 의미는 상태에서 상태로의 관계로 제공되며, 논리를 사용하여 부분 및 전체 정확성, 즉 종료되는 계산의 속성과 모든 계산이 주어진 속성으로 종료되도록 추론 할 수 있습니다.
Dave Clarke

이 설정에서 동적 논리에 대해서는 생각하지 않았지만 그것이 어떻게 관련이 있는지 알 수 있습니다. 저는 피츠버그로 돌아 왔을 때 Platzer와 그의 학생들이 어떻게 생각하는지 볼 것입니다.
Rob Simmons

답변:


10

[dB80] Hitchcock and Park의 재귀 종료 특성 분석은 소위 Egli-Milner 관계 해석 [Egl75, Plo76]을 기반으로하는 의미 론적 분석에 해당하는 것으로 입증되었으며, 이는 불규칙적 인 비결 정성을 나타냅니다. 이 개념은 (비 종료 계산이 있더라도) 원하는 결과로 이어지는 적어도 하나의 계산을 생성하는 경우 비결정론 적 관계의 결합이 올바른 것을 포착합니다. 이것은 당신이하려는 일에 해당하는 것으로 보입니다.

다음으로, 명령문 의 의미를 각 초기 상태 를 비어 있지 않은 상태 세트에 맵핑 하는 함수 , 아마도 을 포함하여 가 . 명령문 과 사이의 비 결정적 선택은 각 초기 상태 를 개별 결과 의 결합으로 매핑하는 함수에 의해 설명됩니다 . 따라서 또는S f S σ f S f S ( ) = { } S 1 S 2 σ f S 1 ( σ ) f S 2 ( σ ) S 1 S 2SfSσfSfS()={}S1S2σfS1(σ)fS2(σ)S1S2바람직하지 않은 결과를 생성 할 수있는 비 결정적 가능성을 가지므로 비 결정적 선택도 마찬가지입니다. 최종 상태의 결과 세트가이 분석에서 소위 Egli-Milner 상태 세트를 얻습니다.

P E--M (S)={s S | s   }PE--M(S)={ sS | s 는 유한하고 비어 있지 않거나}

무한 서브 세트가이 모델에서 가능한 최종 상태 세트로 간주되지 않는 이유는 무엇 입니까? 관계형 용어의 모든 기본 빌딩 블록이 유한하고 비어 있지 않은 가능한 최종 상태 세트 만 생성한다는 가정하에 무한한 가능한 최종 상태 세트는 무한 계산이 가능한 경우에만 생성 될 수 있습니다. 이것은 다음과 같이 볼 수 있습니다. 주어진 상태 에서 시작하는 모든 가능한 계산 세트 를 루트 및 상태를 노드 로하는 트리로 구성하십시오 . 나뭇잎 세트는 제외하고 에서 도달 할 수있는 가능한 최종 상태 세트입니다.S σ 0 σ 0 σ 0Sσ0σ0σ0나뭇잎 사이에서 누락 될 수 있지만 트리에 무한한 경로가 있다는 사실에 의해 최종 상태 세트로 표시됩니다. 위의 가정에 의해 유한 한 비 결정적 선택 만 가능하므로이 트리는 유한하게 분기됩니다. 따라서, 주어진 유한 깊이에는 한정된 수의 잎만이 있습니다. 결과적으로 무한한 수의 최종 상태는 무한 계산 (König의 명칭 [Kön32]의 적용)이있는 경우에만 생성 될 수 있습니다.

( P E-M ( S ) , E-M ) 은다음에 의해 정의 된E-M에 대한 자세입니다 : s , t P E-M ( S ) ,(PE--M(S),E--M)E--Ms,tPE--M(S)

s E--M t=( s s { } t ) ( s s = t ) . sE--Mt=(ss{}t)(ss=t) .

여기서 대신 더 많은 상태를 삽입하여 E-M 이상의 집합을 생성 할 수 있는 자리 표시 자로 볼 수 있습니다 . 따라서 { }( PE -M ( S ) , ⊑E --M ) 의 최소 ​​요소입니다 . 또한, 포셋 ( P E-M ( S ) , E-M )ω- 사슬에 대한 윤활유를 가지고 있습니다. 마찬가지로 S { } 에서 P 까지의 엄격한 기능E--M{}(PE--M(S),E--M)(PE--M(S),E--M)ωS{}E-M (S)E-M 의 포인트 단위 확장에 의해 부분적으로 정렬됩니다. 또한, 그러한 함수 중 가장 작은 함수는λσ입니다. {}와그러한 기능을 가진ω-체인의lub도 존재합니다.PE--M(S)E--M

[dB80] JW 드 바커. 프로그램 정확성의 수학적 이론 . 프렌 티스 홀, 1980.

H Egli. 비 결정적 계산을위한 수학적 모델. 기술 보고서, ETH Zürich, 1975.

[Kön32] D König. Theorie der endlichen 및 unendlichen Graphen. 기술 보고서, 라이프 치히, 1932

[Plo76] GD Plotkin. 파워 도메인 구조. SIAM Journal on Computation , 5 (3) : 452-487, 1976.

면책 조항 : 이것은 내가 한 번 공동 저술 한 책에서 거의 그대로 사용됩니다.

WP de Roever와 K Engelhardt. 데이터 세분화 : 모델 지향 증명 방법 및 비교 . 케임브리지 대학 출판부, 1998.


4
"이것은 내가 한 번에 공동 저술 한 책에서 거의 발췌 한 것입니다."라는 문구에는 "면책 조항 :"이 아닌 "추가 굉장함 :"이 붙어있을 것입니다. :-D. 고마워, 이것은 매우 도움이됩니다.
Rob Simmons

한 비결정론을 보는 방법 (내가 그것을보고 할 방법은)는의 한 형태이다 underspecification 결정적 선택할 수있는 프로그램이있다 - 정제 , 항상 두 번째 선택은 소요, 항상 첫 번째 선택이 걸리는 프로그램 또는 (이 특정 분야에 대한 McIver와 Morgan의 광범위한 작업 참조) 가능성이 있는 프로그램을 선택하십시오 . 따라서 결정적이지 않게 종료되지 않는 루프는 결코 끝나지 않는 루프와 (1의 확률로) 끝나는 코인 플립 루프에 의해 개선됩니다
Rob Simmons
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.