{ [T:Type]
    dT:EqDecider(T). L:T List. x,y:T.
      ((x  L)
       (y  L)
       x before y  L  (x = y) supposing index(L;x)  index(L;y)) }

{ Proof }



Definitions occuring in Statement :  l_index: index(L;x) uimplies: b supposing a uall: [x:A]. B[x] le: A  B all: x:A. B[x] implies: P  Q or: P  Q list: type List universe: Type equal: s = t l_before: x before y  l l_member: (x  l) deq: EqDecider(T)
Definitions :  uall: [x:A]. B[x] all: x:A. B[x] implies: P  Q uimplies: b supposing a le: A  B or: P  Q member: t  T not: A false: False prop: guard: {T} squash: T and: P  Q true: True top: Top subtype: S  T iff: P  Q rev_implies: P  Q int_seg: {i..j} decidable: Dec(P)
Lemmas :  l_index_wf int_seg_wf length_wf1 decidable__lt l_before_wf le_wf l_member_wf deq_wf l_before_l_index select_wf squash_wf non_neg_length length_wf_nat top_wf select_l_index

\mforall{}[T:Type]
    \mforall{}dT:EqDecider(T).  \mforall{}L:T  List.  \mforall{}x,y:T.
        ((x  \mmember{}  L)  {}\mRightarrow{}  (y  \mmember{}  L)  {}\mRightarrow{}  x  before  y  \mmember{}  L  \mvee{}  (x  =  y)  supposing  index(L;x)  \mleq{}  index(L;y))


Date html generated: 2011_08_10-AM-07_51_18
Last ObjectModification: 2011_06_18-AM-08_13_59

Home Index