1 | 11. x:Label, t1,t2:SimpleType. mk_dec(x, t1) A.ds  mk_dec(x, t2) A.ds  t1 = t2 12. s: {[[A.ds]] rho} 13. x': {[[A.ds]] rho} 14. tc(r;A.ds;dec_lookup(A.da;kind(a));de) 15. covers_rel(A;r) 16. 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() 17. 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 18. tc(r;A.ds;dec_lookup(A.da;kind(a));de) 19. fr:frame(). fr A.frame  (kind(a) fr.acts)  x'.fr.var = s.fr.var [[fr.typ]] rho 20. x:Label. rel_mentions(r;x)  covers_var(A;x) 21. value(a) [[dec_lookup(A.da;kind(a))]] rho 22. 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 23. r': rel() 24. as: (Label Term) List 25. 1of(unzip(as)) = rel_primed_vars(r) 26. i: . i < ||as||  2of(as[i]) smts_eff(action_effect(kind(a);A.eff;A.frame);1of(as[i])) 27. r' = rel_subst2(as;r) 28. x: Label 29. (x 1of(unzip(as))) 30. i:  31. i < ||as|| 32. < x,apply_alist(as;x;x) > = as[i] 33. xxx: Term 34. 2of(as[i]) = xxx 35. xx: Label 36. 1of(as[i]) = xx 37. s1: smt() 38. f: frame() 39. f A.frame 40. (kind(a) f.acts) 41. s1 = mk_smt(f.var, f.var, f.typ) 42. x'.f.var = s.f.var [[f.typ]] rho 43. t: SimpleType 44. mk_dec(f.var, t) A.ds 45. t1,t2:SimpleType. mk_dec(f.var, t1) A.ds  mk_dec(f.var, t2) A.ds  t1 = t2 mk_dec(f.var, f.typ) A.ds |