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)). bi-tree(G;to;from) Prop | [bi-tree_wf] |
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] |
Thm* G:(Id  ), to,from:(|G| (IdLnk List)). bi-graph(G;to;from) Prop | [bi-graph_wf] |
Thm* R:(Id  ), uid:(|R|  ), out,in:(|R| IdLnk).
Thm* ring(R;in;out)
Thm* 
Thm* Inj(|R|; ; uid)
Thm* 
Thm* loc. (ring-leader1(loc;R;uid;out;in))
Thm* realizes es. ldr:|R|.
Thm* realizes es. e@ldr.kind(e) = locl("leader")
Thm* realizes es.& ( i:|R|. e@i.kind(e) = locl("leader")  i = ldr |R|) | [ring-leader1__realizes] |
Thm* R:(Id  ), uid:(|R|  ), out,in:(|R| IdLnk).
Thm* ring(R;in;out)
Thm* 
Thm* Inj(|R|; ; uid)  d-feasible( loc. (ring-leader1(loc;R;uid;out;in))) | [ring-leader1__feasible] |
Thm* loc:Id, R:(Id  ), uid:(|R|  ), out,in:(|R| IdLnk).
Thm* ring(R;in;out)
Thm* 
Thm* Inj(|R|; ; uid)  ring-leader1(loc;R;uid;out;in) MsgA List | [ring-leader1_wf] |
Thm* loc:Id, R:(Id  ), uid:(|R|  ), out,in:(|R| IdLnk).
Thm* ring(R;in;out)
Thm* 
Thm* Inj(|R|; ; uid)  ( A,B ring-leader1(loc;R;uid;out;in).A ||+ B) | [ring-leader1__compatible] |
Thm* R:(Id  ), x,y:|R|. Dec(x = y) | [decidable__rset_equal] |
Thm* R:(Id  ). SQType(|R|) | [rset_sq] |
Thm* R:(Id  ), in,out:(|R| IdLnk).
Thm* ring(R;in;out)  ( L:|R| List. 0<||L|| & ( i:|R|. (i L))) | [ring-list] |
Thm* R:(Id  ), in,out:(|R| IdLnk), i,j:|R|.
Thm* ring(R;in;out)  i = p(j)  d(i;p(j)) = d(i;j)-1 | [rdist-rprev] |
Thm* R:(Id  ), in,out:(|R| IdLnk).
Thm* ring(R;in;out)  ( i,j:|R|. n(i) = n(j)  i = j) | [rnext-one-one] |
Thm* R:(Id  ), in,out:(|R| IdLnk), j:|R|. ring(R;in;out)  n(p(j)) = j | [rnext-rprev] |
Thm* R:(Id  ), in,out:(|R| IdLnk), i,j:|R|.
Thm* ring(R;in;out)
Thm* 
Thm* x.n(x)^d(i;j)(i) = j & ( k: . k<d(i;j)   x.n(x)^k(i) = j) | [rdist-property] |
Thm* R:(Id  ), in,out:(|R| IdLnk), i,j:|R|. ring(R;in;out)  d(i;j)   | [rdist_wf] |
Thm* R:(Id  ), in,out:(|R| IdLnk), i:|R|. ring(R;in;out)  p(i) |R| | [rprev_wf] |
Thm* R:(Id  ), in,out:(|R| IdLnk), i:|R|. ring(R;in;out)  n(i) |R| | [rnext_wf] |
Thm* R:(Id  ), in,out:(|R| IdLnk). ring(R;in;out) Prop | [ring_wf] |
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] |
Def Edge(G) == {l:IdLnk| i:|G|. (l from(i)) } | [bi-graph-edge] |
Def bi-graph(G;to;from)
Def == i:|G|.
Def == ( l to(i).destination(l) = i
Def == & (G(source(l)))
Def == & (l from(source(l)))
Def == & (lnk-inv(l) from(i)))
Def == & ( l from(i).source(l) = i
Def == & & (G(destination(l)))
Def == & & (l to(destination(l)))
Def == & & (lnk-inv(l) to(i))) | [bi-graph] |
Def ring(R;in;out)
Def == ( i:|R|.
Def == ( (R(source(in(i)))) & (R(destination(out(i))))
Def == (& source(out(i)) = i
Def == (& & destination(in(i)) = i
Def == (& & in(destination(out(i))) = out(i) IdLnk
Def == (& & out(source(in(i))) = in(i) IdLnk)
Def == & ( i,j:|R|. k: . x.destination(out(x))^k(i) = j Id)
Def == & |R| | [ring] |