{ 
[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