Rank | Theorem | Name |
10 | | | Thm* A:ioa{i:l}(), de:sig(). tc_ioa(A;de)  ioa_mentions_trace(A)  ( Q:Fmla, rho:Decl, e:{[[de]] rho}, a:[[A]] rho de e.action, tr:trace_env([[A.da]] rho). tc_ioa(A;de)  ioa_mentions_trace(A)  trace_consistent_pred(rho;A.da;tr.proj;Q)  single_valued_decls(A.ds)  ( s,x':[[A]] rho de e.state. tc_pred(Q;A.ds; < > ;de)  closed_pred(Q)  covers_pred(A;Q)  [[A]] rho de e.trans(s,a,x')  ([[Q]] rho A.ds < > de e x' tr  [[wp(A;kind(a);Q)]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr))) | [wp_correctness] |
cites |
9 | | | Thm* A:ioa{i:l}(), de:sig(). tc_ioa(A;de)  ioa_mentions_trace(A)  ( Q:Fmla, rho:Decl, e:{[[de]] rho}, a:[[A]] rho de e.action, tr:trace_env([[A.da]] rho). trace_consistent_pred(rho;A.da;tr.proj;Q)  single_valued_decls(A.ds)  ( s,x':[[A]] rho de e.state. tc_pred(Q;A.ds; < > ;de)  closed_pred(Q)  covers_pred(A;Q)  [[A]] rho de e.trans(s,a,x')  (pred_mng_2(Q; rho; A.ds; < > ; de; e; s; x'; ; tr)  [[wp2(A;kind(a);Q)]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr))) | [wp2_correctness] |
5 | | | Thm* A:ioa{i:l}(), Q:Fmla, rho:Decl, R:(Label Label  ), k:Label. ioa_mentions_trace(A)  trace_consistent_pred(rho;A.da;R;Q)  trace_consistent_pred(rho;A.da;R;wp(A;k;Q)) | [trace_consistent_wp] |
4 | | | Thm* A:ioa{i:l}(), Q:Fmla, de:sig(), a:Label. tc_ioa(A;de)  single_valued_decls(A.ds)  tc_pred(Q;A.ds;dec_lookup(A.da;a);de)  tc_pred(wp(A;a;Q);A.ds;dec_lookup(A.da;a);de) | [tc_wp] |
0 | | | Thm* v:Top, rho:Decl. v [[ < > ]] rho | [empty_sts_mng] |
2 | | | Thm* p:Fmla, ds,daa:Collection(dec()), da:Collection(SimpleType), de:sig(), rho:Decl, e:{[[de]] rho}, s,s':{[[ds]] rho}, a:[[da]] rho, tr:trace_env([[daa]] rho). trace_consistent_pred(rho;daa;tr.proj;p)  tc_pred(p;ds;da;de)  (pred_mng_2((p)'; rho; ds; da; de; e; s; s'; a; tr)  [[p]] rho ds da de e s' a tr) | [pred_mng2_addprime] |
5 | | | Thm* A:ioa{i:l}(), Q:Fmla, rho:Decl, R:(Label Label  ), k:Label. ioa_mentions_trace(A)  trace_consistent_pred(rho;A.da;R;Q)  trace_consistent_pred(rho;A.da;R;wp2(A;k;Q)) | [trace_consistent_wp2] |
2 | | | Thm* p1,p2:Fmla, ds1,ds2,daa:Collection(dec()), da1,da2:Collection(SimpleType), de:sig(), rho:Decl, e:{[[de]] rho}, s:{[[ds1]] rho}, a:[[da1]] rho, tr:trace_env([[daa]] rho). trace_consistent_pred(rho;daa;tr.proj;p1)  tc_pred(p1;ds1;da1;de)  p1 = p2  ds1 = ds2  da1 = da2  ([[p1]] rho ds1 da1 de e s a tr  [[p2]] rho ds2 da2 de e s a tr) | [pred_mng_functionality] |
4 | | | Thm* A:ioa{i:l}(), Q:Fmla, de:sig(), a:Label. tc_ioa(A;de)  tc_pred(Q;A.ds;dec_lookup(A.da;a);de)  single_valued_decls(A.ds)  tc_pred(wp2(A;a;Q);A.ds;dec_lookup(A.da;a);de) | [tc_wp2] |