Nuprl Lemma : bag-no-repeats-le-bag-size

[T:Type]. ∀[locs,b:bag(T)].  #(b) ≤ #(locs) supposing bag-no-repeats(T;b) ∧ (∀x:T. (x ↓∈  x ↓∈ locs))


Proof




Definitions occuring in Statement :  bag-member: x ↓∈ bs bag-no-repeats: bag-no-repeats(T;bs) bag-size: #(bs) bag: bag(T) uimplies: supposing a uall: [x:A]. B[x] le: A ≤ B all: x:A. B[x] implies:  Q and: P ∧ Q universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a and: P ∧ Q bag-no-repeats: bag-no-repeats(T;bs) squash: T exists: x:A. B[x] prop: all: x:A. B[x] implies:  Q subtype_rel: A ⊆B bag-size: #(bs) nat: le: A ≤ B false: False ge: i ≥  not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) top: Top or: P ∨ Q decidable: Dec(P) cons: [a b] less_than': less_than'(a;b) colength: colength(L) nil: [] it: guard: {T} so_lambda: λ2x.t[x] so_apply: x[s] sq_type: SQType(T) less_than: a < b so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] uiff: uiff(P;Q) cons-bag: x.b rev_uimplies: rev_uimplies(P;Q) sq_or: a ↓∨ b bag-member: x ↓∈ bs sq_stable: SqStable(P) true: True iff: ⇐⇒ Q l_member: (x ∈ l) cand: c∧ B int_seg: {i..j-} lelt: i ≤ j < k bag-append: as bs rev_implies:  Q empty-bag: {}
Lemmas referenced :  bag-member_wf bag_to_squash_list list-subtype-bag squash_wf le_wf bag-size_wf le_witness_for_triv bag-no-repeats_wf bag_wf istype-universe 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 istype-less_than list-cases length_of_nil_lemma non_neg_length decidable__le intformnot_wf int_formula_prop_not_lemma nil_wf list_wf no_repeats_wf product_subtype_list colength-cons-not-zero colength_wf_list istype-le 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 itermSubtract_wf itermAdd_wf int_term_value_subtract_lemma int_term_value_add_lemma length_of_cons_lemma no_repeats_cons bag-member-cons sq_stable__le length_wf true_wf subtype_rel_self iff_weakening_equal cons_wf istype-nat list_decomp_member equal_wf append_wf not-list-member-not-bag-member bag-member-append bag-append_wf sq_stable__sq_or bag-member-empty-iff length_wf_nat length_append subtype_rel_list top_wf add-is-int-iff false_wf add_functionality_wrt_eq
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt introduction cut sqequalHypSubstitution productElimination thin imageElimination equalitySymmetry hypothesis hyp_replacement applyLambdaEquality sqequalRule functionEquality hypothesisEquality extract_by_obid isectElimination promote_hyp applyEquality because_Cache independent_isectElimination lambdaEquality_alt inhabitedIsType rename dependent_functionElimination independent_functionElimination imageMemberEquality baseClosed universeIsType setElimination equalityTransitivity productIsType functionIsType isect_memberEquality_alt isectIsTypeImplies instantiate universeEquality lambdaFormation_alt intWeakElimination natural_numberEquality approximateComputation dependent_pairFormation_alt int_eqEquality voidElimination independent_pairFormation functionIsTypeImplies unionElimination voidEquality closedConclusion hypothesis_subsumption equalityIstype dependent_set_memberEquality_alt baseApply intEquality sqequalBase inlFormation_alt addEquality productEquality inrFormation_alt pointwiseFunctionality

Latex:
\mforall{}[T:Type].  \mforall{}[locs,b:bag(T)].
    \#(b)  \mleq{}  \#(locs)  supposing  bag-no-repeats(T;b)  \mwedge{}  (\mforall{}x:T.  (x  \mdownarrow{}\mmember{}  b  {}\mRightarrow{}  x  \mdownarrow{}\mmember{}  locs))



Date html generated: 2020_05_20-AM-08_03_04
Last ObjectModification: 2019_11_27-PM-03_05_43

Theory : bags


Home Index