Nuprl Lemma : bag-parts-no-repeats

[T:Type]. ∀[eq:EqDecider(T)]. ∀[bs:bag(T)].  bag-no-repeats(bag(T) List+;bag-parts(eq;bs)) supposing valueall-type(T)


Proof




Definitions occuring in Statement :  bag-parts: bag-parts(eq;bs) bag-no-repeats: bag-no-repeats(T;bs) bag: bag(T) listp: List+ deq: EqDecider(T) valueall-type: valueall-type(T) uimplies: supposing a uall: [x:A]. B[x] universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a bag-no-repeats: bag-no-repeats(T;bs) squash: T all: x:A. B[x] nat: implies:  Q false: False ge: i ≥  not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] and: P ∧ Q prop: guard: {T} int_seg: {i..j-} lelt: i ≤ j < k le: A ≤ B decidable: Dec(P) or: P ∨ Q subtype_rel: A ⊆B so_lambda: λ2x.t[x] so_apply: x[s] sq_type: SQType(T) empty-bag: {} cons: [a b] less_than': less_than'(a;b) colength: colength(L) nil: [] it: less_than: a < b so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] cons-bag: x.b istype: istype(T) bag-size: #(bs) bag-parts: bag-parts(eq;bs) bag-partitions: bag-partitions(eq;bs) bag-splits: bag-splits(b) list_ind: list_ind bag-append: as bs append: as bs bag-map: bag-map(f;bs) map: map(f;as) single-bag: {x} pi1: fst(t) pi2: snd(t) bottom: bag-to-set: bag-to-set(eq;bs) bag-remove-repeats: bag-remove-repeats(eq;bs) list-to-set: list-to-set(eq;L) l-union: as ⋃ bs reduce: reduce(f;k;as) insert: insert(a;L) eval_list: eval_list(t) ifthenelse: if then else fi  deq-member: x ∈b L bor: p ∨bq proddeq: proddeq(a;b) band: p ∧b q bag-deq: bag-deq(eq) bag-eq: bag-eq(eq;as;bs) bag-all: bag-all(x.p[x];bs) bag-reduce: bag-reduce(x,y.f[x; y];zero;bs) btrue: tt eq_int: (i =z j) bag-count: (#x in bs) count: count(P;L) bfalse: ff lt_int: i <j bag-combine: x∈bs.f[x] bag-union: bag-union(bbs) concat: concat(ll) bag-null: bag-null(bs) null: null(as) so_lambda: so_lambda4 so_apply: x[s1;s2;s3;s4] strict4: strict4(F) callbyvalueall: callbyvalueall evalall: evalall(t) has-value: (a)↓ uiff: uiff(P;Q) has-valueall: has-valueall(a) bool: 𝔹 unit: Unit bnot: ¬bb assert: b rev_implies:  Q iff: ⇐⇒ Q listp: List+ cand: c∧ B length: ||as|| true: True inject: Inj(A;B;f) rev_uimplies: rev_uimplies(P;Q)
Lemmas referenced :  bag_wf deq_wf valueall-type_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 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 int_seg_properties int_seg_wf subtract-1-ge-0 decidable__equal_int subtract_wf subtype_base_sq set_subtype_base lelt_wf int_subtype_base intformnot_wf intformeq_wf itermSubtract_wf int_formula_prop_not_lemma int_formula_prop_eq_lemma int_term_value_subtract_lemma decidable__le decidable__lt istype-le subtype_rel_self bag_to_squash_list le_wf bag-size_wf bag-no-repeats_wf listp_wf bag-parts_wf list-cases product_subtype_list colength-cons-not-zero colength_wf_list istype-void list_wf spread_cons_lemma itermAdd_wf int_term_value_add_lemma squash_wf equal_wf list-subtype-bag no_repeats_wf istype-nat empty-bag-no-repeats length_of_nil_lemma lifting-strict-callbyvalueall has-valueall-if-has-value-callbyvalueall has-valueall-has-value has-value_wf_base istype-base is-exception_wf is-exception-evalall cbv_sqequal lifting-strict-ifthenelse strict4-decide lifting-strict-ispair has-value-ifthenelse-type lifting-strict-spread strict4-ispair value-type-has-value int-value-type lifting-strict-isaxiom cons-bag_wf length_of_cons_lemma length_wf add-is-int-iff false_wf valueall-type-has-valueall bag-valueall-type product-valueall-type bag-partitions_wf evalall-reduce bag-combine-no-repeats bag-member_wf bag-null_wf empty-bag_wf eqff_to_assert bool_cases_sqequal bool_wf bool_subtype_base assert-bnot iff_weakening_uiff assert_wf equal-wf-T-base pi1_wf_top assert-bag-null subtype_rel_product top_wf single-bag_wf cons_wf_listp nil_wf pi2_wf set-valueall-type less_than_wf list-valueall-type bag-map_wf cons-listp product-deq_wf bag-deq_wf strong-subtype-deq-subtype strong-subtype-set2 list-deq_wf strong-subtype-set3 strong-subtype-self bag-subtype subtype_rel_set bag_size_cons_lemma bool_cases eqtt_to_assert bag-member-empty-iff iff_transitivity bnot_wf not_wf assert_of_bnot istype-assert bag-member-single reduce_hd_cons_lemma hd_wf istype-false bag-member-map bag-member-parts listp_properties true_wf iff_weakening_equal tl_wf reduce_tl_cons_lemma bag-union_wf reduce_nil_lemma length_cons_ge_one subtype_rel_list bag_qinc bag-single-no-repeats bag-map-no-repeats easy-member-int_seg bag-member-partitions bag-size-append bag-size-zero no-repeats-bag-partitions bag-no-repeats-settype decidable__equal_product decidable__equal_bag decidable-equal-deq
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt introduction cut sqequalRule sqequalHypSubstitution imageElimination hypothesis imageMemberEquality hypothesisEquality thin baseClosed universeIsType extract_by_obid isectElimination isect_memberEquality_alt isectIsTypeImplies inhabitedIsType instantiate universeEquality lambdaFormation_alt setElimination rename intWeakElimination natural_numberEquality independent_isectElimination approximateComputation independent_functionElimination dependent_pairFormation_alt lambdaEquality_alt int_eqEquality dependent_functionElimination Error :memTop,  independent_pairFormation voidElimination functionIsTypeImplies productElimination unionElimination applyEquality cumulativity intEquality equalityTransitivity equalitySymmetry applyLambdaEquality dependent_set_memberEquality_alt because_Cache productIsType promote_hyp hypothesis_subsumption hyp_replacement functionEquality equalityIstype baseApply closedConclusion sqequalBase productEquality addEquality callbyvalueExceptionCases inrFormation_alt callbyvalueCallbyvalue callbyvalueReduce sqleReflexivity decideExceptionCases exceptionSqequal inlFormation_alt callbyvalueAdd addExceptionCases sqequalSqle divergentSqle callbyvalueSpread spreadExceptionCases axiomSqleEquality callbyvalueDecide pointwiseFunctionality setEquality equalityElimination independent_pairEquality setIsType functionIsType

Latex:
\mforall{}[T:Type]
    \mforall{}[eq:EqDecider(T)].  \mforall{}[bs:bag(T)].    bag-no-repeats(bag(T)  List\msupplus{};bag-parts(eq;bs)) 
    supposing  valueall-type(T)



Date html generated: 2020_05_20-AM-09_04_42
Last ObjectModification: 2020_01_01-PM-00_11_16

Theory : bags_2


Home Index