Nuprl Lemma : bag-member-partitions

∀[T:Type]
  ∀[eq:EqDecider(T)]. ∀[as,bs,cs:bag(T)].  uiff(<as, bs> ↓∈ bag-partitions(eq;cs);(as + bs) = cs ∈ bag(T)) 
  supposing valueall-type(T)


Proof




Definitions occuring in Statement :  bag-partitions: bag-partitions(eq;bs),  bag-member: x ↓∈ bs,  bag-append: as + bs,  bag: bag(T),  deq: EqDecider(T),  valueall-type: valueall-type(T),  uiff: uiff(P;Q),  uimplies: b supposing a,  uall: ∀[x:A]. B[x],  pair: <a, b>,  product: x:A × B[x],  universe: Type,  equal: s = t ∈ T
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  uimplies: b supposing a,  bag-partitions: bag-partitions(eq;bs),  product-deq: product-deq(A;B;a;b),  so_lambda: λ2x.t[x],  so_apply: x[s],  implies: P ⇒ Q,  all: ∀x:A. B[x],  callbyvalueall: callbyvalueall,  has-value: (a)↓,  has-valueall: has-valueall(a),  uiff: uiff(P;Q),  and: P ∧ Q,  prop: ℙ,  bag-member: x ↓∈ bs,  squash: ↓T,  iff: P ⇐⇒ Q,  rev_implies: P ⇐ Q
Lemmas referenced :  product-deq_wf,  bag_wf,  bag-deq_wf,  valueall-type-has-valueall,  bag-valueall-type,  product-valueall-type,  bag-splits_wf,  evalall-reduce,  bag-member_wf,  bag-partitions_wf,  equal_wf,  bag-append_wf,  deq_wf,  valueall-type_wf,  bag-member-splits,  iff_weakening_uiff,  bag-to-set_wf,  member-bag-to-set,  uiff_wf
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  introduction,  cut,  extract_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  cumulativity,  hypothesisEquality,  hypothesis,  sqequalRule,  productEquality,  independent_isectElimination,  lambdaEquality,  independent_functionElimination,  lambdaFormation,  because_Cache,  dependent_functionElimination,  callbyvalueReduce,  productElimination,  independent_pairEquality,  isect_memberEquality,  axiomEquality,  equalityTransitivity,  equalitySymmetry,  imageElimination,  imageMemberEquality,  baseClosed,  universeEquality,  addLevel,  independent_pairFormation

Latex:
\mforall{}[T:Type]
    \mforall{}[eq:EqDecider(T)].  \mforall{}[as,bs,cs:bag(T)].    uiff(<as,  bs>  \mdownarrow{}\mmember{}  bag-partitions(eq;cs);(as  +  bs)  =  cs) 
    supposing  valueall-type(T)



Date html generated: 2018_05_21-PM-09_49_34
Last ObjectModification: 2017_07_26-PM-06_31_12

Theory : bags_2


Home Index