{ [A:Type]. [eq:EqDecider(A)]. [B:A  Type]. [L:a:A fp-> B[a] List].
  [x:A].
    ([f:a:A fp-> B[a]]. ((L)(x) = f(x)) supposing ((x  dom(f)) and (f  L)))\000C supposing 
       ((f,gL.  x:A. (((x  dom(f))  (x  dom(g))))) and 
       (x  dom((L)))) }

{ Proof }



Definitions occuring in Statement :  fpf-join-list: (L),  fpf-ap: f(x),  fpf-dom: x  dom(f),  fpf: a:A fp-> B[a],  assert: b,  uimplies: b supposing a,  uall: [x:A]. B[x],  so_apply: x[s],  all: x:A. B[x],  not: A,  and: P  Q,  function: x:A  B[x],  list: type List,  universe: Type,  equal: s = t,  l_member: (x  l),  deq: EqDecider(T),  pairwise: (x,yL.  P[x; y])
Definitions :  nil: [],  cand: A c B,  implies: P  Q,  pair: <a, b>,  bool: ,  subtype: S  T,  lambda: x.A[x],  strong-subtype: strong-subtype(A;B),  void: Void,  false: False,  l_exists: (xL. P[x]),  exists: x:A. B[x],  decide: case b of inl(x) => s[x] | inr(y) => t[y],  ifthenelse: if b then t else f fi ,  set: {x:A| B[x]} ,  le: A  B,  ge: i  j ,  less_than: a < b,  uiff: uiff(P;Q),  subtype_rel: A r B,  top: Top,  fpf-dom: x  dom(f),  axiom: Ax,  fpf-join-list: (L),  fpf-ap: f(x),  member: t  T,  deq: EqDecider(T),  list: type List,  uall: [x:A]. B[x],  uimplies: b supposing a,  isect: x:A. B[x],  equal: s = t,  l_member: (x  l),  so_lambda: x.t[x],  so_apply: x[s],  apply: f a,  pairwise: (x,yL.  P[x; y]),  so_lambda: x y.t[x; y],  all: x:A. B[x],  function: x:A  B[x],  not: A,  and: P  Q,  product: x:A  B[x],  assert: b,  prop: ,  universe: Type,  fpf: a:A fp-> B[a],  limited-type: LimitedType,  nat: ,  int: ,  real: ,  grp_car: |g|,  select: l[i],  union: left + right,  or: P  Q,  divides: b | a,  assoced: a ~ b,  set_leq: a  b,  set_lt: a <p b,  grp_lt: a < b,  l_contains: A  B,  inject: Inj(A;B;f),  reducible: reducible(a),  prime: prime(a),  squash: T,  l_all: (xL.P[x]),  infix_ap: x f y,  fun-connected: y is f*(x),  qle: r  s,  qless: r < s,  q-rel: q-rel(r;x),  i-finite: i-finite(I),  i-closed: i-closed(I),  p-outcome: Outcome,  fset-member: a  s,  f-subset: xs  ys,  l_disjoint: l_disjoint(T;l1;l2),  fset-closed: (s closed under fs),  decidable: Dec(P),  btrue: tt,  true: True,  lelt: i  j < k,  int_seg: {i..j},  natural_number: $n,  length: ||as||,  sq_type: SQType(T),  sqequal: s ~ t,  it: ,  guard: {T}
Lemmas :  nat_wf,  set_subtype_base,  int_subtype_base,  select_wf,  subtype_base_sq,  product_subtype_base,  list_subtype_base,  squash_wf,  bool_wf,  length_wf_nat,  assert_elim,  true_wf,  ifthenelse_wf,  false_wf,  le_wf,  length_wf1,  decidable__lt,  fpf_wf,  top_wf,  member_wf,  fpf-dom_wf,  assert_wf,  not_wf,  pairwise_wf,  l_member_wf,  fpf-trivial-subtype-top,  subtype_rel_wf,  deq_wf,  uall_wf,  fpf-join-list-ap,  fpf-join-list_wf,  fpf-ap_wf

\mforall{}[A:Type].  \mforall{}[eq:EqDecider(A)].  \mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}[L:a:A  fp->  B[a]  List].  \mforall{}[x:A].
    (\mforall{}[f:a:A  fp->  B[a]].  (\moplus{}(L)(x)  =  f(x))  supposing  ((\muparrow{}x  \mmember{}  dom(f))  and  (f  \mmember{}  L)))  supposing 
          ((\mforall{}f,g\mmember{}L.    \mforall{}x:A.  (\mneg{}((\muparrow{}x  \mmember{}  dom(f))  \mwedge{}  (\muparrow{}x  \mmember{}  dom(g)))))  and 
          (\muparrow{}x  \mmember{}  dom(\moplus{}(L))))


Date html generated: 2011_08_10-AM-08_01_28
Last ObjectModification: 2011_06_18-AM-08_19_58

Home Index