{ [Info:Type]. [es:EO+(Info)]. [X:EClass(Top)]. [e:E].
    (Prior(X) es e ~ if first(e) then {}
    if 0 <z bag-size(X es pred(e)) then X es pred(e)
    else Prior(X) es pred(e)
    fi ) }

{ Proof }



Definitions occuring in Statement :  primed-class: Prior(X) eclass: EClass(A[eo; e]) event-ordering+: EO+(Info) es-pred: pred(e) es-first: first(e) es-E: E lt_int: i <z j ifthenelse: if b then t else f fi  uall: [x:A]. B[x] top: Top apply: f a natural_number: $n universe: Type sqequal: s ~ t bag-size: bag-size(bs) empty-bag: {}
Definitions :  es-pred: pred(e) bag-size: bag-size(bs) es-locl: (e <loc e') sq_exists: x:{A| B[x]} or: P  Q bfalse: ff btrue: tt eq_bool: p =b q lt_int: i <z j le_int: i z j eq_int: (i = j) null: null(as) set_blt: a < b grp_blt: a < b infix_ap: x f y dcdr-to-bool: [d] bl-all: (xL.P[x])_b bl-exists: (xL.P[x])_b b-exists: (i<n.P[i])_b eq_type: eq_type(T;T') qeq: qeq(r;s) q_less: q_less(r;s) q_le: q_le(r;s) deq-member: deq-member(eq;x;L) deq-disjoint: deq-disjoint(eq;as;bs) deq-all-disjoint: deq-all-disjoint(eq;ass;bs) eq_id: a = b eq_lnk: a = b es-eq-E: e = e' es-bless: e <loc e' es-ble: e loc e' bimplies: p  q band: p  q bor: p q es-first: first(e) bnot: b unit: Unit union: left + right bool: true: True squash: T es-causl: (e < e') limited-type: LimitedType real: grp_car: |g| minus: -n add: n + m subtract: n - m void: Void false: False natural_number: $n prop: int: nat: implies: P  Q exists: x:A. B[x] strongwellfounded: SWellFounded(R[x; y]) es-local-pred: last(P) lambda: x.A[x] subtype: S  T equal: s = t strong-subtype: strong-subtype(A;B) record-select: r.x eq_atom: x =a y eq_atom: eq_atom$n(x;y) set: {x:A| B[x]}  decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  assert: b dep-isect: Error :dep-isect,  record+: record+ le: A  B ge: i  j  not: A less_than: a < b product: x:A  B[x] and: P  Q uiff: uiff(P;Q) quotient: x,y:A//B[x; y] sq_type: SQType(T) uimplies: b supposing a bag: bag(T) top: Top primed-class: Prior(X) apply: f a subtype_rel: A r B function: x:A  B[x] all: x:A. B[x] universe: Type event_ordering: EO es-E: E event-ordering+: EO+(Info) sqequal: s ~ t uall: [x:A]. B[x] so_lambda: x y.t[x; y] eclass: EClass(A[eo; e]) member: t  T isect: x:A. B[x] RepeatFor: Error :RepeatFor,  CollapseTHEN: Error :CollapseTHEN,  Unfold: Error :Unfold,  RepUR: Error :RepUR,  Auto: Error :Auto,  tactic: Error :tactic
Lemmas :  es-E_wf nat_wf ge_wf nat_properties event-ordering+_inc es-causl-swellfnd event-ordering+_wf top_wf eclass_wf subtype_base_sq bag_wf primed-class_wf le_wf member_wf es-causl_wf bool_wf eqtt_to_assert assert_wf not_wf uiff_transitivity eqff_to_assert assert_of_bnot bnot_wf es-first_wf es-local-pred_wf es-locl_wf ifthenelse_wf assert_of_lt_int bag-size_wf es-pred_wf assert_functionality_wrt_uiff bnot_of_lt_int assert_of_le_int le_int_wf lt_int_wf

\mforall{}[Info:Type].  \mforall{}[es:EO+(Info)].  \mforall{}[X:EClass(Top)].  \mforall{}[e:E].
    (Prior(X)  es  e  \msim{}  if  first(e)  then  \{\}
    if  0  <z  bag-size(X  es  pred(e))  then  X  es  pred(e)
    else  Prior(X)  es  pred(e)
    fi  )


Date html generated: 2011_08_16-PM-05_04_11
Last ObjectModification: 2011_06_20-AM-01_09_49

Home Index