(51steps) PrintForm Definitions Lemmas mb automata 4 Sections GenAutomata Doc

At: vc trace correctness 1 3 2 1 2 2 2 1 1 1 1

1. A: ioa{i:l}()
2. I: Fmla
3. rho: Decl
4. de: sig()
5. e: {[[de]] rho}
6. te: LabelLabel
7. tc_ioa(A;de)
8. ioa_mentions_trace(A)
9. trace_consistent_pred(rho;A.da;te;I)
10. guarded_trace(A.da;te;I)
11. tc_pred(I;A.ds; < > ;de)
12. covers_pred(A;I)
13. closed_pred(I)
14. single_valued_decls(A.ds)
15. s0: [[A]] rho de e.state
16. x: [[A]] rho de e.state
17. act: [[A]] rho de e.action
18. x': [[A]] rho de e.state
19. l: [[A]] rho de e.action List
20. [[A]] rho de e.init(s0)
21. trace_reachable([[A]] rho de e;s0;l;x)
22. mk_trace_env(l, te) trace_env([[A.da]] rho)
23. t:dec(). t A.da & t.lbl = kind(act)
24. [[I]] rho A.ds < > de e x mk_trace_env(l, te)
25. [[A]] rho de e.trans(x,act,x')
26. l ([[A.da]] rho) List
27. [[VCs(A;I)]] rho A.ds A.da de e x mk_trace_env(l, te)
28. act ([[A.da]] rho)

[[I]] rho A.ds < > de e x' mk_trace_env(l @ [act], te)

By:
(Inst 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))) [A;de;I;rho;e;act;tappend(mk_trace_env(l, te);act);x;x']) THENA (Auto THEN TrivialIoaHyp)
THEN
Try ((Unfold `tappend` 0) THEN (Reduce 0) THEN Trivial)


Generated subgoal:

129. [[I]] rho A.ds < > de e x' tappend(mk_trace_env(l, te);act) [[wp(A;kind(act);I)]] rho A.ds dec_lookup(A.da;kind(act)) de e x value(act) tappend(mk_trace_env(l, te);act)
[[I]] rho A.ds < > de e x' mk_trace_env(l @ [act], te)

About:
listconsnilboolitapplyfunctionequalmemberandexists

(51steps) PrintForm Definitions Lemmas mb automata 4 Sections GenAutomata Doc