Nuprl Lemma : bag-subtract-append

[T:Type]. ∀[eq:EqDecider(T)]. ∀[as,bs:bag(T)].  (bag-subtract(eq;as bs;as) bs ∈ bag(T))


Proof




Definitions occuring in Statement :  bag-subtract: bag-subtract(eq;bs;as) bag-append: as bs bag: bag(T) deq: EqDecider(T) uall: [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] so_lambda: λ2x.t[x] subtype_rel: A ⊆B uimplies: supposing a so_apply: x[s] implies:  Q bag-subtract: bag-subtract(eq;bs;as) all: x:A. B[x] bag-accum: bag-accum(v,x.f[v; x];init;bs) list_accum: list_accum nil: [] it: bag-append: as bs append: as bs list_ind: list_ind top: Top so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3] prop: true: True guard: {T} iff: ⇐⇒ Q and: P ∧ Q rev_implies:  Q
Lemmas referenced :  bag_to_squash_list list_induction all_wf list_wf equal_wf bag_wf bag-subtract_wf bag-append_wf list-subtype-bag list_accum_cons_lemma list_ind_cons_lemma bag-drop-head append_wf squash_wf true_wf iff_weakening_equal deq_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality imageElimination productElimination promote_hyp hypothesis rename sqequalRule lambdaEquality cumulativity applyEquality because_Cache independent_isectElimination independent_functionElimination lambdaFormation dependent_functionElimination isect_memberEquality voidElimination voidEquality equalityTransitivity equalitySymmetry natural_numberEquality imageMemberEquality baseClosed universeEquality hyp_replacement applyLambdaEquality axiomEquality

Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[as,bs:bag(T)].    (bag-subtract(eq;as  +  bs;as)  =  bs)



Date html generated: 2018_05_21-PM-09_49_25
Last ObjectModification: 2017_07_26-PM-06_31_03

Theory : bags_2


Home Index