is mentioned by
| Thm*  A:ioa{i:l}(), I:Fmla, rho:Decl, de:sig(), e:{[[de]] rho}, te:(Label   Label    ). tc_ioa(A;de)     ioa_mentions_trace(A)   trace_consistent_pred(rho;A.da;te;I)   guarded_trace(A.da;te;I)   tc_pred(I;A.ds; <  > ;de)   covers_pred(A;I)   closed_pred(I)   single_valued_decls(A.ds)   let M = [[A]] rho de e in (  s:M.state, tr:(  [[A.da]] rho) List. (M -tr- >  s)   [[VCs(A;I)]] rho A.ds A.da de e s mk_trace_env(tr, te))   (M |= always s,tr.[[I]] rho A.ds  <  >  de e s  mk_trace_env(tr, te)) | [vc_trace_correctness] | 
| Thm*  A:ioa{i:l}(), I:Fmla, rho:Decl, de:sig(), e:{[[de]] rho}, te:(Label   Label    ). tc_ioa(A;de)     ioa_mentions_trace(A)   trace_consistent_pred(rho;A.da;te;I)   tc_pred(I;A.ds; <  > ;de)   covers_pred(A;I)   guarded_trace(A.da;te;I)   closed_pred(I)   single_valued_decls(A.ds)   (  s0,x:[[A]] rho de e.state, act:[[A]] rho de e.action, x':[[A]] rho de e.state, tr:(  [[A.da]] rho) List. [[A]] rho de e.init(s0)   trace_reachable([[A]] rho de e;s0;mk_trace_env(tr, te).trace;x)   [[I]] rho A.ds  <  >  de e x  mk_trace_env(tr, te)   [[A]] rho de e.trans(x,act,x')   ((  t:dec(). t  A.da  &  t.lbl = kind(act))   [[I]] rho A.ds  <  >  de e x'  tappend(mk_trace_env(tr, te);act))   [[I]] rho A.ds  <  >  de e x'  tappend(mk_trace_env(tr, te);act)) | [vc_trace_correct_action_decl_lemma] | 
| Def vc_mng(v;rho;ds;da;de;e;s;tr) == Case(v) Case vc_imp(hc) = >  [[hc.hyp]] rho ds  <  >  de e s  mk_trace_env(nil, tr.proj)   [[hc.concl]] rho ds  <  >  de e s  mk_trace_env(nil, tr.proj) Case vc_qimp(qhc) = >  v:[[dec_lookup(da;qhc.lbl)]] rho. [[qhc.hyp]] rho ds dec_lookup(da;qhc.lbl) de e s v tr   [[qhc.concl]] rho ds dec_lookup(da;qhc.lbl) de e s v tappend(tr; < qhc.lbl,v > ) Default = >  False | [vc_mng] | 
In prior sections: mb automata 1 mb automata 3
Try larger context:
 
GenAutomata