At:
wp2 rel correct
1
1
1
2
3
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_ioa(A;de)
9.
ioa_mentions_trace(A)
10.
trace_consistent_rel(rho;A.da;tr.proj;r)
11.
single_valued_decls(A.ds)
12.
s: [[A]] rho de e.state
13.
x': [[A]] rho de e.state
14.
tc(r;A.ds;dec_lookup(A.da;kind(a));de)
15.
covers_rel(A;r)
16.
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()
17.
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
18.
fr:frame(). fr A.frame (kind(a) fr.acts) x'.fr.var = s.fr.var [[fr.typ]] rho
19.
rel_mng_2(r; rho; A.ds; dec_lookup(A.da;kind(a)); de; e; s; x'; value(a); tr)
20.
r@0: rel()
21.
as: (Label Term) List
22.
1of(unzip(as)) = rel_primed_vars(r)
23.
i: . i < ||as|| 2of(as[i]) ( x.smts_eff(action_effect(kind(a);A.eff;A.frame);x))(1of(as[i]))
24.
r@0 = rel_subst2(as;r)
25.
value(a) [[dec_lookup(A.da;kind(a))]] rho
26.
tc(rel_subst2(as;r);A.ds;dec_lookup(A.da;kind(a));de)
& trace_consistent_rel(rho;A.da;tr.proj;rel_subst2(as;r))
& ([[rel_subst2(as;r)]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr
rel_mng_2(r; rho; A.ds; dec_lookup(A.da;kind(a)); de; e; s; x'; value(a); tr))
[[rel_subst2(as;r)]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr
By:
ExRepD
THEN
Analyze -1
THEN
Analyze -1
THEN
Try Trivial
Generated subgoals:
None
About: