Nuprl Lemma : bag-moebius-property1

[T:Type]
  ∀[eq:EqDecider(T)]. ∀[b:bag(T)].  (c∈sub-bags(eq;b)). bag-moebius(eq;c) if bag-null(b) then else fi  ∈ ℤ
  supposing valueall-type(T)


Proof




Definitions occuring in Statement :  bag-moebius: bag-moebius(eq;b) sub-bags: sub-bags(eq;bs) bag-summation: Σ(x∈b). f[x] bag-null: bag-null(bs) bag: bag(T) deq: EqDecider(T) valueall-type: valueall-type(T) ifthenelse: if then else fi  uimplies: supposing a uall: [x:A]. B[x] lambda: λx.A[x] add: m natural_number: $n int: universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a squash: T exists: x:A. B[x] prop: all: x:A. B[x] implies:  Q bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) and: P ∧ Q ifthenelse: if then else fi  so_lambda: λ2x.t[x] so_apply: x[s] cand: c∧ B assoc: Assoc(T;op) infix_ap: y decidable: Dec(P) or: P ∨ Q not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) false: False comm: Comm(T;op) bfalse: ff sq_type: SQType(T) guard: {T} bnot: ¬bb assert: b rev_implies:  Q iff: ⇐⇒ Q subtype_rel: A ⊆B top: Top pi1: fst(t) length: ||as|| bag-size: #(bs) eq_int: (i =z j) bag-has-no-repeats: bag-has-no-repeats(eq;b) bag-moebius: bag-moebius(eq;b) deq-member: x ∈b L eval_list: eval_list(t) insert: insert(a;L) reduce: reduce(f;k;as) l-union: as ⋃ bs list-to-set: list-to-set(eq;L) bag-remove-repeats: bag-remove-repeats(eq;bs) bag-to-set: bag-to-set(eq;bs) cons: [a b] single-bag: {x} nil: [] empty-bag: {} bag-splits: bag-splits(b) evalall: evalall(t) callbyvalueall: callbyvalueall bag-partitions: bag-partitions(eq;bs) list_ind: list_ind map: map(f;as) bag-map: bag-map(f;bs) sub-bags: sub-bags(eq;bs) list_accum: list_accum bag-accum: bag-accum(v,x.f[v; x];init;bs) bag-summation: Σ(x∈b). f[x] monoid_p: IsMonoid(T;op;id) ident: Ident(T;op;id) true: True ge: i ≥  le: A ≤ B nat: integ_dom: IntegDom{i} crng: CRng rng_car: |r| int_ring: -rng rng: Rng rng_zero: 0 pi2: snd(t) rng_plus: +r rng_minus: -r sq_stable: SqStable(P) bag-member: x ↓∈ bs inject: Inj(A;B;f) rev_uimplies: rev_uimplies(P;Q) less_than: a < b sub-bag: sub-bag(T;as;bs) deq: EqDecider(T) eqof: eqof(d) sq_or: a ↓∨ b less_than': less_than'(a;b) nat_plus: + subtract: m int_seg: {i..j-} nequal: a ≠ b ∈  lelt: i ≤ j < k
Lemmas referenced :  bag_to_squash_list bag-null_wf eqtt_to_assert assert-bag-null equal_wf bag-summation_wf istype-int sub-bags_wf decidable__equal_int full-omega-unsat intformnot_wf intformeq_wf itermAdd_wf itermVar_wf int_formula_prop_not_lemma int_formula_prop_eq_lemma int_term_value_add_lemma int_term_value_var_lemma int_formula_prop_wf eqff_to_assert bool_cases_sqequal subtype_base_sq bool_wf bool_subtype_base assert-bnot iff_weakening_uiff assert_wf equal-wf-T-base bag_wf empty-bag_wf deq_wf valueall-type_wf istype-universe list-subtype-bag bag_qinc satisfiable-full-omega-tt bag-summation-split bag-has-no-repeats_wf itermConstant_wf int_term_value_constant_lemma squash_wf true_wf bag-moebius_wf subtype_rel_self iff_weakening_equal int_subtype_base bag-summation-is-zero bag-filter_wf bag-member_wf bag-member-filter bnot_wf assert_of_bnot list-cases length_of_nil_lemma product_subtype_list length_of_cons_lemma non_neg_length decidable__le length_wf intformand_wf intformle_wf int_formula_prop_and_lemma int_formula_prop_le_lemma subtype_rel_bag istype-assert lt_int_wf bag-count_wf hd_wf add_functionality_wrt_eq bag-summation-minus int_ring_wf rng_car_wf equal-wf-base bag-no-repeats_wf assert-bag-has-no-repeats bag-no-repeats-filter sub-bags-no-repeats bag-no-repeats-subtype strong-subtype-set2 bag-append_wf single-bag_wf bag-no-repeats-append bag-single-no-repeats sq_stable__bag-no-repeats bag-member-single not_wf less_than_wf istype-less_than istype-void iff_transitivity assert_of_lt_int bag-member-count decidable__lt intformless_wf int_formula_prop_less_lemma bag-extensionality-no-repeats decidable__equal_set decidable__equal_bag decidable-equal-deq bag-map_wf bag-map-no-repeats bag-append-cancel sq_stable__bag-member bag-member-map bag-drop-property2 bag-drop_wf bag-member-filter-set bag-subtype2 member-sub-bags bag-append-comm sub-bag_transitivity sub-bag_wf sub-bag-iff le_wf bag-count-single safe-assert-deq length_wf_nat nat_properties bag-member-list hd_member not_functionality_wrt_implies list_wf equal_functionality_wrt_subtype_rel2 nil_wf null_wf3 subtype_rel_list top_wf assert_of_null bag-member-append bag-append-assoc2 bag-count-append cons_wf ifthenelse_wf member_wf add_nat_plus istype-false istype-le nat_plus_properties add-is-int-iff false_wf bag-summation-map assoc_wf comm_wf bag-size-append bag_size_single_lemma rem_add1 bag-size_wf rem_bounds_1 add-commutes int_seg_properties bfalse_wf int_seg_subtype_special int_seg_cases btrue_wf eq_int_wf assert_of_eq_int neg_assert_of_eq_int itermMinus_wf int_term_value_minus_lemma
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality imageElimination productElimination promote_hyp hypothesis rename hyp_replacement equalitySymmetry applyLambdaEquality dependent_functionElimination because_Cache inhabitedIsType lambdaFormation_alt unionElimination equalityElimination independent_isectElimination sqequalRule lambdaEquality_alt natural_numberEquality approximateComputation independent_functionElimination dependent_pairFormation_alt int_eqEquality Error :memTop,  universeIsType voidElimination isect_memberEquality_alt axiomEquality isectIsTypeImplies independent_pairFormation closedConclusion equalityTransitivity equalityIstype instantiate cumulativity baseClosed universeEquality applyEquality computeAll voidEquality isect_memberEquality intEquality dependent_pairFormation isect_memberFormation lambdaEquality addEquality independent_pairEquality imageMemberEquality hypothesis_subsumption setEquality setElimination setIsType dependent_set_memberEquality_alt functionIsType productIsType pointwiseFunctionality baseApply productEquality remainderEquality sqequalBase minusEquality

Latex:
\mforall{}[T:Type]
    \mforall{}[eq:EqDecider(T)].  \mforall{}[b:bag(T)].
        (\mSigma{}(c\mmember{}sub-bags(eq;b)).  bag-moebius(eq;c)  =  if  bag-null(b)  then  1  else  0  fi  ) 
    supposing  valueall-type(T)



Date html generated: 2020_05_20-AM-09_05_19
Last ObjectModification: 2020_01_04-PM-11_09_51

Theory : bags_2


Home Index