Nuprl Lemma : l_all-remove-repeats

[T:Type]. ∀eq:EqDecider(T). ∀L:T List. ∀P:{x:T| (x ∈ L)}  ⟶ ℙ.  ((∀x∈remove-repeats(eq;L).P[x]) ⇐⇒ (∀x∈L.P[x]))


Proof




Definitions occuring in Statement :  remove-repeats: remove-repeats(eq;L) l_all: (∀x∈L.P[x]) l_member: (x ∈ l) list: List deq: EqDecider(T) uall: [x:A]. B[x] prop: so_apply: x[s] all: x:A. B[x] iff: ⇐⇒ Q set: {x:A| B[x]}  function: x:A ⟶ B[x] universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] subtype_rel: A ⊆B member: t ∈ T iff: ⇐⇒ Q and: P ∧ Q implies:  Q prop: so_apply: x[s] rev_implies:  Q so_lambda: λ2x.t[x] guard: {T}
Lemmas referenced :  member-remove-repeats l_member_wf remove-repeats_wf subtype_rel_self l_all_iff l_all_wf list_wf deq_wf istype-universe
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt lambdaFormation_alt cut lambdaEquality_alt setElimination thin rename dependent_set_memberEquality_alt hypothesisEquality introduction extract_by_obid sqequalHypSubstitution isectElimination dependent_functionElimination hypothesis productElimination independent_functionElimination universeIsType setIsType because_Cache independent_pairFormation sqequalRule functionIsType applyEquality instantiate promote_hyp universeEquality

Latex:
\mforall{}[T:Type]
    \mforall{}eq:EqDecider(T).  \mforall{}L:T  List.  \mforall{}P:\{x:T|  (x  \mmember{}  L)\}    {}\mrightarrow{}  \mBbbP{}.
        ((\mforall{}x\mmember{}remove-repeats(eq;L).P[x])  \mLeftarrow{}{}\mRightarrow{}  (\mforall{}x\mmember{}L.P[x]))



Date html generated: 2020_05_19-PM-09_52_30
Last ObjectModification: 2019_10_18-PM-00_14_07

Theory : decidable!equality


Home Index