1 | 1. A: ioa{i:l}() 2. de: sig() 3. rho: Decl 4. e: {[[de]] rho} 5. tc_pred(A.init;A.ds; < > ;de) 6. p:pre(). p A.pre tc(p.rel;A.ds;dec_lookup(A.da;p.kind);de) 7. ef:eff(). ef A.eff mk_dec(ef.kind, ef.typ) A.da & tc_eff(ef;A.ds;de) 8. f:frame(). f A.frame mk_dec(f.var, f.typ) A.ds 9. ioa_mentions_trace(A) 10. niltrace() trace_env([[A.da]] rho) 11. s: {[[A.ds]] rho} trace_consistent_pred(rho;A.da;niltrace().proj;A.init) |
2 | 1. A: ioa{i:l}() 2. de: sig() 3. rho: Decl 4. e: {[[de]] rho} 5. tc_pred(A.init;A.ds; < > ;de) 6. p:pre(). p A.pre tc(p.rel;A.ds;dec_lookup(A.da;p.kind);de) 7. ef:eff(). ef A.eff mk_dec(ef.kind, ef.typ) A.da & tc_eff(ef;A.ds;de) 8. f:frame(). f A.frame mk_dec(f.var, f.typ) A.ds 9. ioa_mentions_trace(A) 10. niltrace() trace_env([[A.da]] rho) 11. s1: {[[A.ds]] rho} 12. a: ([[A.da]] rho) 13. s2: {[[A.ds]] rho} 14. p: pre() 15. p A.pre 16. p.kind = kind(a) value(a) [[dec_lookup(A.da;p.kind)]] rho |
3 | 1. A: ioa{i:l}() 2. de: sig() 3. rho: Decl 4. e: {[[de]] rho} 5. tc_pred(A.init;A.ds; < > ;de) 6. p:pre(). p A.pre tc(p.rel;A.ds;dec_lookup(A.da;p.kind);de) 7. ef:eff(). ef A.eff mk_dec(ef.kind, ef.typ) A.da & tc_eff(ef;A.ds;de) 8. f:frame(). f A.frame mk_dec(f.var, f.typ) A.ds 9. ioa_mentions_trace(A) 10. niltrace() trace_env([[A.da]] rho) 11. s1: {[[A.ds]] rho} 12. a: ([[A.da]] rho) 13. s2: {[[A.ds]] rho} 14. p: pre() 15. p A.pre 16. p.kind = kind(a) trace_consistent_rel(rho;A.da;niltrace().proj;p.rel) |
4 | 1. A: ioa{i:l}() 2. de: sig() 3. rho: Decl 4. e: {[[de]] rho} 5. tc_pred(A.init;A.ds; < > ;de) 6. p:pre(). p A.pre tc(p.rel;A.ds;dec_lookup(A.da;p.kind);de) 7. ef:eff(). ef A.eff mk_dec(ef.kind, ef.typ) A.da & tc_eff(ef;A.ds;de) 8. f:frame(). f A.frame mk_dec(f.var, f.typ) A.ds 9. ioa_mentions_trace(A) 10. niltrace() trace_env([[A.da]] rho) 11. s1: {[[A.ds]] rho} 12. a: ([[A.da]] rho) 13. s2: {[[A.ds]] rho} 14. ef: eff() 15. ef A.eff 16. ef.kind = kind(a) mk_dec(ef.smt.lbl, ef.smt.typ) A.ds |
5 | 1. A: ioa{i:l}() 2. de: sig() 3. rho: Decl 4. e: {[[de]] rho} 5. tc_pred(A.init;A.ds; < > ;de) 6. p:pre(). p A.pre tc(p.rel;A.ds;dec_lookup(A.da;p.kind);de) 7. ef:eff(). ef A.eff mk_dec(ef.kind, ef.typ) A.da & tc_eff(ef;A.ds;de) 8. f:frame(). f A.frame mk_dec(f.var, f.typ) A.ds 9. ioa_mentions_trace(A) 10. niltrace() trace_env([[A.da]] rho) 11. s1: {[[A.ds]] rho} 12. a: ([[A.da]] rho) 13. s2: {[[A.ds]] rho} 14. ef: eff() 15. ef A.eff 16. ef.kind = kind(a) [[ef.smt.term]] 1of(e) s1 value(a) niltrace() [[ef.smt.typ]] rho |
About: