{ [M:Type  Type]
    n2m:  pMsg(P.M[P]). l2m:Id  pMsg(P.M[P]). S0:System(P.M[P]).
    env:pEnvType(P.M[P]).
      let r = pRun(S0;env;n2m;l2m) in
          e:runEvents(r)
            (((fst(fst(run-info(r;e)))) < run-event-step(e))
             (m:lg-size(snd(S0))
                ((fst(run-info(r;e))) = (fst(lg-label(snd(S0);m)))))) 
    supposing Continuous+(P.M[P]) }

{ Proof }



Definitions occuring in Statement :  run-event-step: run-event-step(e) runEvents: runEvents(r) run-info: run-info(r;e) pRun: pRun(S0;env;nat2msg;loc2msg) pEnvType: pEnvType(T.M[T]) System: System(P.M[P]) pMsg: pMsg(P.M[P]) lg-label: lg-label(g;x) lg-size: lg-size(g) Id: Id strong-type-continuous: Continuous+(T.F[T]) int_seg: {i..j} nat: let: let uimplies: b supposing a uall: [x:A]. B[x] so_apply: x[s] pi1: fst(t) pi2: snd(t) all: x:A. B[x] exists: x:A. B[x] or: P  Q less_than: a < b function: x:A  B[x] product: x:A  B[x] natural_number: $n int: universe: Type equal: s = t
Definitions :  uall: [x:A]. B[x] uimplies: b supposing a strong-type-continuous: Continuous+(T.F[T]) so_apply: x[s] all: x:A. B[x] System: System(P.M[P]) let: let pi1: fst(t) run-event-step: run-event-step(e) pi2: snd(t) member: t  T ext-eq: A  B and: P  Q so_lambda: x.t[x] top: Top subtype: S  T squash: T true: True nat: Id: Id ldag: LabeledDAG(T) spreadn: spread3 pRun: pRun(S0;env;nat2msg;loc2msg) or: P  Q le: A  B exists: x:A. B[x] int_seg: {i..j} assert: b is-run-event: is-run-event(r;t;x) run-info: run-info(r;e) implies: P  Q outl: outl(x) ycomb: Y ifthenelse: if b then t else f fi  do-chosen-command: do-chosen-command(nat2msg;loc2msg;t;S;n;m;nm) band: p  q isl: isl(x) btrue: tt bfalse: ff prop: false: False not: A fulpRunType: fulpRunType(T.M[T]) lelt: i  j < k guard: {T} runEvents: runEvents(r) decidable: Dec(P) sq_stable: SqStable(P) pInTransit: pInTransit(P.M[P]) lg-all: xG.P[x] lg-is-source: lg-is-source(g;i) bool: unit: Unit iff: P  Q sq_type: SQType(T) it:
Lemmas :  pRun-intransit-invariant nat_wf pRun_wf2 decidable__assert is-run-event_wf pi1_wf_top Id_wf pi2_wf sq_stable__assert runEvents_wf pEnvType_wf System_wf pMsg_wf strong-type-continuous_wf eq_int_wf bool_wf iff_weakening_uiff uiff_transitivity assert_wf eqtt_to_assert assert_of_eq_int false_wf not_wf bnot_wf eqff_to_assert assert_of_bnot not_functionality_wrt_uiff pRun_wf subtype_rel_function unit_wf int_seg_wf nat_properties top_wf ldag_wf pInTransit_wf le_wf subtype_rel_simple_product subtype_rel_self fulpRunType_wf lg-is-source_wf_dag lt_int_wf lg-size_wf_dag lg-label_wf_dag eq_atom_wf com-kind_wf assert_of_eq_atom assert_witness decidable__lt lg-size_wf is-dag_wf subtype_base_sq product_subtype_base int_subtype_base atom2_subtype_base subtype_rel-ldag component_wf lg-all_wf le_int_wf bool_cases bool_subtype_base assert_of_lt_int assert_functionality_wrt_uiff bnot_of_lt_int assert_of_le_int squash_wf true_wf

\mforall{}[M:Type  {}\mrightarrow{}  Type]
    \mforall{}n2m:\mBbbN{}  {}\mrightarrow{}  pMsg(P.M[P]).  \mforall{}l2m:Id  {}\mrightarrow{}  pMsg(P.M[P]).  \mforall{}S0:System(P.M[P]).  \mforall{}env:pEnvType(P.M[P]).
        let  r  =  pRun(S0;env;n2m;l2m)  in
                \mforall{}e:runEvents(r)
                    (((fst(fst(run-info(r;e))))  <  run-event-step(e))
                    \mvee{}  (\mexists{}m:\mBbbN{}lg-size(snd(S0)).  ((fst(run-info(r;e)))  =  (fst(lg-label(snd(S0);m)))))) 
    supposing  Continuous+(P.M[P])


Date html generated: 2011_08_16-PM-07_03_59
Last ObjectModification: 2011_06_18-AM-11_17_24

Home Index