Nuprl Lemma : es-interface-accum-programmable

[Info,A,B:Type]. ∀[X:EClass(A)]. ∀[x:B]. ∀[f:B ─→ A ─→ B].
  (es-interface-accum(f;x;X)
  = λB,r. if (#(B 0) =z 1)
         then if (#(r) =z 1) then {f[only(r);only(B 0)]} else {f[x;only(B 0)]} fi 
         else {}
         fi i.X,(self)'|
  ∈ EClass(B))


Proof




Definitions occuring in Statement :  rec-combined-class: f|X,(self)'| es-interface-accum: es-interface-accum(f;x;X) eclass: EClass(A[eo; e]) ifthenelse: if then else fi  eq_int: (i =z j) uall: [x:A]. B[x] so_apply: x[s1;s2] apply: a lambda: λx.A[x] function: x:A ─→ B[x] natural_number: $n universe: Type equal: t ∈ T bag-only: only(bs) bag-size: #(bs) single-bag: {x} empty-bag: {}
Lemmas :  rec-combined-class_wf false_wf le_wf int_seg_wf eq_int_wf bag-size_wf lelt_wf nat_wf bool_wf eqtt_to_assert assert_of_eq_int single-bag_wf bag-only_wf2 single-valued-bag-if-le1 le_weakening decidable__lt le_antisymmetry_iff add_functionality_wrt_le add-commutes zero-add le-add-cancel add-zero eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot neg_assert_of_eq_int not-equal-2 empty-bag_wf bag_wf eclass_wf es-E_wf event-ordering+_subtype event-ordering+_wf squash_wf true_wf primed-class_wf in-eclass_wf es-interface-subtype_rel2 top_wf bag_size_single_lemma bag_size_empty_lemma iff_weakening_equal assert_wf es-interface-extensionality es-interface-accum_wf is-interface-accum es-interface-accum-val es-causl-swellfnd nat_properties less_than_transitivity1 less_than_irreflexivity ge_wf less_than_wf int_seg_subtype-nat decidable__le subtract_wf not-ge-2 less-iff-le condition-implies-le minus-one-mul minus-add minus-minus add-associates add-swap decidable__equal_int subtype_rel-int_seg int_seg_properties zero-le-nat es-causl_wf le-add-cancel-alt not-le-2 sq_stable__le add-mul-special zero-mul list_accum_wf es-E-interface_wf Id_wf es-loc_wf es-interface-predecessors_wf eclass-val_wf assert_elim bag_only_single_lemma single-valued-bag-single single-valued-bag_wf set_wf sq_stable__assert list_wf es-interface-predecessors-step es-prior-interface_wf1 subtype_top list_accum_cons_lemma list_accum_nil_lemma eclass-val_wf2 es-prior-interface_wf es-prior-interface-causl es-E-interface-property append_wf subtype_rel_list cons_wf nil_wf event-ordering+_cumulative2 es-prior-interface-same list-cases list_ind_nil_lemma product_subtype_list list_ind_cons_lemma es-interface-predecessors-nonempty length_wf_nat length_wf length_of_nil_lemma list_accum_append es-is-prior-interface es-locl_wf primed-class-prior-val and_wf not_assert_elim btrue_neq_bfalse

Latex:
\mforall{}[Info,A,B:Type].  \mforall{}[X:EClass(A)].  \mforall{}[x:B].  \mforall{}[f:B  {}\mrightarrow{}  A  {}\mrightarrow{}  B].
    (es-interface-accum(f;x;X)
    =  \mlambda{}B,r.  if  (\#(B  0)  =\msubz{}  1)
                  then  if  (\#(r)  =\msubz{}  1)  then  \{f[only(r);only(B  0)]\}  else  \{f[x;only(B  0)]\}  fi 
                  else  \{\}
                  fi  |\mlambda{}i.X,(self)'|)



Date html generated: 2015_07_21-PM-04_22_48
Last ObjectModification: 2015_02_04-PM-06_07_20

Home Index