Thm* t:frame(). t.acts Label List | [frame_acts_wf] |
Thm* t:frame(). t.typ SimpleType | [frame_typ_wf] |
Thm* t:frame(). t.var Label | [frame_var_wf] |
Def action_effect(a;es;fs) == < e.smt | e < e es | e.kind = a > > + < mk_smt(f.var, f.var, f.typ) | f < f fs |   a f.acts > > | [action_effect] |
Def covers_var(A;x) == fr:frame(). fr < fr A.frame | fr.var = x > & ( a:Label. (a fr.acts)  ( ef:eff(). ef < ef A.eff | ef.kind = a & ef.smt.lbl = x > )) | [covers_var] |