1 | 8. 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.ds]] rho} 16. x': {[[A.ds]] rho} 17. tc(r;A.ds;dec_lookup(A.da;kind(a));de) 18. covers_rel(A;r) 19. 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() 20. 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 21. tc(r;A.ds;dec_lookup(A.da;kind(a));de) 22. fr:frame(). fr A.frame  (kind(a) fr.acts)  x'.fr.var = s.fr.var [[fr.typ]] rho 23. x:Label. rel_mentions(r;x)  covers_var(A;x) 24. value(a) [[dec_lookup(A.da;kind(a))]] rho 25. r@0:rel().
r@0 col_subst2( x.smts_eff(action_effect(kind(a);A.eff;A.frame);x);r)

[[r@0]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr 26. r': rel() 27. as: (Label Term) List 28. 1of(unzip(as)) = rel_primed_vars(r) 29. i: . i < ||as||  2of(as[i]) smts_eff(action_effect(kind(a);A.eff;A.frame);1of(as[i])) 30. r' = rel_subst2(as;r) 31. x: Label 32. (x 1of(unzip(as))) 33. i:  34. i < ||as|| 35. < x,apply_alist(as;x;x) > = as[i] 36. xxx: Term 37. 2of(as[i]) = xxx 38. xx: Label 39. 1of(as[i]) = xx 40. s1: smt() 41. e1: eff() 42. e1 A.eff 43. e1.kind = kind(a) 44. s1 = e1.smt 45. e1.kind = kind(a) 46. x'.e1.smt.lbl = [[e1.smt.term]] 1of(e) s value(a) niltrace() [[e1.smt.typ]] rho 47. t: SimpleType 48. mk_dec(e1.smt.lbl, t) A.ds 49. mk_dec(e1.kind, e1.typ) A.da 50. mk_dec(e1.smt.lbl, e1.smt.typ) A.ds 51. 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) |
2 | 8. 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.ds]] rho} 16. x': {[[A.ds]] rho} 17. tc(r;A.ds;dec_lookup(A.da;kind(a));de) 18. covers_rel(A;r) 19. 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() 20. 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 21. tc(r;A.ds;dec_lookup(A.da;kind(a));de) 22. fr:frame(). fr A.frame  (kind(a) fr.acts)  x'.fr.var = s.fr.var [[fr.typ]] rho 23. x:Label. rel_mentions(r;x)  covers_var(A;x) 24. value(a) [[dec_lookup(A.da;kind(a))]] rho 25. r@0:rel().
r@0 col_subst2( x.smts_eff(action_effect(kind(a);A.eff;A.frame);x);r)

[[r@0]] rho A.ds dec_lookup(A.da;kind(a)) de e s value(a) tr 26. r': rel() 27. as: (Label Term) List 28. 1of(unzip(as)) = rel_primed_vars(r) 29. i: . i < ||as||  2of(as[i]) smts_eff(action_effect(kind(a);A.eff;A.frame);1of(as[i])) 30. r' = rel_subst2(as;r) 31. x: Label 32. (x 1of(unzip(as))) 33. i:  34. i < ||as|| 35. < x,apply_alist(as;x;x) > = as[i] 36. xxx: Term 37. 2of(as[i]) = xxx 38. xx: Label 39. 1of(as[i]) = xx 40. s1: smt() 41. e1: eff() 42. e1 A.eff 43. e1.kind = kind(a) 44. s1 = e1.smt 45. e1.kind = kind(a) 46. x'.e1.smt.lbl = [[e1.smt.term]] 1of(e) s value(a) niltrace() [[e1.smt.typ]] rho 47. t: SimpleType 48. mk_dec(e1.smt.lbl, t) A.ds 49. mk_dec(e1.kind, e1.typ) A.da 50. mk_dec(e1.smt.lbl, e1.smt.typ) A.ds 51. 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 |