Nuprl Lemma : bag-member-decidable2

T:Type. ∀P:T ⟶ ℙ. ∀b:bag(T). ∀x:{x:T| P[x]} .
  ((∀x,y:{x:T| P[x]} .  Dec(x y ∈ {x:T| P[x]} ))  (∀x:{x:T| x ↓∈ b} . ∃y:{x:T| P[x]} (x y ∈ T))  Dec(x ↓∈ b))


Proof




Definitions occuring in Statement :  bag-member: x ↓∈ bs bag: bag(T) decidable: Dec(P) prop: so_apply: x[s] all: x:A. B[x] exists: x:A. B[x] implies:  Q set: {x:A| B[x]}  function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  all: x:A. B[x] implies:  Q uall: [x:A]. B[x] member: t ∈ T prop: exists: x:A. B[x] so_apply: x[s] subtype_rel: A ⊆B guard: {T} pi1: fst(t) uimplies: supposing a squash: T istype: istype(T) nat: false: False ge: i ≥  not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) top: Top and: P ∧ Q or: P ∨ Q empty-bag: {} cons: [a b] le: A ≤ B less_than': less_than'(a;b) colength: colength(L) nil: [] it: so_lambda: λ2x.t[x] sq_type: SQType(T) less_than: a < b so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] decidable: Dec(P) cons-bag: x.b bag-map': bag-map'(f;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] bag-map: bag-map(f;bs) true: True uiff: uiff(P;Q) rev_uimplies: rev_uimplies(P;Q) sq_or: a ↓∨ b iff: ⇐⇒ Q rev_implies:  Q
Lemmas referenced :  istype-universe bag-member_wf decidable_wf equal_wf subtype_rel_self bag_wf bag-map'_wf subtype_rel_bag bag_to_squash_list bag-subtype bag_qinc list-subtype-bag nat_properties full-omega-unsat intformand_wf intformle_wf itermConstant_wf itermVar_wf intformless_wf istype-int int_formula_prop_and_lemma istype-void int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_less_lemma int_formula_prop_wf ge_wf less_than_wf list-cases empty-bag_wf product_subtype_list colength-cons-not-zero colength_wf_list istype-false le_wf list_wf subtract-1-ge-0 subtype_base_sq intformeq_wf int_formula_prop_eq_lemma set_subtype_base int_subtype_base spread_cons_lemma decidable__equal_int subtract_wf intformnot_wf itermSubtract_wf itermAdd_wf int_formula_prop_not_lemma int_term_value_subtract_lemma int_term_value_add_lemma decidable__le cons-bag_wf nat_wf bag_map_empty_lemma cons_wf list_ind_cons_lemma list_ind_nil_lemma bag-map-append single-bag_wf top_wf map_cons_lemma map_nil_lemma squash_wf true_wf bag-member-cons exists_wf subtype_rel_dep_function subtype_rel_sets subtype_rel-equal all_wf bag-subtype2 decidable_functionality decidable__bag-member2
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity lambdaFormation_alt sqequalRule functionIsType setIsType cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality hypothesis universeIsType productIsType inhabitedIsType equalityIsType1 setElimination rename setEquality applyEquality instantiate universeEquality because_Cache dependent_pairFormation_alt lambdaEquality_alt functionExtensionality dependent_functionElimination dependent_set_memberEquality_alt productElimination equalityTransitivity equalitySymmetry independent_functionElimination independent_isectElimination imageElimination intWeakElimination natural_numberEquality approximateComputation int_eqEquality isect_memberEquality_alt voidElimination independent_pairFormation axiomEquality functionIsTypeImplies unionElimination promote_hyp hypothesis_subsumption applyLambdaEquality equalityIsType4 baseApply closedConclusion baseClosed intEquality imageMemberEquality inlFormation_alt inrFormation_alt hyp_replacement

Latex:
\mforall{}T:Type.  \mforall{}P:T  {}\mrightarrow{}  \mBbbP{}.  \mforall{}b:bag(T).  \mforall{}x:\{x:T|  P[x]\}  .
    ((\mforall{}x,y:\{x:T|  P[x]\}  .    Dec(x  =  y))  {}\mRightarrow{}  (\mforall{}x:\{x:T|  x  \mdownarrow{}\mmember{}  b\}  .  \mexists{}y:\{x:T|  P[x]\}  .  (x  =  y))  {}\mRightarrow{}  Dec(x  \mdownarrow{}\mmember{}  b))



Date html generated: 2019_10_16-AM-11_30_06
Last ObjectModification: 2018_10_10-PM-07_22_58

Theory : bags_2


Home Index