2.3. Specifics
introduces: _ [ _ ], branches_, leaves_, head _, tail _ , empty-list, concatenation_ .
includes: Instant/Distinction ( tree for s , _is_ ) .
needs: Tuples .
- _ [ _ ] :: list, tree -> list .
- branches_ :: list -> tree* (total, injective) .
- leaves_ :: tree* -> leaf* (total) .
- head_ :: list -> tree (partial) .
- tail_ :: list -> list (partial) .
- empty-list : list .
- concatenation_ :: list* -> list (total, associative, unit is empty-list) .
needs: Numbers/Naturals .
(1) (l <= list) [ t <= tree ] = l&list of t* .
(2) branches list of t:tree* = t .
(3) leaves l:leaf = l ; leaves list of t:tree* = leaves t .
leaves ( ) = ( ) ; leaves (t1:tree*, t2:tree*) =
(leaves t1, leaves t2) .
(4) head l:list = component#1 branches l .
(5) tail l:list = list of components from #2 branches l .
(6) empty-list = list of ( ) .
(7) concatenation (l1:list, l2:list) = list of (branches l1, branches l2) .
(8) l1:list is l2:list = branches l1 is branches l2 ;
x:leaf is l:list = false .

WebAni |
Ani |
RAT |
AG |
Actions |
People |
Action Notation |
Data Notation
[Created by Jin Jin Yi and Ana Carla Santos. Last modified at 21 Dec 1997 by Jin Jing Yi]