Nuprl Lemma : bag-remove-repeats-filter

[T:Type]. ∀[b:bag(T)]. ∀[eq:EqDecider(T)]. ∀[P:T ⟶ 𝔹].
  (bag-remove-repeats(eq;[x∈b|P[x]]) [x∈bag-remove-repeats(eq;b)|P[x]] ∈ bag(T))


Proof




Definitions occuring in Statement :  bag-remove-repeats: bag-remove-repeats(eq;bs) bag-filter: [x∈b|p[x]] bag: bag(T) deq: EqDecider(T) bool: 𝔹 uall: [x:A]. B[x] so_apply: x[s] function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T squash: T exists: x:A. B[x] bag-remove-repeats: bag-remove-repeats(eq;bs) bag-filter: [x∈b|p[x]] all: x:A. B[x] so_apply: x[s] prop: subtype_rel: A ⊆B uimplies: supposing a so_lambda: λ2x.t[x]
Lemmas referenced :  bag_to_squash_list list-to-set-filter filter_wf5 list-to-set_wf l_member_wf list-subtype-bag equal_wf bag_wf bag-remove-repeats_wf bag-filter_wf subtype_rel_bag assert_wf bool_wf deq_wf
Rules used in proof :  cut introduction extract_by_obid sqequalHypSubstitution sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isectElimination thin hypothesisEquality imageElimination productElimination promote_hyp hypothesis rename sqequalRule dependent_functionElimination lambdaEquality applyEquality functionExtensionality cumulativity because_Cache lambdaFormation setElimination setEquality independent_isectElimination hyp_replacement equalitySymmetry Error :applyLambdaEquality,  functionEquality universeEquality isect_memberFormation isect_memberEquality axiomEquality

Latex:
\mforall{}[T:Type].  \mforall{}[b:bag(T)].  \mforall{}[eq:EqDecider(T)].  \mforall{}[P:T  {}\mrightarrow{}  \mBbbB{}].
    (bag-remove-repeats(eq;[x\mmember{}b|P[x]])  =  [x\mmember{}bag-remove-repeats(eq;b)|P[x]])



Date html generated: 2016_10_25-AM-11_26_55
Last ObjectModification: 2016_07_12-AM-07_33_26

Theory : bags_2


Home Index