Nuprl Lemma : hdataflow-equal

∀[A,B:Type]. ∀[P,Q:hdataflow(A;B)].
  uiff(P = Q ∈ hdataflow(A;B);∀[inputs:A List]
                                (hdf-halted(P*(inputs)) = hdf-halted(Q*(inputs))
                                ∧ (∀[a:A]. (hdf-out(P*(inputs);a) = hdf-out(Q*(inputs);a) ∈ bag(B)))))


Proof




Definitions occuring in Statement :  iterate-hdataflow: P*(inputs),  hdf-out: hdf-out(P;x),  hdf-halted: hdf-halted(P),  hdataflow: hdataflow(A;B),  list: T List,  bool: 𝔹,  uiff: uiff(P;Q),  uall: ∀[x:A]. B[x],  and: P ∧ Q,  universe: Type,  equal: s = t ∈ T,  bag: bag(T)
Lemmas :  iff_imp_equal_bool,  hdf-halted_wf,  iterate-hdataflow_wf,  and_wf,  equal_wf,  hdataflow_wf,  assert_elim,  subtype_base_sq,  bool_wf,  bool_subtype_base,  assert_wf,  hdf-out_wf,  list_wf,  coinduction-principle,  bag_wf,  unit_wf2,  continuous-monotone-union,  continuous-monotone-function,  continuous-monotone-product,  continuous-monotone-id,  continuous-monotone-constant,  uall_wf,  corec_wf,  corec_subtype,  strong-continuous-union,  strong-continuous-function,  strong-continuous-product,  continuous-id,  continuous-constant,  subtype_rel_weakening,  nat_wf,  subtype_corec,  subtype_rel_sum,  subtype_rel_function,  subtype_rel_simple_product,  subtype_rel_wf,  all_wf,  nil_wf,  iter_hdf_nil_lemma,  pair-eta,  subtype_rel_product,  top_wf,  subtype_top,  btrue_neq_bfalse,  equal-unit,  cons_wf,  iter_hdf_cons_lemma,  iff_weakening_equal
\mforall{}[A,B:Type].  \mforall{}[P,Q:hdataflow(A;B)].
    uiff(P  =  Q;\mforall{}[inputs:A  List]
                              (hdf-halted(P*(inputs))  =  hdf-halted(Q*(inputs))
                              \mwedge{}  (\mforall{}[a:A].  (hdf-out(P*(inputs);a)  =  hdf-out(Q*(inputs);a)))))



Date html generated: 2015_07_17-AM-08_05_09
Last ObjectModification: 2015_02_03-PM-09_46_37

Home Index