{ [Info:Type]. [es:EO+(Info)]. [X:EClass(Top)]. [e:E].
    ((X)' es e ~ if first(e) then {}
    if pred(e)  X then {X(pred(e))}
    else (X)' es pred(e)
    fi ) }

{ Proof }



Definitions occuring in Statement :  es-prior-val: (X)' eclass-val: X(e) in-eclass: e  X eclass: EClass(A[eo; e]) event-ordering+: EO+(Info) es-pred: pred(e) es-first: first(e) es-E: E ifthenelse: if b then t else f fi  uall: [x:A]. B[x] top: Top apply: f a universe: Type sqequal: s ~ t single-bag: {x} empty-bag: {}
Definitions :  sqequal: s ~ t subtype: S  T top: Top event_ordering: EO es-E: E lambda: x.A[x] event-ordering+: EO+(Info) universe: Type eclass: EClass(A[eo; e]) all: x:A. B[x] function: x:A  B[x] member: t  T equal: s = t so_lambda: x y.t[x; y] uall: [x:A]. B[x] isect: x:A. B[x] bag_only_single: bag_only_single{bag_only_single_compseq_tag_def:o}(x) bag_size_single: bag_size_single{bag_size_single_compseq_tag_def:o}(x) es-pred: pred(e) bag-size: bag-size(bs) record: record(x.T[x]) es-locl: (e <loc e') sq_exists: x:{A| B[x]} or: P  Q so_lambda: x.t[x] pair: <a, b> fpf: a:A fp-B[a] strong-subtype: strong-subtype(A;B) record-select: r.x dep-isect: Error :dep-isect,  record+: record+ guard: {T} quotient: x,y:A//B[x; y] sq_type: SQType(T) bag: bag(T) bag-only: only(bs) single-bag: {x} empty-bag: {} subtype_rel: A r B bag_size_empty: bag_size_empty{bag_size_empty_compseq_tag_def:o} bfalse: ff btrue: tt decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  uimplies: b supposing a and: P  Q uiff: uiff(P;Q) eq_bool: p =b q lt_int: i <z j le_int: i z j eq_int: (i = j) eq_atom: x =a y 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') eq_atom: eq_atom$n(x;y) 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) assert: b bnot: b unit: Unit union: left + right bool: true: True squash: T es-causl: (e < e') apply: f a limited-type: LimitedType real: grp_car: |g| minus: -n add: n + m subtract: n - m void: Void false: False not: A natural_number: $n prop: le: A  B ge: i  j  int: set: {x:A| B[x]}  less_than: a < b nat: implies: P  Q product: x:A  B[x] exists: x:A. B[x] strongwellfounded: SWellFounded(R[x; y]) eclass-val: X(e) es-local-pred: last(P) local-pred-class: local-pred-class(P) es-prior-interface: prior(X) in-eclass: e  X es-prior-val: (X)'
Lemmas :  nat_wf ge_wf nat_properties es-causl-swellfnd 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 bag-only_wf single-bag_wf bag_wf ifthenelse_wf subtype_base_sq eq_int_wf bool_subtype_base isect_subtype_base es-local-pred_wf es-locl_wf set_subtype_base assert_of_eq_int bag-size_wf es-pred_wf not_functionality_wrt_uiff eclass_wf event-ordering+_wf top_wf es-E_wf event-ordering+_inc

\mforall{}[Info:Type].  \mforall{}[es:EO+(Info)].  \mforall{}[X:EClass(Top)].  \mforall{}[e:E].
    ((X)'  es  e  \msim{}  if  first(e)  then  \{\}
    if  pred(e)  \mmember{}\msubb{}  X  then  \{X(pred(e))\}
    else  (X)'  es  pred(e)
    fi  )


Date html generated: 2011_08_16-PM-05_03_44
Last ObjectModification: 2011_06_20-AM-01_09_42

Home Index