{ [l:IdLnk]. [p:IdLnk List].
    uiff(lpath([l / p]);lpath(p)
     (destination(l) = source(hd(p)))  ((hd(p) = lnk-inv(l))) 
      supposing (||p|| = 0)) }

{ Proof }



Definitions occuring in Statement :  lpath: lpath(p),  ldst: destination(l),  lsrc: source(l),  lnk-inv: lnk-inv(l),  IdLnk: IdLnk,  Id: Id,  hd: hd(l),  length: ||as||,  uiff: uiff(P;Q),  uimplies: b supposing a,  uall: [x:A]. B[x],  not: A,  and: P  Q,  cons: [car / cdr],  list: type List,  natural_number: $n,  int: ,  equal: s = t
Definitions :  uall: [x:A]. B[x],  uiff: uiff(P;Q),  lpath: lpath(p),  and: P  Q,  uimplies: b supposing a,  not: A,  member: t  T,  implies: P  Q,  false: False,  prop: ,  top: Top,  all: x:A. B[x],  subtype: S  T,  true: True,  iff: P  Q,  squash: T,  rev_implies: P  Q,  hd: hd(l),  select: l[i],  ifthenelse: if b then t else f fi ,  le_int: i z j,  bnot: b,  lt_int: i <z j,  bfalse: ff,  btrue: tt,  length: ||as||,  ycomb: Y,  le: A  B,  int_seg: {i..j},  sq_type: SQType(T),  guard: {T},  lelt: i  j < k,  decidable: Dec(P),  or: P  Q
Lemmas :  IdLnk_wf,  hd_wf,  length_wf1,  non_neg_length,  length_wf_nat,  top_wf,  lnk-inv_wf,  not_wf,  select_wf,  int_seg_wf,  lpath_wf,  Id_wf,  ldst_wf,  lsrc_wf,  subtype_base_sq,  int_subtype_base,  length_cons,  squash_wf,  true_wf,  select_cons_tl,  decidable__equal_int

\mforall{}[l:IdLnk].  \mforall{}[p:IdLnk  List].
    uiff(lpath([l  /  p]);lpath(p)
    \mwedge{}  (destination(l)  =  source(hd(p)))  \mwedge{}  (\mneg{}(hd(p)  =  lnk-inv(l)))  supposing  \mneg{}(||p||  =  0))


Date html generated: 2011_08_10-AM-07_46_59
Last ObjectModification: 2011_06_18-AM-08_12_27

Home Index