Thm* T:(Id  ), to,from:(|T| (IdLnk List)), f:(Edge(T)  ).
Thm* bi-tree(T;to;from)
Thm* 
Thm* spanner(f;T;to;from)
Thm* 
Thm* ( i,j:|T|.
Thm* (spanner-root(f;T;to;from;i)  spanner-root(f;T;to;from;j)  i = j) | [spanner-root-unique] |
Thm* T:(Id  ), to,from:(|T| (IdLnk List)), f:(Edge(T)  ).
Thm* bi-tree(T;to;from)
Thm* 
Thm* spanner(f;T;to;from)  ( i:|T|. spanner-root(f;T;to;from;i)) | [spanner-root-exists] |
Thm* T:(Id  ), to,from:(|T| (IdLnk List)), f:(Edge(T)  ).
Thm* bi-graph(T;to;from)  spanner(f;T;to;from) Prop | [spanner_wf] |
Thm* T:(Id  ), to,from:(|T| (IdLnk List)).
Thm* bi-tree(T;to;from)  ( n: . p:Edge(T) List. lpath(p)  ||p|| n) | [bi-tree-diameter] |
Thm* G:(Id  ), to,from:(|G| (IdLnk List)), e:Edge(G), i:|G|.
Thm* bi-graph(G;to;from)  ((inverse(e) from(i))  destination(e) = i) | [edge-inv-from] |
Thm* G:(Id  ), to,from:(|G| (IdLnk List)), e:Edge(G), i:|G|.
Thm* bi-graph(G;to;from)  ((inverse(e) to(i))  source(e) = i) | [edge-inv-to] |
Thm* G:(Id  ), to,from:(|G| (IdLnk List)), e:Edge(G), i:|G|.
Thm* bi-graph(G;to;from)  ((e from(i))  source(e) = i) | [edge-from] |
Thm* G:(Id  ), to,from:(|G| (IdLnk List)), e:Edge(G), i:|G|.
Thm* bi-graph(G;to;from)  ((e to(i))  destination(e) = i) | [edge-to] |
Thm* G:(Id  ), to,from:(|G| (IdLnk List)), l:Edge(G).
Thm* bi-graph(G;to;from)  inverse(l) Edge(G) | [bi-graph-inv_wf] |
Thm* G:(Id  ), to,from:(|G| (IdLnk List)), i:|G|.
Thm* bi-graph(G;to;from)  from(i) Edge(G) List | [bi-graph-from_wf] |
Thm* G:(Id  ), to,from:(|G| (IdLnk List)), i:|G|.
Thm* bi-graph(G;to;from)  to(i) Edge(G) List | [bi-graph-to_wf] |
Thm* T:(Id  ), to,from:(|T| (IdLnk List)), u:Edge(T).
Thm* bi-graph(T;to;from)  destination(u) |T| | [dst-edge] |
Thm* T:(Id  ), to,from:(|T| (IdLnk List)), u:Edge(T).
Thm* bi-graph(T;to;from)  source(u) |T| | [src-edge] |
Thm* G:(Id  ), to,from:(|G| (IdLnk List)), l:Edge(G).
Thm* bi-graph(G;to;from)  lnk-inv(l) Edge(G) | [inv-is-edge] |
Def spanner-root(f;T;to;from;i) == l:Edge(T). (l to(i))  (f(l)) | [spanner-root] |
Def spanner(f;T;to;from)
Def == ( l:Edge(T). f(l) =  f(inverse(l)))
Def == & ( i:|T|, l1,l2:Edge(T).
Def == & ((l1 to(i))
Def == & (
Def == & ((l2 to(i))  l1 = l2 IdLnk  (f(l1)) (f(l2))) | [spanner] |
Def bi-tree(T;to;from)
Def == bi-graph(T;to;from)
Def == & ( i,j:|T|.
Def == & ( p:Edge(T) List.
Def == & (lconnects(p;i;j) & ( q:Edge(T) List. lconnects(q;i;j)  q = p))
Def == & ( L:|T| List. i:|T|. (i L))
Def == & |T| | [bi-tree] |