프레임 규칙은 , 아래의 하나처럼, 프로그램 주어진한다는 생각 캡처 c
전제 조건으로 p
이 실행되기 전에 보유 및 사후 q
이후 보유, 일부 분리 된 조건이 r
전후를 보유해야 c
실행됩니다. ( *
연결은 인수가 분리되어야합니다.) 종종 사전 및 사후 조건은 힙의 상태이며 c
힙을 어떤 방식 으로든 수정하는 효과적인 프로그램입니다.
{p} c {q}
----------------- (where no free variable in r is modified by c)
{p * r} c {q * r}
내가 본 프레임 규칙에 대한 논의는 항상 힙의 분리 된 부분이 어떻게 r
보존 되는지에 초점을 맞추는 것처럼 보입니다 . 이것은 "로컬 추론"을 가능하게합니다. 그 영향에 대해 추론 할 때 c
, 우리는 r
힙 부분을 무시하고 실제로 변하는 부분에만 관심을 가질 수 있습니다. 그러나 그것을 보는 또 다른 방법 은 지금 거기에 앉아 있지만 에서 p
로의 변화q
가 유지 된다는 r
것입니다. 다시 말해, 우리는 다른 {q * r}
것보다는 사후 조건으로 끝내는 것이 중요합니다 .{q' * r}
q'
그래서, 내 질문은 나와 나 차종이 보존 --의 변화 단으로의 사용을 프레임 규칙의 어떤 치료가 있는지 여부입니다 p
Di의 q
일.