{ [Info,T:Type]. [G:es:EO+(Info)  E  bag(T)]. [F:es:EO+(Info)
                                                         e':E
                                                         T
                                                         {e:E| (e' <loc e)} 
                                                         bag(T)].
    (RecClass(first e
                G[es;e]
              or next e after e' with value v
                  F[es;e';v;e])  EClass(T)) }

{ Proof }



Definitions occuring in Statement :  es-rec-class: es-rec-class eclass: EClass(A[eo; e]) event-ordering+: EO+(Info) es-locl: (e <loc e') es-E: E uall: [x:A]. B[x] so_apply: x[s1;s2;s3;s4] so_apply: x[s1;s2] member: t  T set: {x:A| B[x]}  function: x:A  B[x] universe: Type bag: bag(T)
Definitions :  es-local-pred: last(P) let: let local-pred-class: local-pred-class(P) eclass-val: X(e) true: True squash: T es-causl: (e < e') limited-type: LimitedType real: grp_car: |g| minus: -n add: n + m subtract: n - m false: False natural_number: $n int: nat: implies: P  Q exists: x:A. B[x] strongwellfounded: SWellFounded(R[x; y]) es-E-interface: E(X) es-prior-interface: prior(X) in-eclass: e  X record-select: r.x decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  assert: b eq_atom: x =a y eq_atom: eq_atom$n(x;y) dep-isect: Error :dep-isect,  record+: record+ void: Void lambda: x.A[x] ycomb: Y prop: subtype: S  T fpf: a:A fp-B[a] strong-subtype: strong-subtype(A;B) le: A  B ge: i  j  not: A less_than: a < b uimplies: b supposing a product: x:A  B[x] and: P  Q uiff: uiff(P;Q) subtype_rel: A r B all: x:A. B[x] so_lambda: x y.t[x; y] axiom: Ax so_apply: x[s1;s2;s3;s4] apply: f a so_apply: x[s1;s2] es-rec-class: es-rec-class eclass: EClass(A[eo; e]) equal: s = t universe: Type uall: [x:A]. B[x] isect: x:A. B[x] member: t  T bag: bag(T) set: {x:A| B[x]}  es-locl: (e <loc e') event-ordering+: EO+(Info) es-E: E event_ordering: EO top: Top function: x:A  B[x] intensional-universe: IType cand: A c B atom: Atom es-base-E: es-base-E(es) token: "$token" es-loc: loc(e) so_apply: x[s] l_member: (x  l) inr: inr x  bag_size_empty: bag_size_empty{bag_size_empty_compseq_tag_def:o} pair: <a, b> guard: {T} sq_type: SQType(T) Id: Id inl: inl x  bag-only: only(bs) 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) infix_ap: x f y bool: bag-size: bag-size(bs) eq_int: (i = j) or: P  Q union: left + right sq_exists: x:{A| B[x]} Auto: Error :Auto,  CollapseTHEN: Error :CollapseTHEN,  MaAuto: Error :MaAuto,  Try: Error :Try,  Complete: Error :Complete,  D: Error :D,  THENM: Error :THENM,  CollapseTHENA: Error :CollapseTHENA,  quotient: x,y:A//B[x; y] null: null(as) set_blt: a < b grp_blt: a < b 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' bnot: b bimplies: p  q band: p  q bor: p q
Lemmas :  assert_of_eq_int assert_wf not_wf eq_int_wf bag-size_wf subtype_rel_wf es-local-pred_wf bool_wf bag-only_wf Id_wf es-local-pred_wf2 es-base-E_wf subtype_rel_self intensional-universe_wf false_wf es-E_wf bag_wf member_wf top_wf event-ordering+_wf event-ordering+_inc es-locl_wf eclass_wf ifthenelse_wf in-eclass_wf es-causl-swellfnd nat_wf nat_properties ge_wf le_wf es-causl_wf

\mforall{}[Info,T:Type].  \mforall{}[G:es:EO+(Info)  {}\mrightarrow{}  E  {}\mrightarrow{}  bag(T)].  \mforall{}[F:es:EO+(Info)
                                                                                                            {}\mrightarrow{}  e':E
                                                                                                            {}\mrightarrow{}  T
                                                                                                            {}\mrightarrow{}  \{e:E|  (e'  <loc  e)\} 
                                                                                                            {}\mrightarrow{}  bag(T)].
    (RecClass(first  e
                            G[es;e]
                        or  next  e  after  e'  with  value  v
                                F[es;e';v;e])  \mmember{}  EClass(T))


Date html generated: 2011_08_16-PM-05_02_36
Last ObjectModification: 2011_06_20-AM-01_09_12

Home Index