Fixes a bug in model verifier's handling of `let-one'

This commit is contained in:
Casey Klein 2010-07-28 18:49:54 -05:00
parent 4cd2e8b01b
commit a858138843
2 changed files with 8 additions and 1 deletions

View File

@ -383,6 +383,13 @@
void)
(application (loc 2)))))
(test-predicate
bytecode-ok?
'(let-one 'x
(branch #f
(let-one (loc-noclr 1) void)
(loc-clr 0))))
; let-rec
(test-predicate
bytecode-ok?

View File

@ -65,7 +65,7 @@
; let-one
[(verify (let-one e_r e_b) (ṽ_1 ...) n_l b γ η f)
(verify e_b (imm ṽ_1* ...) ,(add1 (term n_l)) b γ η (shift 1 f))
(verify e_b (imm ṽ_1* ...) ,(add1 (term n_l)) b γ_1 η_1 (shift 1 f))
(where s_0 (uninit ṽ_1 ...))
(where (s_1 γ_1 η_1) (verify e_r s_0 ,(add1 (term n_l)) #f γ η ))
(where (uninit ṽ_1* ...) (trim s_1 s_0))]