{ [T:Type]. [eq:EqDecider(T)]. [a,b:T List].
    l_disjoint(T;a;b) supposing l_disjoint(T;b;l_intersection(eq;a;b)) }

{ Proof }



Definitions occuring in Statement :  l_intersection: l_intersection(eq;L1;L2),  uimplies: b supposing a,  uall: [x:A]. B[x],  list: type List,  universe: Type,  l_disjoint: l_disjoint(T;l1;l2),  deq: EqDecider(T)
Definitions :  rev_implies: P  Q,  iff: P  Q,  nat: ,  cand: A c B,  exists: x:A. B[x],  strong-subtype: strong-subtype(A;B),  equal: s = t,  le: A  B,  ge: i  j ,  less_than: a < b,  uiff: uiff(P;Q),  assert: b,  set: {x:A| B[x]} ,  subtype_rel: A r B,  l_intersection: l_intersection(eq;L1;L2),  l_member: (x  l),  product: x:A  B[x],  and: P  Q,  universe: Type,  not: A,  implies: P  Q,  false: False,  void: Void,  deq: EqDecider(T),  uall: [x:A]. B[x],  list: type List,  uimplies: b supposing a,  prop: ,  isect: x:A. B[x],  l_disjoint: l_disjoint(T;l1;l2),  all: x:A. B[x],  lambda: x.A[x],  function: x:A  B[x],  member: t  T,  Auto: Error :Auto,  CollapseTHEN: Error :CollapseTHEN,  ParallelOp: Error :ParallelOp,  RepeatFor: Error :RepeatFor
Lemmas :  l_disjoint_wf,  l_intersection_wf,  deq_wf,  not_wf,  false_wf,  l_member_wf,  nat_wf,  member-intersection

\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[a,b:T  List].
    l\_disjoint(T;a;b)  supposing  l\_disjoint(T;b;l\_intersection(eq;a;b))


Date html generated: 2011_08_10-AM-07_49_17
Last ObjectModification: 2011_06_18-AM-08_13_27

Home Index