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

At: ioa mng wf


A:ioa{i:l}(), de:sig(), rho:Decl, e:{[[de]] rho}. tc_ioa(A;de) ioa_mentions_trace(A) [[A]] rho de e sm{i:l}()

By:
UnivCD THENA (Auto THEN (Try ((Unfold `decl` 0) THEN (Complete Auto))))
THEN
Unfold `tc_ioa` -2
THEN
ExRepD
THEN
AssertBY (niltrace() trace_env([[A.da]] rho)) Auto
THEN
Unfold `ioa_mng` 0
THEN
BackThru Thm* da,ds:Decl, init:({ds}Prop), trans:({ds}(da){ds}Prop). mk_sm(da, ds, init, trans) sm{i:l}()
THEN
Try (Complete Auto)
THEN
Analyze
THEN
Try (BackThru Thm* p:Fmla, ds,daa:Collection(dec()), da:Collection(SimpleType), de:sig(), rho:Decl, e:{[[de]] rho}, s:{[[ds]] rho}, a:[[da]] rho, tr:trace_env([[daa]] rho). trace_consistent_pred(rho;daa;tr.proj;p) tc_pred(p;ds;da;de) [[p]] rho ds da de e s a tr Prop)
THEN
Try (BackThru Thm* v:Top, rho:Decl. v [[ < > ]] rho)
THEN
Try ((RevHypSubstSq -1 0) THEN EasyHyp)
THEN
Try ((Using [`ds',A.ds] (BackThru Thm* ds:Collection(dec()), rho:Decl, s:{[[ds]] rho}, x:Label, t:SimpleType. mk_dec(x, t) ds s.x [[t]] rho)) THEN EasyHyp)


Generated subgoals:

11. A: ioa{i:l}()
2. de: sig()
3. rho: Decl
4. e: {[[de]] rho}
5. tc_pred(A.init;A.ds; < > ;de)
6. p:pre(). p A.pre tc(p.rel;A.ds;dec_lookup(A.da;p.kind);de)
7. ef:eff(). ef A.eff mk_dec(ef.kind, ef.typ) A.da & tc_eff(ef;A.ds;de)
8. f:frame(). f A.frame mk_dec(f.var, f.typ) A.ds
9. ioa_mentions_trace(A)
10. niltrace() trace_env([[A.da]] rho)
11. s: {[[A.ds]] rho}
trace_consistent_pred(rho;A.da;niltrace().proj;A.init)
21. A: ioa{i:l}()
2. de: sig()
3. rho: Decl
4. e: {[[de]] rho}
5. tc_pred(A.init;A.ds; < > ;de)
6. p:pre(). p A.pre tc(p.rel;A.ds;dec_lookup(A.da;p.kind);de)
7. ef:eff(). ef A.eff mk_dec(ef.kind, ef.typ) A.da & tc_eff(ef;A.ds;de)
8. f:frame(). f A.frame mk_dec(f.var, f.typ) A.ds
9. ioa_mentions_trace(A)
10. niltrace() trace_env([[A.da]] rho)
11. s1: {[[A.ds]] rho}
12. a: ([[A.da]] rho)
13. s2: {[[A.ds]] rho}
14. p: pre()
15. p A.pre
16. p.kind = kind(a)
value(a) [[dec_lookup(A.da;p.kind)]] rho
31. A: ioa{i:l}()
2. de: sig()
3. rho: Decl
4. e: {[[de]] rho}
5. tc_pred(A.init;A.ds; < > ;de)
6. p:pre(). p A.pre tc(p.rel;A.ds;dec_lookup(A.da;p.kind);de)
7. ef:eff(). ef A.eff mk_dec(ef.kind, ef.typ) A.da & tc_eff(ef;A.ds;de)
8. f:frame(). f A.frame mk_dec(f.var, f.typ) A.ds
9. ioa_mentions_trace(A)
10. niltrace() trace_env([[A.da]] rho)
11. s1: {[[A.ds]] rho}
12. a: ([[A.da]] rho)
13. s2: {[[A.ds]] rho}
14. p: pre()
15. p A.pre
16. p.kind = kind(a)
trace_consistent_rel(rho;A.da;niltrace().proj;p.rel)
41. A: ioa{i:l}()
2. de: sig()
3. rho: Decl
4. e: {[[de]] rho}
5. tc_pred(A.init;A.ds; < > ;de)
6. p:pre(). p A.pre tc(p.rel;A.ds;dec_lookup(A.da;p.kind);de)
7. ef:eff(). ef A.eff mk_dec(ef.kind, ef.typ) A.da & tc_eff(ef;A.ds;de)
8. f:frame(). f A.frame mk_dec(f.var, f.typ) A.ds
9. ioa_mentions_trace(A)
10. niltrace() trace_env([[A.da]] rho)
11. s1: {[[A.ds]] rho}
12. a: ([[A.da]] rho)
13. s2: {[[A.ds]] rho}
14. ef: eff()
15. ef A.eff
16. ef.kind = kind(a)
mk_dec(ef.smt.lbl, ef.smt.typ) A.ds
51. A: ioa{i:l}()
2. de: sig()
3. rho: Decl
4. e: {[[de]] rho}
5. tc_pred(A.init;A.ds; < > ;de)
6. p:pre(). p A.pre tc(p.rel;A.ds;dec_lookup(A.da;p.kind);de)
7. ef:eff(). ef A.eff mk_dec(ef.kind, ef.typ) A.da & tc_eff(ef;A.ds;de)
8. f:frame(). f A.frame mk_dec(f.var, f.typ) A.ds
9. ioa_mentions_trace(A)
10. niltrace() trace_env([[A.da]] rho)
11. s1: {[[A.ds]] rho}
12. a: ([[A.da]] rho)
13. s2: {[[A.ds]] rho}
14. ef: eff()
15. ef A.eff
16. ef.kind = kind(a)
[[ef.smt.term]] 1of(e) s1 value(a) niltrace() [[ef.smt.typ]] rho

About:
memberimpliesall

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