{ [Info,B,C:Type]. [f:B  bag(C)]. [X:EClass(B)]. [es:EO+(Info)]. [e:E].
  [v:C].
    uiff(v  a.concat-lifting1(f;a)|X|(e);b:B
                                             (b  X(e)  bag-member(C;v;f b))) }

{ Proof }



Definitions occuring in Statement :  concat-lifting1: concat-lifting1(f;bag) simple-comb1: x.F[x]|X| classrel: v  X(e) eclass: EClass(A[eo; e]) event-ordering+: EO+(Info) es-E: E uiff: uiff(P;Q) uall: [x:A]. B[x] exists: x:A. B[x] squash: T and: P  Q apply: f a function: x:A  B[x] universe: Type bag-member: bag-member(T;x;bs) bag: bag(T)
Lemmas :  simple-comb_wf uiff_wf true_wf bag_qinc l_member_wf pos_length2 single-bag_wf bag-combine_wf bag-member-union bag-member-combine bag-member-single rev_implies_wf iff_wf permutation_wf intensional-universe_wf int_subtype_base subtype_base_sq decidable__equal_int subtype_rel_self es-base-E_wf int_seg_properties es-interface-subtype_rel2 false_wf not_wf le_wf member_wf nat_wf select_wf es-E_wf event-ordering+_wf eclass_wf event-ordering+_inc int_seg_wf length_wf_nat top_wf length_wf1 non_neg_length length_cons length_nil simple-comb-concat-classrel bag_wf subtype_rel_wf es-interface-top concat-lifting1_wf bag-member_wf squash_wf simple-comb1_wf classrel_wf

\mforall{}[Info,B,C:Type].  \mforall{}[f:B  {}\mrightarrow{}  bag(C)].  \mforall{}[X:EClass(B)].  \mforall{}[es:EO+(Info)].  \mforall{}[e:E].  \mforall{}[v:C].
    uiff(v  \mmember{}  \mlambda{}a.concat-lifting1(f;a)|X|(e);\mdownarrow{}\mexists{}b:B.  (b  \mmember{}  X(e)  \mwedge{}  bag-member(C;v;f  b)))


Date html generated: 2011_08_17-PM-06_20_23
Last ObjectModification: 2011_07_21-PM-04_27_10

Home Index