{ [A:Type]. [eq:EqDecider(A)]. [f,g:a:A fp-> Top]. [L:A List].
    uiff(l_disjoint(A;fst(f  g);L);l_disjoint(A;fst(f);L)
     l_disjoint(A;fst(g);L)) }

{ Proof }



Definitions occuring in Statement :  fpf-join: f  g,  fpf: a:A fp-> B[a],  uiff: uiff(P;Q),  uall: [x:A]. B[x],  top: Top,  pi1: fst(t),  and: P  Q,  list: type List,  universe: Type,  l_disjoint: l_disjoint(T;l1;l2),  deq: EqDecider(T)
Definitions :  l_intersection: l_intersection(eq;L1;L2),  append: as @ bs,  cons: [car / cdr],  nil: [],  cand: A c B,  apply: f a,  so_apply: x[s],  union: left + right,  or: P  Q,  rev_implies: P  Q,  fpf-join: f  g,  subtype: S  T,  guard: {T},  strong-subtype: strong-subtype(A;B),  le: A  B,  ge: i  j ,  less_than: a < b,  subtype_rel: A r B,  pi1: fst(t),  iff: P  Q,  l_member: (x  l),  prop: ,  pair: <a, b>,  void: Void,  false: False,  implies: P  Q,  not: A,  l_disjoint: l_disjoint(T;l1;l2),  uimplies: b supposing a,  and: P  Q,  uiff: uiff(P;Q),  list: type List,  product: x:A  B[x],  lambda: x.A[x],  set: {x:A| B[x]} ,  assert: b,  all: x:A. B[x],  function: x:A  B[x],  isect: x:A. B[x],  uall: [x:A]. B[x],  fpf: a:A fp-> B[a],  so_lambda: x.t[x],  top: Top,  universe: Type,  member: t  T,  deq: EqDecider(T),  equal: s = t,  tactic: Error :tactic,  btrue: tt,  sq_type: SQType(T),  bool: ,  true: True,  decide: case b of inl(x) => s[x] | inr(y) => t[y],  ifthenelse: if b then t else f fi ,  fpf-dom: x  dom(f),  tag-by: zT,  record+: record+,  record: record(x.T[x]),  fset: FSet{T},  isect2: T1  T2,  b-union: A  B,  fpf-sub: f  g,  fpf-cap: f(x)?z
Lemmas :  false_wf,  ifthenelse_wf,  true_wf,  fpf-join-dom,  subtype_base_sq,  bool_subtype_base,  bool_wf,  assert_elim,  assert_wf,  fpf-dom_wf,  l_disjoint-fpf-dom,  member_wf,  top_wf,  fpf_wf,  fpf-trivial-subtype-top,  subtype_rel_wf,  l_member_wf,  pi1_wf_top,  l_disjoint_wf,  uiff_wf,  deq_wf,  fpf-join_wf,  not_wf,  rev_implies_wf,  iff_wf,  uiff_inversion

\mforall{}[A:Type].  \mforall{}[eq:EqDecider(A)].  \mforall{}[f,g:a:A  fp->  Top].  \mforall{}[L:A  List].
    uiff(l\_disjoint(A;fst(f  \moplus{}  g);L);l\_disjoint(A;fst(f);L)  \mwedge{}  l\_disjoint(A;fst(g);L))


Date html generated: 2011_08_10-AM-08_11_25
Last ObjectModification: 2011_06_18-AM-08_26_50

Home Index