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

At: wp2 rel correct 1 1 1 2 2 1 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_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. value(a) [[dec_lookup(A.da;kind(a))]] rho
17. 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()
18. 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
19. fr:frame(). fr A.frame (kind(a) fr.acts) x'.fr.var = s.fr.var [[fr.typ]] rho
20. rel_mng_2(r; rho; A.ds; dec_lookup(A.da;kind(a)); de; e; s; x'; value(a); tr)
21. r@0: rel()
22. as: (LabelTerm) List
23. 1of(unzip(as)) = rel_primed_vars(r)
24. i:. i < ||as|| 2of(as[i]) (x.smts_eff(action_effect(kind(a);A.eff;A.frame);x))(1of(as[i]))
25. r@0 = rel_subst2(as;r)
26. x: Label
27. (x 1of(unzip(as)))
28. i:
29. i < ||as||
30. < x,apply_alist(as;x;x) > = as[i]
31. xxx: Term
32. 2of(as[i]) = xxx
33. xx: Label
34. 1of(as[i]) = xx
35. s1: smt()
36. e1: eff()
37. e1 A.eff
38. e1.kind = kind(a)
39. s1 = e1.smt

t:SimpleType. mk_dec(e1.smt.lbl, t) A.ds t term_types(A.ds;dec_lookup(A.da;kind(a));de;e1.smt.term) & x'.e1.smt.lbl = [[e1.smt.term]] 1of(e) s value(a) tr [[t]] rho

By:
EqLblFwd
THEN
AllHyps (i.(InstHyp [e1] i) THENA (Complete Auto))
THEN
AllHyps (i.(Unfold `tc_ioa` i) THEN (Unfold `tc_eff` i) THEN (Unfold `tc_smt` i) THEN (Analyze i) THEN (Analyze i+1) THEN (InstHyp [e1] i+1))
THEN
Try ((Subst (t ~ e1.smt.typ) 0) THENL [Auto THEN (AllHyps (i.(Unfold `single_valued_decls` i) THEN (InstHyp [e1.smt.lbl] i) THEN (BackThru -1)));Auto])


Generated subgoals:

18. 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: (LabelTerm) 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.typ term_types(A.ds;dec_lookup(A.da;kind(a));de;e1.smt.term)
28. 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: (LabelTerm) 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)
x'.e1.smt.lbl = [[e1.smt.term]] 1of(e) s value(a) tr [[e1.smt.typ]] rho

About:
pairproductlistassertless_thanlambdaapplyequalmembersqequalimpliesall

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