{ [T:Type]. ((x,y:T.  Dec(x = y))  (L:T List. |{x:T| (x  L)} |  ||L||)) }

{ Proof }



Definitions occuring in Statement :  length: ||as|| decidable: Dec(P) uall: [x:A]. B[x] all: x:A. B[x] implies: P  Q set: {x:A| B[x]}  list: type List universe: Type equal: s = t l_member: (x  l) cardinality-le: |T|  n
Definitions :  tactic: Error :tactic,  Auto: Error :Auto,  CollapseTHEN: Error :CollapseTHEN,  MaAuto: Error :MaAuto,  l_member: (x  l) set: {x:A| B[x]}  function: x:A  B[x] int_seg: {i..j} surject: Surj(A;B;f) product: x:A  B[x] exists: x:A. B[x] cardinality-le: |T|  n universe: Type all: x:A. B[x] list: type List prop: equal: s = t decidable: Dec(P) implies: P  Q isect: x:A. B[x] uall: [x:A]. B[x] subtype_rel: A r B uiff: uiff(P;Q) and: P  Q uimplies: b supposing a less_than: a < b not: A ge: i  j  le: A  B or: P  Q union: left + right strong-subtype: strong-subtype(A;B) member: t  T limited-type: LimitedType bool: nil: [] nat: cand: A c B sq_stable: SqStable(P) squash: T modulus-of-ccontinuity: modulus-of-ccontinuity(omega;I;f) partitions: partitions(I;p) i-member: r  I rleq: x  y rnonneg: rnonneg(r) req: x = y is_accum_splitting: is_accum_splitting(T;A;L;LL;L2;f;g;x) is_list_splitting: is_list_splitting(T;L;LL;L2;f) assert: b valueall-type: valueall-type(T) value-type: value-type(T) no_repeats: no_repeats(T;l) prime_ideal_p: IsPrimeIdeal(R;P) integ_dom_p: IsIntegDom(r) grp_leq: a  b monoid_hom_p: IsMonHom{M1,M2}(f) group_p: IsGroup(T;op;id;inv) monoid_p: IsMonoid(T;op;id) monot: monot(T;x,y.R[x; y];f) cancel: Cancel(T;S;op) fun_thru_2op: FunThru2op(A;B;opa;opb;f) fun_thru_1op: fun_thru_1op(A;B;opa;opb;f) dist_1op_2op_lr: Dist1op2opLR(A;1op;2op) action_p: IsAction(A;x;e;S;f) bilinear_p: IsBilinear(A;B;C;+a;+b;+c;f) bilinear: BiLinear(T;pl;tm) inverse: Inverse(T;op;id;inv) comm: Comm(T;op) assoc: Assoc(T;op) ident: Ident(T;op;id) coprime: CoPrime(a,b) uconnex: uconnex(T; x,y.R[x; y]) connex: Connex(T;x,y.R[x; y]) uanti_sym: UniformlyAntiSym(T;x,y.R[x; y]) anti_sym: AntiSym(T;x,y.R[x; y]) utrans: UniformlyTrans(T;x,y.E[x; y]) trans: Trans(T;x,y.E[x; y]) usym: UniformlySym(T;x,y.E[x; y]) sym: Sym(T;x,y.E[x; y]) urefl: UniformlyRefl(T;x,y.E[x; y]) refl: Refl(T;x,y.E[x; y]) eqfun_p: IsEqFun(T;eq) inject: Inj(A;B;f) inv_funs: InvFuns(A;B;f;g) uni_sat: a = !x:T. Q[x] iff: P  Q fset-closed: (s closed under fs) f-subset: xs  ys fset-member: a  s p-outcome: Outcome i-closed: i-closed(I) i-finite: i-finite(I) sq_exists: x:{A| B[x]} q-rel: q-rel(r;x) qless: r < s qle: r  s fun-connected: y is f*(x) infix_ap: x f y apply: f a l_all: (xL.P[x]) l_exists: (xL. P[x]) l_disjoint: l_disjoint(T;l1;l2) prime: prime(a) reducible: reducible(a) l_contains: A  B IdLnk: IdLnk Id: Id fset: FSet{T} dstype: dstype(TypeNames; d; a) atom: Atom$n rationals: nat_plus: so_lambda: x.t[x] true: True select: l[i] remove-repeats: remove-repeats(eq;L) last: last(L) hd: hd(l) cons: [car / cdr]
Lemmas :  l_member-set decidable__equal_set decidable__l_member sq_stable_from_decidable cardinality-le_wf surject_wf int_seg_wf decidable_wf list-cardinality-le member_wf subtype_rel_wf list-subtype nat_wf l_member_wf

\mforall{}[T:Type].  ((\mforall{}x,y:T.    Dec(x  =  y))  {}\mRightarrow{}  (\mforall{}L:T  List.  |\{x:T|  (x  \mmember{}  L)\}  |  \mleq{}  ||L||))


Date html generated: 2011_08_10-AM-07_48_44
Last ObjectModification: 2011_06_18-AM-08_13_09

Home Index