Nuprl Lemma : remove-repeats-filter

[T:Type]. ∀[eq:EqDecider(T)]. ∀[P:T ⟶ 𝔹]. ∀[L:T List].
  (remove-repeats(eq;filter(P;L)) filter(P;remove-repeats(eq;L)) ∈ (T List))


Proof




Definitions occuring in Statement :  remove-repeats: remove-repeats(eq;L) filter: filter(P;l) list: List deq: EqDecider(T) bool: 𝔹 uall: [x:A]. B[x] function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T so_lambda: λ2x.t[x] subtype_rel: A ⊆B so_apply: x[s] prop: uimplies: supposing a all: x:A. B[x] implies:  Q top: Top bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) and: P ∧ Q ifthenelse: if then else fi  squash: T true: True bfalse: ff exists: x:A. B[x] or: P ∨ Q sq_type: SQType(T) guard: {T} bnot: ¬bb assert: b false: False deq: EqDecider(T) iff: ⇐⇒ Q rev_implies:  Q not: ¬A eqof: eqof(d) band: p ∧b q
Lemmas referenced :  list_induction equal_wf list_wf remove-repeats_wf filter_wf5 subtype_rel_dep_function bool_wf l_member_wf set_wf subtype_rel_self filter_nil_lemma remove_repeats_nil_lemma nil_wf filter_cons_lemma remove_repeats_cons_lemma eqtt_to_assert cons_wf eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot filter-filter band_wf bnot_wf iff_weakening_equal iff_imp_equal_bool assert_elim and_wf not_assert_elim btrue_neq_bfalse assert_wf not_wf iff_transitivity eqof_wf iff_weakening_uiff assert_of_band assert_of_bnot safe-assert-deq iff_wf deq_wf band_commutes
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut thin extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality sqequalRule lambdaEquality cumulativity hypothesis because_Cache applyEquality setEquality independent_isectElimination setElimination rename lambdaFormation independent_functionElimination dependent_functionElimination isect_memberEquality voidElimination voidEquality functionExtensionality unionElimination equalityElimination equalityTransitivity equalitySymmetry productElimination imageElimination natural_numberEquality imageMemberEquality baseClosed dependent_pairFormation promote_hyp instantiate independent_pairFormation addLevel levelHypothesis dependent_set_memberEquality applyLambdaEquality productEquality impliesFunctionality andLevelFunctionality impliesLevelFunctionality axiomEquality functionEquality universeEquality

Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[P:T  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[L:T  List].
    (remove-repeats(eq;filter(P;L))  =  filter(P;remove-repeats(eq;L)))



Date html generated: 2017_04_17-AM-09_10_35
Last ObjectModification: 2017_02_27-PM-05_19_19

Theory : decidable!equality


Home Index