| Who Cites es-interval? |
|
es-interval | Def [e, e'] == filter( ev.es-ble{i:l}(es;e;ev);before(e') @ [e']) |
|
es-before | Def before(e) == if first(e) nil else before(pred(e)) @ [pred(e)] fi
Def (recursive) |
|
append | Def as @ bs == Case of as; nil bs ; a.as' [a / (as' @ bs)] (recursive) |
| | Thm* T:Type, as,bs:T List. (as @ bs) T List |
|
es-ble | Def es-ble{i:l}(es;e;e')
Def == InjCase(decidable__es_DASH_le{1:l, i:l}(es,e',e); x. true , false ) |
|
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 |
|
es-pred | Def pred(e)
Def == 1of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(
Def == 1of(es))))))))))))))))
Def == (e) |
|
es-first | Def first(e)
Def == 1of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(2of(
Def == 1of(es)))))))))))))))
Def == (e) |
|
reduce | Def reduce(f;k;as) == Case of as; nil k ; a.as' f(a,reduce(f;k;as'))
Def (recursive) |
| | Thm* A,B:Type, f:(A B B), k:B, as:A List. reduce(f;k;as) B |
|
pi2 | Def 2of(t) == t.2 |
| | Thm* A:Type, B:(A Type), p:(a:A B(a)). 2of(p) B(1of(p)) |
|
pi1 | Def 1of(t) == t.1 |
| | Thm* A:Type, B:(A Type), p:(a:A B(a)). 1of(p) A |