{ 
[A:Type]
    
d:A List. 
f1:a:{a:A| (a 
 d)}  
 Top. 
x:A. 
eq:EqDecider(A).
      ((x 
 d)
      
 (
i:
||d||
           ((
j:
i. (
((fst(map(
x.<x, f1 x>d)[j])) = x)))
           
 ((fst(map(
x.<x, f1 x>d)[i])) = x)))) }
{ Proof }
Definitions occuring in Statement : 
select: l[i], 
map: map(f;as), 
length: ||as||, 
int_seg: {i..j
}, 
uall:
[x:A]. B[x], 
top: Top, 
pi1: fst(t), 
all:
x:A. B[x], 
exists:
x:A. B[x], 
not:
A, 
implies: P 
 Q, 
and: P 
 Q, 
set: {x:A| B[x]} , 
apply: f a, 
lambda:
x.A[x], 
function: x:A 
 B[x], 
pair: <a, b>, 
list: type List, 
natural_number: $n, 
universe: Type, 
equal: s = t, 
l_member: (x 
 l), 
deq: EqDecider(T)
Definitions : 
uall:
[x:A]. B[x], 
all:
x:A. B[x], 
implies: P 
 Q, 
exists:
x:A. B[x], 
member: t 
 T, 
and: P 
 Q, 
top: Top, 
int_seg: {i..j
}, 
pi1: fst(t), 
subtype: S 
 T, 
lelt: i 
 j < k, 
not:
A, 
prop:
, 
le: A 
 B, 
false: False, 
uimplies: b supposing a
Lemmas : 
l_member-first, 
l_member_wf, 
deq_wf, 
top_wf, 
int_seg_wf, 
select-map, 
length_wf1, 
le_wf, 
not_wf, 
select_wf
\mforall{}[A:Type]
    \mforall{}d:A  List.  \mforall{}f1:a:\{a:A|  (a  \mmember{}  d)\}    {}\mrightarrow{}  Top.  \mforall{}x:A.  \mforall{}eq:EqDecider(A).
        ((x  \mmember{}  d)
        {}\mRightarrow{}  (\mexists{}i:\mBbbN{}||d||
                  ((\mforall{}j:\mBbbN{}i.  (\mneg{}((fst(map(\mlambda{}x.<x,  f1  x>d)[j]))  =  x)))  \mwedge{}  ((fst(map(\mlambda{}x.<x,  f1  x>d)[i]))  =  x))))
Date html generated:
2011_08_10-AM-07_55_50
Last ObjectModification:
2011_06_18-AM-08_16_53
Home
Index