Nuprl Lemma : fset-size-remove

[T:Type]. ∀[eq:EqDecider(T)]. ∀[s:fset(T)]. ∀[x:T].  ||fset-remove(eq;x;s)|| (||s|| 1) ∈ ℤ supposing x ∈ s


Proof




Definitions occuring in Statement :  fset-size: ||s|| fset-remove: fset-remove(eq;y;s) fset-member: a ∈ s fset: fset(T) deq: EqDecider(T) uimplies: supposing a uall: [x:A]. B[x] subtract: 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 fset: fset(T) all: x:A. B[x] prop: quotient: x,y:A//B[x; y] and: P ∧ Q squash: T subtype_rel: A ⊆B istype: istype(T) true: True nat: guard: {T} iff: ⇐⇒ Q rev_implies:  Q implies:  Q fset-member: a ∈ s fset-size: ||s|| fset-remove: fset-remove(eq;y;s) fset-filter: {x ∈ P[x]} deq: EqDecider(T) or: P ∨ Q so_lambda: λ2x.t[x] so_apply: x[s] not: ¬A false: False eqof: eqof(d) uiff: uiff(P;Q) rev_uimplies: rev_uimplies(P;Q) sq_type: SQType(T) cand: c∧ B remove-first: remove-first(P;L) so_lambda: so_lambda(x,y,z.t[x; y; z]) bool: 𝔹 unit: Unit it: btrue: tt ifthenelse: if then else fi  bfalse: ff exists: x:A. B[x] bnot: ¬bb assert: b so_apply: x[s1;s2;s3] top: Top
Lemmas referenced :  list_wf set-equal_wf set-equal-reflex equal_wf squash_wf true_wf fset-size_wf fset-remove_wf subtype_rel_self istype-nat fset_wf iff_weakening_equal subtract_wf istype-int fset-member_wf deq_wf istype-universe assert-deq-member bnot_wf length_wf remove-repeats_wf length-remove-first l_member_wf remove-repeats-filter l_all_iff not_wf assert_wf member-remove-repeats safe-assert-deq subtype_base_sq int_subtype_base remove-repeats-no_repeats list_induction no_repeats_wf filter_wf5 list_ind_wf nil_wf bool_wf eqff_to_assert bool_cases_sqequal bool_subtype_base assert-bnot cons_wf filter_nil_lemma list_ind_nil_lemma filter_cons_lemma list_ind_cons_lemma eqtt_to_assert no_repeats_cons cons_member filter_trivial iff_transitivity eqof_wf iff_weakening_uiff assert_of_bnot and_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  introduction cut sqequalHypSubstitution Error :universeIsType,  extract_by_obid isectElimination thin hypothesisEquality hypothesis promote_hyp Error :lambdaFormation_alt,  Error :inhabitedIsType,  pointwiseFunctionality sqequalRule pertypeElimination productElimination Error :productIsType,  Error :equalityIsType4,  dependent_functionElimination applyEquality Error :lambdaEquality_alt,  imageElimination equalityTransitivity equalitySymmetry because_Cache intEquality natural_numberEquality imageMemberEquality baseClosed setElimination rename independent_isectElimination independent_functionElimination closedConclusion instantiate universeEquality Error :isect_memberEquality_alt,  axiomEquality Error :isectIsTypeImplies,  Error :setIsType,  unionElimination voidElimination cumulativity independent_pairFormation Error :equalityIsType1,  lambdaFormation lambdaEquality functionEquality productEquality setEquality equalityElimination dependent_pairFormation isect_memberEquality voidEquality addLevel impliesFunctionality hyp_replacement dependent_set_memberEquality applyLambdaEquality

Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[s:fset(T)].  \mforall{}[x:T].
    ||fset-remove(eq;x;s)||  =  (||s||  -  1)  supposing  x  \mmember{}  s



Date html generated: 2019_06_20-PM-01_59_48
Last ObjectModification: 2018_11_22-AM-10_00_28

Theory : finite!sets


Home Index