{ [M:Type  Type]
    [nat2msg:  pMsg(P.M[P])]. [loc2msg:Id  pMsg(P.M[P])].
    [env:pEnvType(P.M[P])]. [S1,S2:System(P.M[P])].
      pRun(S1;env;nat2msg;loc2msg) = pRun(S2;env;nat2msg;loc2msg) 
      supposing system-equiv(P.M[P];S1;S2) 
    supposing Continuous+(P.M[P]) }

{ Proof }



Definitions occuring in Statement :  pRun: pRun(S0;env;nat2msg;loc2msg) pEnvType: pEnvType(T.M[T]) pRunType: pRunType(T.M[T]) system-equiv: system-equiv(T.M[T];S1;S2) System: System(P.M[P]) pMsg: pMsg(P.M[P]) Id: Id strong-type-continuous: Continuous+(T.F[T]) nat: uimplies: b supposing a uall: [x:A]. B[x] so_apply: x[s] function: x:A  B[x] universe: Type equal: s = t
Definitions :  uall: [x:A]. B[x] uimplies: b supposing a so_apply: x[s] pRunType: pRunType(T.M[T]) member: t  T so_lambda: x.t[x] all: x:A. B[x] pi2: snd(t) pRun: pRun(S0;env;nat2msg;loc2msg) ycomb: Y ifthenelse: if b then t else f fi  implies: P  Q btrue: tt bfalse: ff prop: ge: i  j  le: A  B not: A false: False nat: and: P  Q pEnvType: pEnvType(T.M[T]) nat_plus: top: Top cand: A c B spreadn: spread3 do-chosen-command: do-chosen-command(nat2msg;loc2msg;t;S;n;m;nm) int_seg: {i..j} let: let lelt: i  j < k Id: Id subtype: S  T squash: T true: True system-equiv: system-equiv(T.M[T];S1;S2) length: ||as|| create-component: create-component(t;P;x;Cs;L) select: l[i] le_int: i z j bnot: b lt_int: i <z j process-equiv: process-equiv component: component(P.M[P]) rev_implies: P  Q iff: P  Q unit: Unit bool: System: System(P.M[P]) lg-is-source: lg-is-source(g;i) or: P  Q sq_type: SQType(T) guard: {T} pInTransit: pInTransit(P.M[P]) pi1: fst(t) decidable: Dec(P) it: fulpRunType: fulpRunType(T.M[T])
Lemmas :  nat_wf pRun_wf2 system-equiv_wf System_wf pEnvType_wf Id_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 not_wf bnot_wf eqff_to_assert assert_of_bnot not_functionality_wrt_uiff nat_properties ge_wf le_wf it_wf system-equiv-implies-equal int_seg_wf subtype_rel_function unit_wf top_wf ldag_wf pInTransit_wf subtype_rel_self pRunType_wf pRun_wf pi2_wf subtype_rel_simple_product lg-is-source_wf_dag btrue_neq_bfalse assert_elim not_assert_elim lg-remove_wf_dag lg-label_wf_dag lg-size_wf_dag lt_int_wf le_int_wf bfalse_wf bool_cases subtype_base_sq bool_subtype_base assert_of_lt_int assert_functionality_wrt_uiff bnot_of_lt_int assert_of_le_int pi1_wf_top pCom_wf atom2_subtype_base atom_subtype_base eq_atom_wf com-kind_wf assert_of_eq_atom comm-msg_wf deliver-msg_functionality squash_wf deliver-msg_wf decidable__equal_int int_subtype_base comm-create_wf Process_wf Process-stream_wf select_cons_tl component_wf process-equiv_wf equal-top do-chosen-command_wf

\mforall{}[M:Type  {}\mrightarrow{}  Type]
    \mforall{}[nat2msg:\mBbbN{}  {}\mrightarrow{}  pMsg(P.M[P])].  \mforall{}[loc2msg:Id  {}\mrightarrow{}  pMsg(P.M[P])].  \mforall{}[env:pEnvType(P.M[P])].
    \mforall{}[S1,S2:System(P.M[P])].
        pRun(S1;env;nat2msg;loc2msg)  =  pRun(S2;env;nat2msg;loc2msg) 
        supposing  system-equiv(P.M[P];S1;S2) 
    supposing  Continuous+(P.M[P])


Date html generated: 2011_08_16-PM-06_56_06
Last ObjectModification: 2011_06_18-AM-11_10_14

Home Index