WhoCites Definitions graph 1 3 Sections Graphs Doc

Who Cites adjm-obj?
adjm-objDef adjm-obj{\\\\v:l,i:l}(M) == mkgraphobj(x,y. x =M= y, ext{assert_eq_adjm}(M), f,s,x. adjm-edge-accum(M;s',x'.f(s',x');s;x), ext{adjm_DASH_edge_DASH_accum_DASH_properties}{i:l}(M), f,s. adjm-vertex-accum(M;s',x'.f(s',x');s), ext{adjm_DASH_vertex_DASH_accum_DASH_properties}{i:l}(M), )
adjm-vertex-accum Def adjm-vertex-accum(M;s',x.f(s';x);s) == primrec(M.size;s;x,s'. f(s';x))
adjm-edge-accum Def adjm-edge-accum(M;s',x'.f(s';x');s;x) == primrec(M.size;s;y,s'. if M.adj(x,y) f(s';y) else s' fi)
eq_adjm Def x =M= y == x=y
Thm* M:AdjMatrix, x,y:Vertices(adjm-graph(M)). x =M= y
mkgraphobj Def mkgraphobj(eq, eqw, eacc, eaccw, vacc, vaccw, other) == < eq,eqw,eacc,eaccw,vacc,vaccw,other >
Thm* For any graph eq:(VV), eqw:(x,y:V. eq(x,y) x = y), eacc:(T:Type. (TVT)TVT), eaccw:(T:Type, s:T, x:V, f:(TVT). L:V List. (y:V. x-the_graph- > y (y L)) & eacc(f,s,x) = list_accum(s',x'.f(s',x');s;L)), vacc:(T:Type. (TVT)TT), vaccw:(T:Type, s:T, f:(TVT). L:V List. no_repeats(V;L) & (y:V. (y L)) & vacc(f,s) = list_accum(s',x'.f(s',x');s;L)), other:Top. mkgraphobj(eq, eqw, eacc, eaccw, vacc, vaccw, other) GraphObject(the_graph)
adjm_size Def t.size == 1of(t)
Thm* t:AdjMatrix. t.size
primrec Def primrec(n;b;c) == if n=0 b else c(n-1,primrec(n-1;b;c)) fi (recursive)
Thm* T:Type, n:, b:T, c:(nTT). primrec(n;b;c) T
adjm_adj Def t.adj == 2of(t)
Thm* t:AdjMatrix. t.adj t.sizet.size
eq_int Def i=j == if i=j true ; false fi
Thm* i,j:. (i=j)
pi1 Def 1of(t) == t.1
Thm* A:Type, B:(AType), p:(a:AB(a)). 1of(p) A
pi2 Def 2of(t) == t.2
Thm* A:Type, B:(AType), p:(a:AB(a)). 2of(p) B(1of(p))

Syntax:adjm-obj{\\\\v:l,i:l}(M) has structure: adjm-obj{\\v:l,i:l}(M)

About:
pairspreadspreadproductlistboolbfalsebtrueifthenelseassertitint
natural_numbersubtractint_eqisectlambdaapplyfunction
recursive_def_noticeuniverseequalmembertopandallexists
!abstraction

WhoCites Definitions graph 1 3 Sections Graphs Doc