Nuprl Lemma : b_all-squash-exists-list

∀[A,B:Type]. ∀[as:bag(A)]. ∀[P:A ⟶ B ⟶ ℙ].
  ↓∃bs:(A × B) List. ((bag-map(λx.(fst(x));bs) = as ∈ bag(A)) ∧ (∀x∈bs.↓P[fst(x);snd(x)])) 
  supposing b_all(A;as;x.↓∃y:B. P[x;y])


Proof




Definitions occuring in Statement :  b_all: b_all(T;b;x.P[x]),  bag-map: bag-map(f;bs),  bag: bag(T),  l_all: (∀x∈L.P[x]),  list: T List,  uimplies: b supposing a,  uall: ∀[x:A]. B[x],  prop: ℙ,  so_apply: x[s1;s2],  pi1: fst(t),  pi2: snd(t),  exists: ∃x:A. B[x],  squash: ↓T,  and: P ∧ Q,  lambda: λx.A[x],  function: x:A ⟶ B[x],  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,  squash: ↓T,  exists: ∃x:A. B[x],  prop: ℙ,  so_lambda: λ2x.t[x],  so_apply: x[s1;s2],  so_apply: x[s],  implies: P ⇒ Q,  subtype_rel: A ⊆r B,  and: P ∧ Q,  pi1: fst(t),  all: ∀x:A. B[x],  pi2: snd(t),  cand: A c∧ B,  bag-map: bag-map(f;bs),  map: map(f;as),  list_ind: list_ind,  nil: [],  it: ⋅,  top: Top,  cons-bag: x.b,  iff: P ⇐⇒ Q,  true: True,  guard: {T},  rev_implies: P ⇐ Q
Lemmas referenced :  bag_to_squash_list,  b_all_wf,  squash_wf,  exists_wf,  list_induction,  list-subtype-bag,  list_wf,  equal_wf,  bag_wf,  bag-map_wf,  subtype_rel_self,  l_all_wf,  l_member_wf,  nil_wf,  l_all_nil,  equal-wf-T-base,  pi1_wf,  pi2_wf,  b_all-cons,  sq_stable__squash,  cons_wf,  bag-map-cons,  true_wf,  cons-bag_wf,  iff_weakening_equal,  l_all_cons
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  introduction,  cut,  extract_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  hypothesisEquality,  imageElimination,  productElimination,  promote_hyp,  hypothesis,  equalitySymmetry,  hyp_replacement,  applyLambdaEquality,  cumulativity,  sqequalRule,  lambdaEquality,  applyEquality,  functionExtensionality,  rename,  functionEquality,  because_Cache,  independent_isectElimination,  productEquality,  lambdaFormation,  independent_pairEquality,  setElimination,  setEquality,  independent_functionElimination,  dependent_pairFormation,  voidEquality,  voidElimination,  independent_pairFormation,  isect_memberEquality,  baseClosed,  imageMemberEquality,  dependent_functionElimination,  equalityTransitivity,  equalityUniverse,  levelHypothesis,  natural_numberEquality,  universeEquality

Latex:
\mforall{}[A,B:Type].  \mforall{}[as:bag(A)].  \mforall{}[P:A  {}\mrightarrow{}  B  {}\mrightarrow{}  \mBbbP{}].
    \mdownarrow{}\mexists{}bs:(A  \mtimes{}  B)  List.  ((bag-map(\mlambda{}x.(fst(x));bs)  =  as)  \mwedge{}  (\mforall{}x\mmember{}bs.\mdownarrow{}P[fst(x);snd(x)])) 
    supposing  b\_all(A;as;x.\mdownarrow{}\mexists{}y:B.  P[x;y])



Date html generated: 2017_10_01-AM-08_55_22
Last ObjectModification: 2017_07_26-PM-04_37_23

Theory : bags


Home Index