1 | 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. 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 |
2 | 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. 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) |
3 | 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. 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) |