| Who Cites trace projection? |
|
trace_projection | Def tr | P == filter(x.P(kind(x));tr) |
| | Thm* d:Decl, tr:(d) List, P:(Label). tr | P (d) List |
|
kind |
Def kind(a) == 1of(a) |
| | Thm* d:Decl, a:(d). kind(a) Label |
|
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 |
|
pi1 |
Def 1of(t) == t.1 |
| | Thm* A:Type, B:(AType), p:(a:AB(a)). 1of(p) A |
|
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:(ABB), k:B, as:A List. reduce(f;k;as) B |