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