Thm* A:ioa{i:l}(), rho:Decl, de:sig(), act:( [[A.da]] rho), r,r0:rel(). tc_ioa(A;de)  r smts_eff_rel(action_effect(kind(act);A.eff;A.frame);r0)  rel_eq(rel_unprime(r);rel_unprime(r0))  ( t:dec(). t A.da & t.lbl = kind(act)) | [rel_effect_lemma] |
Thm* as:(Label Term) List, A:ioa{i:l}(), de:sig(), x:Label, t:SimpleType, k:Label. single_valued_decls(A.ds)  tc_ioa(A;de)  ( i: . i < ||as||  2of(as[i]) smts_eff(action_effect(k;A.eff;A.frame);1of(as[i])))  mk_dec(x, t) A.ds  t term_types(A.ds;dec_lookup(A.da;k);de;apply_alist(as;x;x)) | [tc_ioa_lemma] |
Thm* A:ioa{i:l}(), I:Fmla, rho:Decl, te:(Label Label  ), a:dec(). ioa_mentions_trace(A)  trace_consistent_pred(rho;A.da;te;I)  a A.da  trace_consistent_pred(rho;A.da;te;smts_eff_pred(action_effect(a.lbl;A.eff;A.frame);I)) | [trace_consistent_action_effect] |
Def wp(A;a;Q) == smts_eff_pred(action_effect(a;A.eff;A.frame);Q) | [wp] |
Def ioa_trans(A;a;I) == vc_qimp(mk_qimp(a, I action_pre(a;A.pre), smts_eff_pred(action_effect(a;A.eff;A.frame);I))) | [ioa_trans] |
Def wp_rel(A;a;r) == smts_eff_rel(action_effect(a;A.eff;A.frame);r) | [wp_rel] |