mb automata 4 Sections GenAutomata Doc

Def t.eff == 1of(2of(2of(2of(2of(t)))))

is mentioned by

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:(LabelTerm) 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:(LabelLabel), 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 tc_ioa(A;de) == tc_pred(A.init;A.ds; < > ;de) & (p:pre(). p A.pre tc(p.rel;A.ds;dec_lookup(A.da;p.kind);de)) & (ef:eff(). ef A.eff mk_dec(ef.kind, ef.typ) A.da & tc_eff(ef;A.ds;de)) & (f:frame(). f A.frame mk_dec(f.var, f.typ) A.ds)[tc_ioa]
Def wp_rel(A;a;r) == smts_eff_rel(action_effect(a;A.eff;A.frame);r)[wp_rel]
Def [[A]] rho de e == mk_sm([[A.da]] rho, [[A.ds]] rho, s.[[A.init]] rho A.ds < > de e s niltrace(), s1,a,s2. (p:pre(). p A.pre p.kind = kind(a) [[p.rel]] rho A.ds dec_lookup(A.da;kind(a)) de e s1 value(a) niltrace()) & (ef:eff(). ef A.eff ef.kind = kind(a) s2.ef.smt.lbl = [[ef.smt.term]] 1of(e) s1 value(a) niltrace() [[ef.smt.typ]] rho) & (fr:frame(). fr A.frame (kind(a) fr.acts) s2.fr.var = s1.fr.var [[fr.typ]] rho))[ioa_mng]

In prior sections: mb automata 3 mb automata 1 mb automata 2

Try larger context: GenAutomata

mb automata 4 Sections GenAutomata Doc