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

At: wp correctness 1 2 2 2 2 1 1

1. A: ioa{i:l}()
2. de: sig()
3. tc_ioa(A;de)
4. ioa_mentions_trace(A)
5. Q: Fmla
6. rho: Decl
7. e: {[[de]] rho}
8. a: [[A]] rho de e.action
9. tr: trace_env([[A.da]] rho)
10. tc_ioa(A;de)
11. ioa_mentions_trace(A)
12. trace_consistent_pred(rho;A.da;tr.proj;Q)
13. single_valued_decls(A.ds)
14. s: [[A]] rho de e.state
15. x': [[A]] rho de e.state
16. tc_pred(Q;A.ds; < > ;de)
17. closed_pred(Q)
18. covers_pred(A;Q)
19. [[A]] rho de e.trans(s,a,x')
20. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr) [[wp2(A;kind(a);(Q)')]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr
21. [[wp2(A;kind(a);(Q)')]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr Prop
22. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr) Prop
23. [[wp(A;kind(a);Q)]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr Prop
24. [[Q]] rho A.ds < > de e x' tr Prop
25. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr) [[Q]] rho A.ds < > de e x' tr

[[wp2(A;kind(a);(Q)')]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr [[wp(A;kind(a);Q)]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr

By:
Inst Thm* p1,p2:Fmla, ds1,ds2,daa:Collection(dec()), da1,da2:Collection(SimpleType), de:sig(), rho:Decl, e:{[[de]] rho}, s:{[[ds1]] rho}, a:[[da1]] rho, tr:trace_env([[daa]] rho). trace_consistent_pred(rho;daa;tr.proj;p1) tc_pred(p1;ds1;da1;de) p1 = p2 ds1 = ds2 da1 = da2 ([[p1]] rho ds1 da1 de e s a tr [[p2]] rho ds2 da2 de e s a tr) []
THEN
RW (AddrC (map (i.2) (upto 1 18)) (FoldTopC `guard`)) -1
THEN
BackThru -1
THEN
TrivialIoaHyp
THEN
Try RelRST
THEN
Try ((BackThru Thm* A:ioa{i:l}(), Q:Fmla, rho:Decl, R:(LabelLabel), k:Label. ioa_mentions_trace(A) trace_consistent_pred(rho;A.da;R;Q) trace_consistent_pred(rho;A.da;R;wp2(A;k;Q))) THEN TraceConsistent)


Generated subgoals:

120. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr) [[wp2(A;kind(a);(Q)')]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr
21. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr ) [[wp2(A;kind(a);(Q)')]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr
22. [[wp2(A;kind(a);(Q)')]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr Prop
23. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr) Prop
24. [[wp(A;kind(a);Q)]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr Prop
25. [[Q]] rho A.ds < > de e x' tr Prop
26. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr) [[Q]] rho A.ds < > de e x' tr
27. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr) [[Q]] rho A.ds < > de e x' tr
28. p1,p2:Fmla, ds1,ds2,daa:Collection(dec()), da1,da2:Collection(SimpleType), de:sig(), rho:Decl , e:{[[de]] rho}, s:{[[ds1]] rho}, a:[[da1]] rho, tr:trace_env([[daa]] rho). trace_consistent_pred(rho;daa;tr.proj;p1) tc_pred(p1;ds1;da1;de) p1 = p2 ds1 = ds2 da1 = da2 ([[p1]] rho ds1 da1 de e s a tr [[p2]] rho ds2 da2 de e s a tr)
value(a) [[dec_lookup(A.da;kind(a))]] rho
220. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr) [[wp2(A;kind(a);(Q)')]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr
21. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr ) [[wp2(A;kind(a);(Q)')]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr
22. [[wp2(A;kind(a);(Q)')]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr Prop
23. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr) Prop
24. [[wp(A;kind(a);Q)]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr Prop
25. [[Q]] rho A.ds < > de e x' tr Prop
26. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr) [[Q]] rho A.ds < > de e x' tr
27. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr) [[Q]] rho A.ds < > de e x' tr
28. p1,p2:Fmla, ds1,ds2,daa:Collection(dec()), da1,da2:Collection(SimpleType), de:sig(), rho:Decl , e:{[[de]] rho}, s:{[[ds1]] rho}, a:[[da1]] rho, tr:trace_env([[daa]] rho). trace_consistent_pred(rho;daa;tr.proj;p1) tc_pred(p1;ds1;da1;de) p1 = p2 ds1 = ds2 da1 = da2 ([[p1]] rho ds1 da1 de e s a tr [[p2]] rho ds2 da2 de e s a tr)
tc_pred(wp2(A;kind(a);(Q)');A.ds;dec_lookup(A.da;kind(a));de)
320. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr) [[wp2(A;kind(a);(Q)')]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr
21. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr ) [[wp2(A;kind(a);(Q)')]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr
22. [[wp2(A;kind(a);(Q)')]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr Prop
23. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr) Prop
24. [[wp(A;kind(a);Q)]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr Prop
25. [[Q]] rho A.ds < > de e x' tr Prop
26. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr) [[Q]] rho A.ds < > de e x' tr
27. pred_mng_2((Q)'; rho; A.ds; < > ; de; e; s; x'; ; tr) [[Q]] rho A.ds < > de e x' tr
28. p1,p2:Fmla, ds1,ds2,daa:Collection(dec()), da1,da2:Collection(SimpleType), de:sig(), rho:Decl , e:{[[de]] rho}, s:{[[ds1]] rho}, a:[[da1]] rho, tr:trace_env([[daa]] rho). trace_consistent_pred(rho;daa;tr.proj;p1) tc_pred(p1;ds1;da1;de) p1 = p2 ds1 = ds2 da1 = da2 ([[p1]] rho ds1 da1 de e s a tr [[p2]] rho ds2 da2 de e s a tr)
wp2(A;kind(a);(Q)') = wp(A;kind(a);Q)

About:
itapplymemberprop

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