Skip to content

Commit a64b378

Browse files
gebnerCopilot
andcommitted
Fix T_Cleanup: postcondition constraint on c, not c_body
comp_post c_body == tm_star (comp_post c) cleanup_pre i.e., the body's post is the overall post starred with cleanup_pre. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent e9f27ad commit a64b378

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

src/checker/Pulse.Typing.fst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1144,11 +1144,12 @@ type st_typing : env -> st_term -> comp -> Type =
11441144
cleanup_pre:slprop ->
11451145
handler:st_term ->
11461146
body:st_term ->
1147-
c_body:comp_st { comp_post c_body == tm_star (comp_post c_body) cleanup_pre \/ True } ->
1147+
c_body:comp_st ->
11481148
c_handler:comp_st ->
11491149
c:comp_st { comp_pre c == comp_pre c_body /\
11501150
comp_u c == comp_u c_body /\
1151-
comp_res c == comp_res c_body } ->
1151+
comp_res c == comp_res c_body /\
1152+
comp_post c_body == tm_star (comp_post c) cleanup_pre } ->
11521153
st_typing (push_post g cleanup_pre) body c_body ->
11531154
st_typing g handler c_handler ->
11541155
st_typing g (wtag (Some (ctag_of_comp_st c)) (Tm_Cleanup { cleanup_pre; handler; body })) c

0 commit comments

Comments
 (0)