Nuprl Lemma : hdf-halted-compose2-iterate

∀[A,B,C:Type]. ∀[inputs:A List]. ∀[X1:hdataflow(A;B ─→ bag(C))]. ∀[X2:hdataflow(A;B)].
  hdf-halted(X1 o X2*(inputs)) = hdf-halted(X1*(inputs)) ∨bhdf-halted(X2*(inputs)) supposing valueall-type(C)


Proof




Definitions occuring in Statement :  hdf-compose2: X o Y,  iterate-hdataflow: P*(inputs),  hdf-halted: hdf-halted(P),  hdataflow: hdataflow(A;B),  list: T List,  bor: p ∨bq,  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: bag(T)
Lemmas :  list_induction,  uall_wf,  hdataflow_wf,  bag_wf,  isect_wf,  valueall-type_wf,  equal_wf,  bool_wf,  hdf-halted_wf,  iterate-hdataflow_wf,  hdf-compose2_wf,  bor_wf,  iter_hdf_nil_lemma,  iff_imp_equal_bool,  assert_wf,  hdf-halted-compose2,  iff_wf,  iter_hdf_cons_lemma,  list_wf,  iff_weakening_equal,  squash_wf,  true_wf,  pi1_wf_top,  top_wf,  hdf-compose2-ap,  subtype_rel_product,  subtype_top
\mforall{}[A,B,C:Type].  \mforall{}[inputs:A  List].  \mforall{}[X1:hdataflow(A;B  {}\mrightarrow{}  bag(C))].  \mforall{}[X2:hdataflow(A;B)].
    hdf-halted(X1  o  X2*(inputs))  =  hdf-halted(X1*(inputs))  \mvee{}\msubb{}hdf-halted(X2*(inputs)) 
    supposing  valueall-type(C)



Date html generated: 2015_07_17-AM-08_05_34
Last ObjectModification: 2015_02_03-PM-09_46_26

Home Index