{ [T:Type]. [eq:EqDecider(T)]. [L:T List]. [i:||L||].
    mu(i@0.(eqof(eq) L[i] L[i@0])) = i supposing no_repeats(T;L) }

{ Proof }



Definitions occuring in Statement :  select: l[i],  length: ||as||,  int_seg: {i..j},  uimplies: b supposing a,  uall: [x:A]. B[x],  apply: f a,  lambda: x.A[x],  list: type List,  natural_number: $n,  int: ,  universe: Type,  equal: s = t,  no_repeats: no_repeats(T;l),  eqof: eqof(d),  deq: EqDecider(T),  mu: mu(f)
Definitions :  uall: [x:A]. B[x],  uimplies: b supposing a,  member: t  T,  and: P  Q,  assert: b,  all: x:A. B[x],  implies: P  Q,  top: Top,  subtype: S  T,  le: A  B,  not: A,  false: False,  btrue: tt,  ifthenelse: if b then t else f fi ,  true: True,  prop: ,  nat: ,  squash: T,  int_seg: {i..j},  lelt: i  j < k,  iff: P  Q,  l_member!: (x ! l),  exists: x:A. B[x],  cand: A c B
Lemmas :  mu-bound-unique,  length_wf_nat,  top_wf,  eqof_wf,  select_wf,  eqof_eq_btrue,  assert_wf,  no_repeats_wf,  int_seg_wf,  length_wf1,  deq_wf,  iff_weakening_uiff,  uiff_inversion,  deq_property,  no_repeats_member,  select_member,  le_wf

\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[L:T  List].  \mforall{}[i:\mBbbN{}||L||].
    mu(\mlambda{}i@0.(eqof(eq)  L[i]  L[i@0]))  =  i  supposing  no\_repeats(T;L)


Date html generated: 2011_08_10-AM-07_52_29
Last ObjectModification: 2011_06_18-AM-08_14_37

Home Index