{ [A,B,C,D:Type]. [f:Id  A  B  C  D].
    (lifting-loc-3(f)  Id  bag(A)  bag(B)  bag(C)  bag(D)) }

{ Proof }



Definitions occuring in Statement :  lifting-loc-3: lifting-loc-3(f),  Id: Id,  uall: [x:A]. B[x],  member: t  T,  function: x:A  B[x],  universe: Type,  bag: bag(T)
Definitions :  natural_number: $n,  lambda: x.A[x],  select: l[i],  cons: [car / cdr],  nil: [],  Try: Error :Try,  Complete: Error :Complete,  CollapseTHEN: Error :CollapseTHEN,  Auto: Error :Auto,  equal: s = t,  member: t  T,  isect: x:A. B[x],  function: x:A  B[x],  Id: Id,  uall: [x:A]. B[x],  universe: Type,  bag: bag(T),  lifting-loc-3: lifting-loc-3(f),  axiom: Ax,  all: x:A. B[x],  lifting-loc-gen-rev: lifting-loc-gen-rev(n;bags;loc;f),  funtype: funtype(n;A;T),  quotient: x,y:A//B[x; y],  subtype_rel: A r B,  uiff: uiff(P;Q),  and: P  Q,  product: x:A  B[x],  uimplies: b supposing a,  less_than: a < b,  not: A,  ge: i  j ,  le: A  B,  strong-subtype: strong-subtype(A;B),  atom: Atom$n,  fpf: a:A fp-> B[a],  eclass: EClass(A[eo; e]),  int: ,  nat: ,  subtype: S  T,  rationals: ,  real: ,  set: {x:A| B[x]} ,  false: False,  implies: P  Q,  void: Void,  prop: ,  p-outcome: Outcome,  int_seg: {i..j},  list: type List,  lelt: i  j < k,  length: ||as||,  hd: hd(l),  tl: tl(l),  label: ...$L... t,  top: Top,  apply: f a,  permutation: permutation(T;L1;L2),  sq_type: SQType(T),  suptype: suptype(S; T),  CollapseTHENA: Error :CollapseTHENA,  path-goes-thru: x-f*-y thru i,  decidable: Dec(P),  cut-order: a (X;f) b,  collect-event: collect-event(es;X;n;v.num[v];L.P[L];e),  es-E-interface: E(X),  same-thread: same-thread(es;p;e;e'),  es-r-immediate-pred: es-r-immediate-pred(es;R;e';e),  exists: x:A. B[x],  es-fset-loc: i  locs(s),  existse-between3: e(e1,e2].P[e],  existse-between2: e[e1,e2].P[e],  alle-between2: e[e1,e2].P[e],  existse-between1: e[e1,e2).P[e],  alle-between1: e[e1,e2).P[e],  alle-le: ee'.P[e],  alle-lt: e<e'.P[e],  existse-le: ee'.P[e],  existse-before: e<e'.P[e],  es-causle: e c e',  es-le: e loc e' ,  es-locl: (e <loc e'),  es-E: E,  es-causl: (e < e'),  infix_ap: x f y,  consensus-rcv: consensus-rcv(V;A),  cs-precondition: state s may consider v in inning i,  cs-archive-blocked: in state s, ws' blocks ws from archiving v in inning i,  cs-inning-committable: in state s, inning i could commit v ,  cs-inning-committed: in state s, inning i has committed v,  cs-passed: by state s, a passed inning i without archiving a value,  cs-archived: by state s, a archived v in inning i,  cs-not-completed: in state s, a has not completed inning i,  consensus-state3: consensus-state3(T),  l_disjoint: l_disjoint(T;l1;l2),  MaName: MaName,  Knd: Knd,  IdLnk: IdLnk,  fset-closed: (s closed under fs),  fset: FSet{T},  f-subset: xs  ys,  fset-member: a  s,  dstype: dstype(TypeNames; d; a),  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,  limited-type: LimitedType,  fun-connected: y is f*(x),  l_all: (xL.P[x]),  l_exists: (xL. P[x]),  squash: T,  prime: prime(a),  reducible: reducible(a),  inject: Inj(A;B;f),  cmp-le: cmp-le(cmp;x;y),  l_contains: A  B,  nat_plus: ,  or: P  Q,  union: left + right,  guard: {T},  Unfold: Error :Unfold,  RepeatFor: Error :RepeatFor,  sqequal: s ~ t,  ycomb: Y,  eq_int: (i = j),  primrec: primrec(n;b;c)
Lemmas :  ycomb-unroll,  int_subtype_base,  decidable__equal_int,  funtype_wf,  subtype_base_sq,  subtype_rel_wf,  permutation_wf,  Id_wf,  lifting-loc-gen-rev_wf,  nat_wf,  member_wf,  length_nil,  length_cons,  non_neg_length,  length_wf1,  top_wf,  length_wf_nat,  int_seg_wf,  bag_wf,  select_wf,  le_wf,  not_wf,  false_wf

\mforall{}[A,B,C,D:Type].  \mforall{}[f:Id  {}\mrightarrow{}  A  {}\mrightarrow{}  B  {}\mrightarrow{}  C  {}\mrightarrow{}  D].
    (lifting-loc-3(f)  \mmember{}  Id  {}\mrightarrow{}  bag(A)  {}\mrightarrow{}  bag(B)  {}\mrightarrow{}  bag(C)  {}\mrightarrow{}  bag(D))


Date html generated: 2011_08_17-PM-06_07_21
Last ObjectModification: 2011_06_02-PM-06_06_51

Home Index