Nuprl Lemma : es-interface-pair-prior-programmable

∀[Info,A,B:Type]. ∀[X:EClass(A)]. ∀[Y:EClass(B)].
  X;Y
  = eclass-compose2(λys,xs. if (#(ys) =z 1)
                           then if (#(xs) =z 1) then {<only(xs), only(ys)>} else {} fi 
                           else {}
                           fi ;Y;Prior(X))
  ∈ EClass(A × B) 
  supposing Singlevalued(X)


Proof




Definitions occuring in Statement :  es-interface-pair-prior: X;Y,  primed-class: Prior(X),  eclass-compose2: eclass-compose2(f;X;Y),  sv-class: Singlevalued(X),  eclass: EClass(A[eo; e]),  ifthenelse: if b then t else f fi ,  eq_int: (i =z j),  uimplies: b supposing a,  uall: ∀[x:A]. B[x],  lambda: λx.A[x],  pair: <a, b>,  product: x:A × B[x],  natural_number: $n,  universe: Type,  equal: s = t ∈ T,  bag-only: only(bs),  bag-size: #(bs),  single-bag: {x},  empty-bag: {}
Lemmas :  bag-size-one,  equal_wf,  bag-only_wf2,  single-valued-bag-if-le1,  le_weakening,  decidable__lt,  bag-size_wf,  nat_wf,  false_wf,  le_antisymmetry_iff,  add_functionality_wrt_le,  add-commutes,  zero-add,  le-add-cancel,  bag-member-single,  bag-member_wf,  single-bag_wf,  add-zero,  in-eclass_wf,  es-interface-subtype_rel2,  es-E_wf,  event-ordering+_subtype,  event-ordering+_wf,  top_wf,  bool_wf,  eqtt_to_assert,  bag_size_single_lemma,  assert_functionality_wrt_uiff,  primed-class-prior-val,  true_wf,  uiff_transitivity,  equal-wf-T-base,  assert_wf,  bnot_wf,  not_wf,  eqff_to_assert,  assert_of_bnot,  bag_size_empty_lemma,  es-prior-val_wf,  is-pair-prior,  es-interface-pair-prior_wf,  subtype_top,  iff_wf,  eclass-compose2_wf,  eq_int_wf,  assert_of_eq_int,  bool_cases_sqequal,  subtype_base_sq,  bool_subtype_base,  assert-bnot,  neg_assert_of_eq_int,  empty-bag_wf,  bag_wf,  primed-class_wf,  bag_only_single_lemma,  eclass-val_wf,  squash_wf,  eclass_wf,  event-ordering+_cumulative2,  iff_weakening_equal

Latex:
\mforall{}[Info,A,B:Type].  \mforall{}[X:EClass(A)].  \mforall{}[Y:EClass(B)].
    X;Y
    =  eclass-compose2(\mlambda{}ys,xs.  if  (\#(ys)  =\msubz{}  1)
                                                      then  if  (\#(xs)  =\msubz{}  1)  then  \{<only(xs),  only(ys)>\}  else  \{\}  fi 
                                                      else  \{\}
                                                      fi  ;Y;Prior(X)) 
    supposing  Singlevalued(X)



Date html generated: 2015_07_21-PM-03_48_05
Last ObjectModification: 2015_02_04-PM-06_12_49

Home Index