Nuprl Lemma : bag-cases

[T:Type]. ∀bs:bag(T). ((bs {} ∈ bag(T)) ∨ (↓∃x:T. ∃bs':bag(T). (bs ({x} bs') ∈ bag(T))))


Proof




Definitions occuring in Statement :  bag-append: as bs single-bag: {x} empty-bag: {} bag: bag(T) uall: [x:A]. B[x] all: x:A. B[x] exists: x:A. B[x] squash: T or: P ∨ Q universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] member: t ∈ T subtype_rel: A ⊆B nat: decidable: Dec(P) or: P ∨ Q uimplies: supposing a prop: so_lambda: λ2x.t[x] so_apply: x[s] guard: {T} squash: T exists: x:A. B[x] bag-size: #(bs) satisfiable_int_formula: satisfiable_int_formula(fmla) top: Top false: False cons: [a b] single-bag: {x} bag-append: as bs append: as bs so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3]
Lemmas referenced :  decidable__le bag-size_wf nat_wf bag-size-zero empty-bag_wf squash_wf exists_wf bag_wf equal_wf bag-append_wf single-bag_wf bag_to_squash_list not_wf le_wf list-cases length_of_nil_lemma satisfiable-full-omega-tt intformnot_wf intformle_wf itermConstant_wf int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_formula_prop_wf product_subtype_list length_of_cons_lemma list-subtype-bag list_ind_cons_lemma list_ind_nil_lemma cons_wf equal-wf-T-base
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation lambdaFormation cut introduction extract_by_obid sqequalHypSubstitution dependent_functionElimination thin isectElimination cumulativity hypothesisEquality hypothesis applyEquality lambdaEquality setElimination rename sqequalRule natural_numberEquality unionElimination inlFormation independent_isectElimination inrFormation imageElimination productElimination promote_hyp equalitySymmetry hyp_replacement Error :applyLambdaEquality,  because_Cache dependent_pairFormation intEquality isect_memberEquality voidElimination voidEquality computeAll hypothesis_subsumption imageMemberEquality baseClosed universeEquality

Latex:
\mforall{}[T:Type].  \mforall{}bs:bag(T).  ((bs  =  \{\})  \mvee{}  (\mdownarrow{}\mexists{}x:T.  \mexists{}bs':bag(T).  (bs  =  (\{x\}  +  bs'))))



Date html generated: 2016_10_25-AM-10_22_26
Last ObjectModification: 2016_07_12-AM-06_39_07

Theory : bags


Home Index