Nuprl Lemma : hdf-bind-gen-halted
∀[A,B,C:Type]. ∀[X:hdataflow(A;B)]. ∀[Y:B ─→ hdataflow(A;C)]. ∀[hdfs:bag(hdataflow(A;C))].
  hdf-halted(X (hdfs) >>= Y) = hdf-halted(X) ∧b bag-null(hdfs) supposing valueall-type(C)
Proof
Definitions occuring in Statement : 
hdf-bind-gen: X (hdfs) >>= Y
, 
hdf-halted: hdf-halted(P)
, 
hdataflow: hdataflow(A;B)
, 
band: p ∧b q
, 
valueall-type: valueall-type(T)
, 
bool: 𝔹
, 
uimplies: b supposing a
, 
uall: ∀[x:A]. B[x]
, 
function: x:A ─→ B[x]
, 
universe: Type
, 
equal: s = t ∈ T
, 
bag-null: bag-null(bs)
, 
bag: bag(T)
Lemmas : 
bool_wf, 
eqtt_to_assert, 
equal_wf, 
bool_cases_sqequal, 
subtype_base_sq, 
bool_subtype_base, 
assert-bag-null, 
hdataflow_wf, 
hdf_halted_halt_red_lemma, 
btrue_wf, 
eqff_to_assert, 
assert-bnot, 
iff_transitivity, 
assert_wf, 
hdf-halted_wf, 
bag-null_wf, 
equal-wf-T-base, 
iff_weakening_uiff, 
assert_of_band, 
hdf_halted_run_red_lemma, 
bfalse_wf, 
valueall-type_wf, 
bag_wf
\mforall{}[A,B,C:Type].  \mforall{}[X:hdataflow(A;B)].  \mforall{}[Y:B  {}\mrightarrow{}  hdataflow(A;C)].  \mforall{}[hdfs:bag(hdataflow(A;C))].
    hdf-halted(X  (hdfs)  >>=  Y)  =  hdf-halted(X)  \mwedge{}\msubb{}  bag-null(hdfs)  supposing  valueall-type(C)
Date html generated:
2015_07_17-AM-08_06_58
Last ObjectModification:
2015_01_27-PM-00_06_48
Home
Index