{ [Info,T:Type].
    S:Id List. G:Graph(S). F:information-flow(T;S). es:EO+(Info).
    X:EClass(T). e:E(X). i:Id.
      ((i  S)
       es-interface-locs-list(es;X;S)
       flow-graph(S;T;F;G)
       (loc(e)i)G supposing information-flow-relation(es;X;F;e;i)) }

{ Proof }



Definitions occuring in Statement :  information-flow-relation: information-flow-relation(es;X;F;e;i) es-interface-locs-list: es-interface-locs-list(es;X;S) es-E-interface: E(X) eclass: EClass(A[eo; e]) event-ordering+: EO+(Info) flow-graph: flow-graph(S;T;F;G) information-flow: information-flow(T;S) es-loc: loc(e) id-graph-edge: (ij)G id-graph: Graph(S) Id: Id uimplies: b supposing a uall: [x:A]. B[x] all: x:A. B[x] implies: P  Q list: type List universe: Type l_member: (x  l)
Definitions :  lambda: x.A[x] axiom: Ax int: unit: Unit fpf: a:A fp-B[a] le: A  B ge: i  j  event_ordering: EO es-E: E es-loc: loc(e) es-interface-predecessors: (X)(e) strong-subtype: strong-subtype(A;B) eq_atom: x =a y eq_atom: eq_atom$n(x;y) atom: Atom$n dep-isect: Error :dep-isect,  record+: record+ null: null(as) not: A and: P  Q uiff: uiff(P;Q) subtype_rel: A r B subtype: S  T suptype: suptype(S; T) length: ||as|| natural_number: $n less_than: a < b union: left + right apply: f a eclass-vals: X(L) bool: can-apply: can-apply(f;x) void: Void false: False true: True decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  assert: b nat: product: x:A  B[x] exists: x:A. B[x] id-graph-edge: (ij)G set: {x:A| B[x]}  information-flow-relation: information-flow-relation(es;X;F;e;i) isect: x:A. B[x] uimplies: b supposing a flow-graph: flow-graph(S;T;F;G) uall: [x:A]. B[x] equal: s = t member: t  T universe: Type list: type List id-graph: Graph(S) information-flow: information-flow(T;S) event-ordering+: EO+(Info) eclass: EClass(A[eo; e]) so_lambda: x y.t[x; y] es-E-interface: E(X) top: Top all: x:A. B[x] l_member: (x  l) Id: Id prop: implies: P  Q function: x:A  B[x] es-interface-locs-list: es-interface-locs-list(es;X;S) Auto: Error :Auto,  Complete: Error :Complete,  Try: Error :Try,  CollapseTHENA: Error :CollapseTHENA,  CollapseTHEN: Error :CollapseTHEN,  tactic: Error :tactic,  isl: isl(x) fpf-dom: x  dom(f) rcv: rcv(l,tg) locl: locl(a) Knd: Knd proper-iseg: L1 < L2 iseg: l1  l2 add: n + m l_exists: (xL. P[x]) multiply: n * m gt: i > j map: map(f;as) nil: [] tag-by: zT rev_implies: P  Q or: P  Q iff: P  Q record: record(x.T[x]) fset: FSet{T} isect2: T1  T2 b-union: A  B fpf-sub: f  g deq: EqDecider(T) ma-state: State(ds) real: grp_car: |g| class-program: ClassProgram(T) fpf-cap: f(x)?z sqequal: s ~ t sq_type: SQType(T) pair: <a, b> guard: {T} atom: Atom es-base-E: es-base-E(es) token: "$token" record-select: r.x cand: A c B MaAuto: Error :MaAuto,  Unfold: Error :Unfold
Lemmas :  length-es-interface-vals es-interface-predecessors-nonempty nat_wf length_wf1 es-base-E_wf subtype_rel_self subtype_rel_function length_wf_nat pos-length not_wf equal-nil-sq-nil l_member_length non_neg_length subtype_rel_sum isl_wf top_wf member_wf member_null Id_wf pos_length2 can-apply_wf eclass-vals_wf bool_wf information-flow-relation_wf flow-graph_wf es-interface-locs-list_wf l_member_wf es-E-interface_wf eclass_wf event-ordering+_wf information-flow_wf id-graph_wf es-interface-predecessors_wf es-loc_wf event-ordering+_inc subtype_rel_wf es-interface-top es-E_wf true_wf false_wf

\mforall{}[Info,T:Type].
    \mforall{}S:Id  List.  \mforall{}G:Graph(S).  \mforall{}F:information-flow(T;S).  \mforall{}es:EO+(Info).  \mforall{}X:EClass(T).  \mforall{}e:E(X).  \mforall{}i:Id.
        ((i  \mmember{}  S)
        {}\mRightarrow{}  es-interface-locs-list(es;X;S)
        {}\mRightarrow{}  flow-graph(S;T;F;G)
        {}\mRightarrow{}  (loc(e){}\mrightarrow{}i)\mmember{}G  supposing  information-flow-relation(es;X;F;e;i))


Date html generated: 2011_08_16-PM-04_38_24
Last ObjectModification: 2011_06_20-AM-01_00_50

Home Index