Nuprl Lemma : bag-drop-property

∀[T:Type]
  ∀eq:EqDecider(T). ∀x:T. ∀bs:bag(T).
    ((bs = ({x} + bag-drop(eq;bs;x)) ∈ bag(T)) ∨ ((¬x ↓∈ bs) ∧ (bs = bag-drop(eq;bs;x) ∈ bag(T))))


Proof




Definitions occuring in Statement :  bag-drop: bag-drop(eq;bs;a),  bag-member: x ↓∈ bs,  bag-append: as + bs,  single-bag: {x},  bag: bag(T),  deq: EqDecider(T),  uall: ∀[x:A]. B[x],  all: ∀x:A. B[x],  not: ¬A,  or: P ∨ Q,  and: P ∧ Q,  universe: Type,  equal: s = t ∈ T
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  all: ∀x:A. B[x],  bag-drop: bag-drop(eq;bs;a),  implies: P ⇒ Q,  or: P ∨ Q,  exists: ∃x:A. B[x],  and: P ∧ Q,  outl: outl(x),  prop: ℙ,  uimplies: b supposing a,  isl: isl(x),  assert: ↑b,  ifthenelse: if b then t else f fi ,  btrue: tt,  true: True,  not: ¬A,  false: False,  guard: {T},  cand: A c∧ B,  so_lambda: λ2x.t[x],  so_apply: x[s]
Lemmas referenced :  bag-remove1-property,  bag-remove1_wf,  bag_wf,  unit_wf2,  and_wf,  equal_wf,  outl_wf,  assert_wf,  isl_wf,  bag-append_wf,  single-bag_wf,  btrue_wf,  bfalse_wf,  btrue_neq_bfalse,  not_wf,  bag-member_wf,  or_wf,  exists_wf,  equal-wf-T-base,  deq_wf
Rules used in proof :  cut,  introduction,  extract_by_obid,  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  hypothesis,  sqequalHypSubstitution,  isectElimination,  thin,  hypothesisEquality,  lambdaFormation,  dependent_functionElimination,  unionEquality,  unionElimination,  inlFormation,  productElimination,  sqequalRule,  equalitySymmetry,  dependent_set_memberEquality,  independent_pairFormation,  equalityTransitivity,  applyLambdaEquality,  setElimination,  rename,  independent_isectElimination,  promote_hyp,  hyp_replacement,  natural_numberEquality,  independent_functionElimination,  voidElimination,  productEquality,  inrFormation,  lambdaEquality,  inlEquality,  baseClosed,  universeEquality

Latex:
\mforall{}[T:Type]
    \mforall{}eq:EqDecider(T).  \mforall{}x:T.  \mforall{}bs:bag(T).
        ((bs  =  (\{x\}  +  bag-drop(eq;bs;x)))  \mvee{}  ((\mneg{}x  \mdownarrow{}\mmember{}  bs)  \mwedge{}  (bs  =  bag-drop(eq;bs;x))))



Date html generated: 2019_10_16-AM-11_31_19
Last ObjectModification: 2018_08_21-PM-01_59_20

Theory : bags_2


Home Index