| Who Cites term mng? |
|
term_mng | Def [[t]] e s a tr
== iterate(statevar x- > s.x
statevar x'- > s.x
funsymbol f- > e.f
freevar x- > a
trace(P)- > tr.P
x(y)- > x(y)
over t) |
|
tproj |
Def tre.P == tre.trace | tre.proj(P) |
| | Thm* d:Decl, tre:trace_env(d), P:Label. tre.P ( d) List |
|
r_select |
Def r.l == r(l) |
| | Thm* d:Decl, r:{d}, l:Label. r.l d(l) |
|
trace_env_proj |
Def t.proj == 2of(t) |
| |
Thm* d:Decl, t:trace_env(d). t.proj Label Label   |
|
trace_env_trace |
Def t.trace == 1of(t) |
| |
Thm* d:Decl, t:trace_env(d). t.trace ( d) List |
|
trace_projection |
Def tr | P == filter( x.P(kind(x));tr) |
| | Thm* d:Decl, tr:( d) List, P:(Label  ). tr | P ( d) List |
|
pi2 |
Def 2of(t) == t.2 |
| |
Thm* A:Type, B:(A Type), p:(a:A B(a)). 2of(p) B(1of(p)) |
|
kind |
Def kind(a) == 1of(a) |
| | Thm* d:Decl, a:( d). kind(a) Label |
| | Thm* M:sm{i:l}(), a:M.action. kind(a) Label & kind(a) Pattern |
|
pi1 |
Def 1of(t) == t.1 |
| | Thm* A:Type, B:(A Type), p:(a:A B(a)). 1of(p) A |
|
filter |
Def filter(P;l) == reduce( a,v. if P(a) [a / v] else v fi;nil;l) |
| | Thm* T:Type, P:(T  ), l:T List. filter(P;l) T List |
|
reduce |
Def reduce(f;k;as) == Case of as; nil k ; a.as' f(a,reduce(f;k;as')) (recursive) |
| |
Thm* A,B:Type, f:(A B B), k:B, as:A List. reduce(f;k;as) B |