{ [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