{ [A,B,C:Type]. [f:Id  A  B  bag(C)]. [abag:bag(A)]. [bbag:bag(B)].
  [l:Id].
    (concat-lifting2-loc(f;abag;bbag;l)  bag(C)) }

{ Proof }



Definitions occuring in Statement :  concat-lifting2-loc: concat-lifting2-loc(f;abag;bbag;loc) 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,  Unfold: Error :Unfold,  RepeatFor: Error :RepeatFor,  CollapseTHEN: Error :CollapseTHEN,  CollapseTHENA: Error :CollapseTHENA,  Auto: Error :Auto,  member: t  T isect: x:A. B[x] bag: bag(T) uall: [x:A]. B[x] function: x:A  B[x] Id: Id universe: Type equal: s = t concat-lifting2-loc: concat-lifting2-loc(f;abag;bbag;loc) axiom: Ax all: x:A. B[x] concat-lifting-loc: concat-lifting-loc(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) decidable: Dec(P) path-goes-thru: x-f*-y thru i 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) apply: f a 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 sq_type: SQType(T) guard: {T} permutation: permutation(T;L1;L2) suptype: suptype(S; T) primrec: primrec(n;b;c) ycomb: Y sqequal: s ~ t top: Top eq_int: (i = j)
Lemmas :  ycomb-unroll funtype_wf subtype_rel_wf permutation_wf Id_wf concat-lifting-loc_wf not_wf false_wf nat_wf member_wf le_wf decidable__equal_int subtype_base_sq int_subtype_base length_wf1 int_seg_wf bag_wf select_wf

\mforall{}[A,B,C:Type].  \mforall{}[f:Id  {}\mrightarrow{}  A  {}\mrightarrow{}  B  {}\mrightarrow{}  bag(C)].  \mforall{}[abag:bag(A)].  \mforall{}[bbag:bag(B)].  \mforall{}[l:Id].
    (concat-lifting2-loc(f;abag;bbag;l)  \mmember{}  bag(C))


Date html generated: 2011_08_17-PM-06_13_18
Last ObjectModification: 2011_06_01-PM-07_56_32

Home Index