Nuprl Lemma : member_filter

[T:Type]. ∀P:T ⟶ 𝔹. ∀L:T List. ∀x:T.  ((x ∈ filter(P;L)) ⇐⇒ (x ∈ L) ∧ (↑(P x)))


Proof




Definitions occuring in Statement :  l_member: (x ∈ l) filter: filter(P;l) list: List assert: b bool: 𝔹 uall: [x:A]. B[x] all: x:A. B[x] iff: ⇐⇒ Q and: P ∧ Q apply: a function: x:A ⟶ B[x] universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] member: t ∈ T so_lambda: λ2x.t[x] subtype_rel: A ⊆B so_apply: x[s] prop: uimplies: supposing a and: P ∧ Q implies:  Q top: Top iff: ⇐⇒ Q not: ¬A false: False rev_implies:  Q bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  or: P ∨ Q bfalse: ff exists: x:A. B[x] sq_type: SQType(T) guard: {T} bnot: ¬bb assert: b true: True cand: c∧ B
Lemmas referenced :  list_induction all_wf iff_wf l_member_wf filter_wf5 subtype_rel_dep_function bool_wf subtype_rel_self set_wf assert_wf list_wf filter_nil_lemma filter_cons_lemma null_nil_lemma btrue_wf member-implies-null-eq-bfalse nil_wf btrue_neq_bfalse assert_witness eqtt_to_assert cons_member cons_wf or_wf equal_wf eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot ifthenelse_wf and_wf assert_elim not_assert_elim
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  lambdaFormation cut thin introduction extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality sqequalRule lambdaEquality applyEquality because_Cache hypothesis setEquality independent_isectElimination setElimination rename productEquality independent_functionElimination dependent_functionElimination isect_memberEquality voidElimination voidEquality functionEquality Error :universeIsType,  universeEquality independent_pairFormation equalityTransitivity equalitySymmetry productElimination Error :lambdaFormation_alt,  unionElimination equalityElimination cumulativity dependent_pairFormation promote_hyp instantiate Error :inhabitedIsType,  inlFormation inrFormation dependent_set_memberEquality applyLambdaEquality natural_numberEquality

Latex:
\mforall{}[T:Type].  \mforall{}P:T  {}\mrightarrow{}  \mBbbB{}.  \mforall{}L:T  List.  \mforall{}x:T.    ((x  \mmember{}  filter(P;L))  \mLeftarrow{}{}\mRightarrow{}  (x  \mmember{}  L)  \mwedge{}  (\muparrow{}(P  x)))



Date html generated: 2019_06_20-PM-00_43_56
Last ObjectModification: 2018_09_26-PM-02_25_23

Theory : list_0


Home Index