Nuprl Lemma : bag-partitions-with-one-given

∀[T:Type]
  ∀[eq:EqDecider(T)]. ∀[as,bs,cs:bag(T)].
    ([p∈bag-partitions(eq;cs)|bag-eq(eq;fst(p);as)] = {<as, bs>} ∈ bag(bag(T) × bag(T)))
    ∧ ([p∈bag-partitions(eq;cs)|bag-eq(eq;snd(p);bs)] = {<as, bs>} ∈ bag(bag(T) × bag(T))) 
    supposing (as + bs) = cs ∈ bag(T) 
  supposing valueall-type(T)


Proof




Definitions occuring in Statement :  bag-partitions: bag-partitions(eq;bs),  bag-eq: bag-eq(eq;as;bs),  bag-filter: [x∈b|p[x]],  bag-append: as + bs,  single-bag: {x},  bag: bag(T),  deq: EqDecider(T),  valueall-type: valueall-type(T),  uimplies: b supposing a,  uall: ∀[x:A]. B[x],  pi1: fst(t),  pi2: snd(t),  and: P ∧ Q,  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,  and: P ∧ Q,  cand: A c∧ B,  implies: P ⇒ Q,  all: ∀x:A. B[x],  so_lambda: λ2x.t[x],  so_apply: x[s],  top: Top,  subtype_rel: A ⊆r B,  prop: ℙ,  uiff: uiff(P;Q),  bag-member: x ↓∈ bs,  squash: ↓T,  pi1: fst(t),  rev_uimplies: rev_uimplies(P;Q),  true: True,  guard: {T},  iff: P ⇐⇒ Q,  rev_implies: P ⇐ Q,  pi2: snd(t)
Lemmas referenced :  bag-extensionality-no-repeats,  bag_wf,  decidable__equal_product,  decidable__equal_bag,  decidable-equal-deq,  bag-filter_wf,  bag-eq_wf,  pi1_wf_top,  bag-partitions_wf,  subtype_rel_bag,  assert_wf,  single-bag_wf,  bag-filter-no-repeats,  no-repeats-bag-partitions,  bag-single-no-repeats,  bag-member-single,  bag-member_wf,  bag-member-filter,  squash_wf,  true_wf,  iff_weakening_equal,  bag-member-partitions,  assert-bag-eq,  and_wf,  equal_wf,  subtype_rel_product,  top_wf,  pi2_wf,  bag-append_wf,  deq_wf,  valueall-type_wf,  bag-append-cancel,  bag-append-comm
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  introduction,  cut,  extract_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  productEquality,  cumulativity,  hypothesisEquality,  hypothesis,  independent_functionElimination,  lambdaFormation,  sqequalRule,  lambdaEquality,  because_Cache,  dependent_functionElimination,  productElimination,  independent_pairEquality,  isect_memberEquality,  voidElimination,  voidEquality,  independent_isectElimination,  equalityTransitivity,  equalitySymmetry,  applyEquality,  setEquality,  setElimination,  rename,  independent_pairFormation,  imageElimination,  imageMemberEquality,  baseClosed,  natural_numberEquality,  universeEquality,  dependent_set_memberEquality,  applyLambdaEquality,  axiomEquality

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



Date html generated: 2018_05_21-PM-09_49_37
Last ObjectModification: 2017_07_26-PM-06_31_14

Theory : bags_2


Home Index