1 | 9. trace_consistent_rel(rho;A.da;tr.proj;r) 10. single_valued_decls(A.ds) 11. s: {[[A.ds]] rho} 12. x': {[[A.ds]] rho} 13. tc(r;A.ds;dec_lookup(A.da;kind(a));de) 14. covers_rel(A;r) 15. 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() 16. 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 17. fr:frame(). fr A.frame  (kind(a) fr.acts)  x'.fr.var = s.fr.var [[fr.typ]] rho 18. x:Label. rel_mentions(r;x)  covers_var(A;x) 19. value(a) [[dec_lookup(A.da;kind(a))]] rho 20. 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 21. r': rel() 22. as: (Label Term) List 23. 1of(unzip(as)) = rel_primed_vars(r) 24. i: . i < ||as||  2of(as[i]) smts_eff(action_effect(kind(a);A.eff;A.frame);1of(as[i])) 25. r' = rel_subst2(as;r) 26. tc(r;A.ds;dec_lookup(A.da;kind(a));de) 27. subst_mentions_trace(as) e:eff(). e A.eff & mentions_trace(e.smt.term) |