At:
vc trace correct action decl lemma
1
1
2
1.
A: ioa{i:l}()
2.
I: Fmla
3.
rho: Decl
4.
de: sig()
5.
e: {[[de]] rho}
6.
te: Label
Label

7.
tc_ioa(A;de)
8.
ioa_mentions_trace(A)
9.
trace_consistent_pred(rho;A.da;te;I)
10.
tc_pred(I;A.ds; < > ;de)
11.
covers_pred(A;I)
12.
guarded_trace(A.da;te;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.
tr: (
[[A.da]] rho) List
20.
[[A]] rho de e.init(s0)
21.
trace_reachable([[A]] rho de e;s0;mk_trace_env(tr, te).trace;x)
22.
[[I]] rho A.ds < > de e x
mk_trace_env(tr, te)
23.
[[A]] rho de e.trans(x,act,x')
24.
(
t:dec(). t
A.da & t.lbl = kind(act))

[[I]] rho A.ds < > de e x'
tappend(mk_trace_env(tr, te);act)
25.
act
(
[[A.da]] rho)
[[wp(A;kind(act);I)]] rho A.ds dec_lookup(A.da;kind(act)) de e x value(act) tappend(mk_trace_env(tr, te);act) 
[[I]] rho A.ds < > de e x'
tappend(mk_trace_env(tr, te);act)
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(tr, te);act);x;x'])
THENA
(Auto THEN TrivialIoaHyp THEN (Unfold `tappend` 0) THEN (Reduce 0))
THEN
Analyze -1
THEN
Try Trivial
Generated subgoals:
None
About: