(73steps)
PrintForm
Definitions
Lemmas
mb
automata
4
Sections
GenAutomata
Doc
At:
wp2
rel
correct
1
1
1
2
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
[[rel_subst2(as;r)]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr
By:
(Inst
Thm*
r:rel(), as:(Label
Term) List, ds,daa:Collection(dec()), da:Collection(SimpleType), de:sig(), rho:Decl, e:{[[de]] rho}, s,s':{[[ds]] rho}, k:Label, a:[[da]] rho, tr:trace_env([[daa]] rho). trace_consistent_rel(rho;daa;tr.proj;r)
tc(r;ds;da;de)
subst_mentions_trace(as)
(
x:Label. (x
rel_primed_vars(r))
(
t:SimpleType. mk_dec(x, t)
ds
t
term_types(ds;da;de;apply_alist(as;x;x)) & s'.x = [[apply_alist(as;x;x)]] 1of(e) s a tr
[[t]] rho))
tc(rel_subst2(as;r);ds;da;de) & trace_consistent_rel(rho;daa;tr.proj;rel_subst2(as;r)) & ([[rel_subst2(as;r)]] rho ds da de e s a tr
rel_mng_2(r; rho; ds; da; de; e; s; s'; a; tr)) [r;as;A.ds;A.da;dec_lookup(A.da;kind(a));de;rho;e;s;x';kind(a);value(a);tr]) THENA (Try (Complete Auto))
THEN
TrivialIoaHyp
Generated subgoals:
1
subst_mentions_trace(as)
2
x:Label. (x
rel_primed_vars(r))
(
t:SimpleType. mk_dec(x, t)
A.ds
t
term_types(A.ds;dec_lookup(A.da;kind(a));de;apply_alist(as;x;x)) & x'.x = [[apply_alist(as;x;x)]] 1of(e) s value(a) tr
[[t]] rho)
3
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
About:
(73steps)
PrintForm
Definitions
Lemmas
mb
automata
4
Sections
GenAutomata
Doc