{ [Info:Type]. [es:EO+(Info)]. [A:Type]. [X:EClass(A)]. [Q:E(X)  ].
  [P:A  ]. [e:E(X)].
    uiff((vmapfilter(e.X(e);e'.Q[e'];(X)(e)).P[v]);e'e.(e'  X)
                                                                (Q[e'])
                                                                (P[X(e')])) }

{ Proof }



Definitions occuring in Statement :  es-interface-predecessors: (X)(e) es-E-interface: E(X) eclass-val: X(e) in-eclass: e  X eclass: EClass(A[eo; e]) event-ordering+: EO+(Info) alle-le: ee'.P[e] assert: b bool: uiff: uiff(P;Q) uall: [x:A]. B[x] so_apply: x[s] implies: P  Q lambda: x.A[x] function: x:A  B[x] universe: Type mapfilter: mapfilter(f;P;L) l_all: (xL.P[x])
Definitions :  es-locl: (e <loc e') listp: A List combination: Combination(n;T) map: map(f;as) real: grp_car: |g| int: length: ||as|| select: l[i] sq_type: SQType(T) cand: A c B nat: nil: [] filter: filter(P;l) list: type List exists: x:A. B[x] intensional-universe: IType or: P  Q guard: {T} eq_knd: a = b fpf-dom: x  dom(f) in-eclass: e  X fpf: a:A fp-B[a] eclass-val: X(e) so_apply: x[s] es-loc: loc(e) Id: Id es-interface-predecessors: (X)(e) mapfilter: mapfilter(f;P;L) strong-subtype: strong-subtype(A;B) set: {x:A| B[x]}  le: A  B ge: i  j  not: A less_than: a < b rev_implies: P  Q iff: P  Q l_member: (x  l) es-le: e loc e'  prop: so_lambda: x.t[x] pair: <a, b> l_all: (xL.P[x]) void: Void false: False true: True decide: case b of inl(x) =s[x] | inr(y) =t[y] assert: b implies: P  Q alle-le: ee'.P[e] uimplies: b supposing a product: x:A  B[x] and: P  Q uiff: uiff(P;Q) union: left + right es-E-interface: E(X) bool: subtype: S  T subtype_rel: A r B atom: Atom apply: f a top: Top token: "$token" ifthenelse: if b then t else f fi  record-select: r.x event_ordering: EO es-E: E lambda: x.A[x] so_lambda: x y.t[x; y] eclass: EClass(A[eo; e]) dep-isect: Error :dep-isect,  eq_atom: x =a y eq_atom: eq_atom$n(x;y) record+: record+ all: x:A. B[x] function: x:A  B[x] isect: x:A. B[x] uall: [x:A]. B[x] universe: Type member: t  T equal: s = t event-ordering+: EO+(Info) tactic: Error :tactic,  cond-class: [X?Y] sq_stable: SqStable(P) Knd: Knd IdLnk: IdLnk cons: [car / cdr] btrue: tt isl: isl(x) can-apply: can-apply(f;x) limited-type: LimitedType append: as @ bs hd: hd(l) last: last(L) remove-repeats: remove-repeats(eq;L) squash: T is_list_splitting: is_list_splitting(T;L;LL;L2;f) is_accum_splitting: is_accum_splitting(T;A;L;LL;L2;f;g;x) req: x = y rnonneg: rnonneg(r) rleq: x  y i-member: r  I partitions: partitions(I;p) modulus-of-ccontinuity: modulus-of-ccontinuity(omega;I;f) fpf-sub: f  g sqequal: s ~ t
Lemmas :  sq_stable__assert es-le-loc event_ordering_wf squash_wf nat_wf l_member-settype l_member_subtype member-interface-predecessors-subtype member-mapfilter implies_functionality_wrt_iff all_functionality_wrt_iff iff_functionality_wrt_iff bool_subtype_base assert_elim assert_wf es-E_wf es-le_wf alle-le_wf l_all_wf assert_witness uiff_wf l_member_wf es-interface-top member_wf eclass_wf es-E-interface_wf bool_wf event-ordering+_wf event-ordering+_inc subtype_rel_self l_all_wf2 es-interface-predecessors_wf Id_wf mapfilter_wf es-loc_wf eclass-val_wf subtype_rel_wf false_wf ifthenelse_wf in-eclass_wf true_wf rev_implies_wf iff_wf intensional-universe_wf list-subtype es-interface-val_wf2 subtype_base_sq filter_wf map_wf length_wf1

\mforall{}[Info:Type].  \mforall{}[es:EO+(Info)].  \mforall{}[A:Type].  \mforall{}[X:EClass(A)].  \mforall{}[Q:E(X)  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[P:A  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[e:E(X)].
    uiff((\mforall{}v\mmember{}mapfilter(\mlambda{}e.X(e);\mlambda{}e'.Q[e'];\mleq{}(X)(e)).\muparrow{}P[v]);\mforall{}e'\mleq{}e.(\muparrow{}e'  \mmember{}\msubb{}  X)  {}\mRightarrow{}  (\muparrow{}Q[e'])  {}\mRightarrow{}  (\muparrow{}P[X(e')]))


Date html generated: 2011_08_16-PM-05_23_03
Last ObjectModification: 2011_06_20-AM-01_22_16

Home Index