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