At:
 
wp2  rel  correct
 
1
 
1
 
1
 
2
 
2
 
1
 
1
 
2
 
1
1. 
A: ioa{i:l}()
2. 
r: rel()
3. 
rho: Decl
4. 
de: sig()
5. 
e: {[[de]] rho}
6. 
a: (
[[A.da]] rho)
7. 
tr: trace_env([[A.da]] rho)
8. 
tc_pred(A.init;A.ds; <  > ;de)
9. 
p:pre(). p 
 A.pre 
 tc(p.rel;A.ds;dec_lookup(A.da;p.kind);de)
10. 
ef:eff(). 
ef 
 A.eff

mk_dec(ef.kind, ef.typ) 
 A.da
 &  mk_dec(ef.smt.lbl, ef.smt.typ) 
 A.ds
 &  ef.smt.typ 
 term_types(A.ds; < ef.typ > ;de;ef.smt.term)
11. 
f:frame(). f 
 A.frame 
 mk_dec(f.var, f.typ) 
 A.ds
12. 
ioa_mentions_trace(A)
13. 
trace_consistent_rel(rho;A.da;tr.proj;r)
14. 
single_valued_decls(A.ds)
15. 
s: [[A]] rho de e.state
16. 
x': [[A]] rho de e.state
17. 
tc(r;A.ds;dec_lookup(A.da;kind(a));de)
18. 
covers_rel(A;r)
19. 
value(a) 
 [[dec_lookup(A.da;kind(a))]] rho
20. 
p:pre(). 
p 
 A.pre

p.kind = kind(a) 
 [[p.rel]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) niltrace()
21. 
ef:eff(). 
ef 
 A.eff

ef.kind = kind(a)

x'.ef.smt.lbl = [[ef.smt.term]] 1of(e) s value(a) niltrace() 
 [[ef.smt.typ]] rho
22. 
fr:frame(). fr 
 A.frame 
 
(kind(a) 
 fr.acts) 
 x'.fr.var = s.fr.var 
 [[fr.typ]] rho
23. 
rel_mng_2(r; rho; A.ds; dec_lookup(A.da;kind(a)); de; e; s; x'; value(a); tr)
24. 
r@0: rel()
25. 
as: (Label
Term) List
26. 
1of(unzip(as)) = rel_primed_vars(r)
27. 
i:
. i < ||as|| 
 2of(as[i]) 
 (
x.smts_eff(action_effect(kind(a);A.eff;A.frame);x))(1of(as[i]))
28. 
r@0 = rel_subst2(as;r)
29. 
x: Label
30. 
(x 
 1of(unzip(as)))
31. 
i: 
32. 
i < ||as||
33. 
 < x,apply_alist(as;x;x) >  = as[i]
34. 
xxx: Term
35. 
2of(as[i]) = xxx
36. 
xx: Label
37. 
1of(as[i]) = xx
38. 
s1: smt()
39. 
e1: eff()
40. 
e1 
 A.eff
41. 
e1.kind =
 kind(a)
42. 
s1 = e1.smt
43. 
e1.kind = kind(a)
44. 
x'.e1.smt.lbl = [[e1.smt.term]] 1of(e) s value(a) niltrace() 
 [[e1.smt.typ]] rho
45. 
t: SimpleType
46. 
mk_dec(e1.smt.lbl, t) 
 A.ds
47. 
mk_dec(e1.kind, e1.typ) 
 A.da
48. 
mk_dec(e1.smt.lbl, e1.smt.typ) 
 A.ds
49. 
e1.smt.typ 
 term_types(A.ds; < e1.typ > ;de;e1.smt.term)
 
 
[[e1.smt.term]] 1of(e) s value(a) tr ~ [[e1.smt.term]] 1of(e) s value(a) niltrace()
By: 
Suggestion ((AllHypsMentioning `ioa_mentions_trace` ParallelNot) THEN (Unfold `ioa_mentions_trace` 0) THEN (AutoInstConcl []))
Generated subgoals:
None
About: