Nuprl Lemma : reliable-env-property
∀[M:Type ─→ Type]
∀S0:InitialSystem(P.M[P]). ∀n2m:ℕ ─→ pMsg(P.M[P]). ∀l2m:Id ─→ pMsg(P.M[P]). ∀env:pEnvType(P.M[P]).
let r = pRun(S0;env;n2m;l2m) in
reliable-env(env; r)
⇒ (∀tn:run-msg-commands(r)
∃e:runEvents(r)
let t,n = tn
in (run-info(r;e)
= intransit-to-info(n2m;l2m;r;env;run-event-step(e);run-command(r;t;n))
∈ (ℤ × Id × pMsg(P.M[P])))
∧ (run-event-loc(e) = (fst(snd(run-command(r;t;n)))) ∈ Id))
supposing Continuous+(P.M[P])
Proof
Definitions occuring in Statement :
intransit-to-info: intransit-to-info(n2m;l2m;r;env;t;lbl)
,
run-msg-commands: run-msg-commands(r)
,
run-command: run-command(r;t;n)
,
reliable-env: reliable-env(env; r)
,
InitialSystem: InitialSystem(P.M[P])
,
run-event-step: run-event-step(e)
,
run-event-loc: run-event-loc(e)
,
runEvents: runEvents(r)
,
run-info: run-info(r;e)
,
pRun: pRun(S0;env;nat2msg;loc2msg)
,
pEnvType: pEnvType(T.M[T])
,
pMsg: pMsg(P.M[P])
,
Id: Id
,
strong-type-continuous: Continuous+(T.F[T])
,
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]
,
implies: P
⇒ Q
,
and: P ∧ Q
,
function: x:A ─→ B[x]
,
spread: spread def,
product: x:A × B[x]
,
int: ℤ
,
universe: Type
,
equal: s = t ∈ T
Lemmas :
run-command-node_wf,
l_member_wf,
run-command_wf,
pInTransit_wf,
com-kind_wf,
cons_wf,
nil_wf,
nat_wf,
set_wf,
less_than_wf,
primrec-wf2,
squash_wf,
pRunType_wf,
add-zero,
le_wf,
member-less_than,
subtype_base_sq,
int_subtype_base,
pRun_wf2,
and_wf,
equal_wf,
Id_wf,
pMsg_wf,
unit_wf2,
top_wf,
ldag_wf,
pi2_wf,
lg-size_wf,
less_than_transitivity2,
subtract_wf,
eq_int_wf,
bool_wf,
eqtt_to_assert,
assert_of_eq_int,
eqff_to_assert,
bool_cases_sqequal,
bool_subtype_base,
assert-bnot,
neg_assert_of_eq_int,
add-associates,
add-swap,
add-commutes,
pRun_wf,
fulpRunType_wf,
zero-le-nat,
System_wf,
subtype_rel_dep_function,
int_seg_wf,
int_seg_subtype-nat,
false_wf,
subtype_rel_self,
all_wf,
lg-label_wf,
lelt_wf,
not_wf,
assert_wf,
lg-is-source_wf,
lt_int_wf,
bnot_wf,
assert_elim,
bfalse_wf,
btrue_neq_bfalse,
bool_cases,
assert_of_lt_int,
iff_transitivity,
iff_weakening_uiff,
assert_of_bnot,
decidable__le,
assert_witness,
decidable__lt,
not-le-2,
condition-implies-le,
minus-add,
minus-one-mul,
add_functionality_wrt_le,
le-add-cancel,
eq_atom_wf,
assert_of_eq_atom,
lg-size-deliver-msg,
comm-msg_wf,
lg-remove_wf_dag,
is-dag_wf,
true_wf,
lg-size-remove,
iff_weakening_equal,
less-iff-le,
minus-minus,
less_than_transitivity1,
lg-remove_wf,
deliver-msg_wf,
neg_assert_of_eq_atom,
le_antisymmetry_iff,
lg-label-deliver-msg,
lg-label-remove,
list_wf,
component_wf,
trivial-int-eq1,
add-mul-special,
zero-mul,
zero-add,
sq_stable__le,
subtract-is-less,
le_weakening,
exists_wf,
runEvents_wf,
run-info_wf,
intransit-to-info_wf,
run-event-step_wf,
run-event-step-positive,
pi1_wf_top,
set_subtype_base,
run-event-loc_wf,
pCom_wf,
less_than_irreflexivity,
int_upper_subtype_nat,
nat_properties,
nequal-le-implies,
le_weakening2,
le-add-cancel-alt,
member_wf,
strong-type-continuous_wf,
pEnvType_wf,
InitialSystem_wf,
nat_plus_wf,
subtype_rel_product,
labeled-graph_wf,
is-run-event_wf,
subtype_rel-equal,
decidable__equal_int,
not-equal-2,
assert-eq-id,
atom_subtype_base,
cons_member,
nil_member,
or_wf,
equal-wf-base,
equal-wf-T-base,
uiff_transitivity,
isect_wf,
member_singleton,
command-to-msg_wf
Latex:
\mforall{}[M:Type {}\mrightarrow{} Type]
\mforall{}S0:InitialSystem(P.M[P]). \mforall{}n2m:\mBbbN{} {}\mrightarrow{} pMsg(P.M[P]). \mforall{}l2m:Id {}\mrightarrow{} pMsg(P.M[P]). \mforall{}env:pEnvType(P.M[P]).
let r = pRun(S0;env;n2m;l2m) in
reliable-env(env; r)
{}\mRightarrow{} (\mforall{}tn:run-msg-commands(r)
\mexists{}e:runEvents(r)
let t,n = tn
in (run-info(r;e)
= intransit-to-info(n2m;l2m;r;env;run-event-step(e);run-command(r;t;n)))
\mwedge{} (run-event-loc(e) = (fst(snd(run-command(r;t;n))))))
supposing Continuous+(P.M[P])
Date html generated:
2015_07_23-AM-11_18_43
Last ObjectModification:
2015_02_04-PM-05_05_41
Home
Index