From 9e64f5850abcd70faf13a3e044d7ddc255e3ba5d Mon Sep 17 00:00:00 2001 From: Ralf Jung <post@ralfj.de> Date: Fri, 23 Dec 2016 12:24:24 +0100 Subject: [PATCH] typing of letcont: allow picking an arbitrary local lifetime context --- theories/typing/cont.v | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/theories/typing/cont.v b/theories/typing/cont.v index 3db8c352..b5a60810 100644 --- a/theories/typing/cont.v +++ b/theories/typing/cont.v @@ -23,8 +23,8 @@ Section typing. Closed (kb :b: argsb +b+ []) econt → Closed (kb :b: []) e2 → (∀ k args, typed_body E L1 (CCtx_iscont k L1 _ T' :: C) (T' args) (subst' kb k $ subst_v argsb (vmap of_val args) econt)) → - (∀ k, typed_body E (L1 ++ L2) (CCtx_iscont k L1 _ T' :: C) T (subst' kb k e2)) → - typed_body E (L1 ++ L2) C T (let: kb := Rec kb argsb econt in e2). + (∀ k, typed_body E L2 (CCtx_iscont k L1 _ T' :: C) T (subst' kb k e2)) → + typed_body E L2 C T (let: kb := Rec kb argsb econt in e2). Proof. iIntros (Hc1 Hc2 Hecont He2 tid qE) "#HEAP #LFT Htl HE HL HC HT". iApply wp_let'. { simpl. rewrite decide_left. done. } -- GitLab