### Nuprl Lemma : member_map_filter

`∀[T:Type]`
`  ∀P:T ⟶ 𝔹`
`    ∀[T':Type]`
`      ∀f:{x:T| ↑(P x)}  ⟶ T'. ∀L:T List. ∀x:T'.`
`        ((x ∈ mapfilter(f;P;L)) `⇐⇒` ∃y:T. ((y ∈ L) ∧ ((↑(P y)) c∧ (x = (f y) ∈ T'))))`

Proof

Definitions occuring in Statement :  mapfilter: `mapfilter(f;P;L)` l_member: `(x ∈ l)` list: `T List` assert: `↑b` bool: `𝔹` uall: `∀[x:A]. B[x]` cand: `A c∧ B` all: `∀x:A. B[x]` exists: `∃x:A. B[x]` iff: `P `⇐⇒` Q` and: `P ∧ Q` set: `{x:A| B[x]} ` apply: `f a` function: `x:A ⟶ B[x]` universe: `Type` equal: `s = t ∈ T`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` all: `∀x:A. B[x]` mapfilter: `mapfilter(f;P;L)` member: `t ∈ T` prop: `ℙ` implies: `P `` Q` iff: `P `⇐⇒` Q` and: `P ∧ Q` exists: `∃x:A. B[x]` cand: `A c∧ B` l_member: `(x ∈ l)` subtype_rel: `A ⊆r B` guard: `{T}` nat: `ℕ` uimplies: `b supposing a` ge: `i ≥ j ` decidable: `Dec(P)` or: `P ∨ Q` satisfiable_int_formula: `satisfiable_int_formula(fmla)` false: `False` not: `¬A` top: `Top` sq_type: `SQType(T)` assert: `↑b` ifthenelse: `if b then t else f fi ` btrue: `tt` true: `True` so_lambda: `λ2x.t[x]` so_apply: `x[s]` rev_implies: `P `` Q`
Lemmas referenced :  filter_type list_wf assert_wf l_member_wf equal_wf less_than_wf length_wf subtype_rel_list select_wf nat_properties decidable__le satisfiable-full-omega-tt intformand_wf intformnot_wf intformle_wf itermConstant_wf itermVar_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_wf member_filter assert_elim subtype_base_sq bool_wf bool_subtype_base exists_wf l_member_set2 member-map map_wf iff_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation lambdaFormation cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin cumulativity hypothesisEquality functionExtensionality applyEquality hypothesis setEquality independent_pairFormation productElimination dependent_pairFormation because_Cache equalityElimination promote_hyp equalitySymmetry hyp_replacement applyLambdaEquality setElimination rename dependent_set_memberEquality equalityTransitivity lambdaEquality sqequalRule productEquality independent_isectElimination dependent_functionElimination natural_numberEquality unionElimination int_eqEquality intEquality isect_memberEquality voidElimination voidEquality computeAll independent_functionElimination addLevel levelHypothesis instantiate impliesFunctionality functionEquality universeEquality

Latex:
\mforall{}[T:Type]
\mforall{}P:T  {}\mrightarrow{}  \mBbbB{}
\mforall{}[T':Type]
\mforall{}f:\{x:T|  \muparrow{}(P  x)\}    {}\mrightarrow{}  T'.  \mforall{}L:T  List.  \mforall{}x:T'.
((x  \mmember{}  mapfilter(f;P;L))  \mLeftarrow{}{}\mRightarrow{}  \mexists{}y:T.  ((y  \mmember{}  L)  \mwedge{}  ((\muparrow{}(P  y))  c\mwedge{}  (x  =  (f  y)))))

Date html generated: 2017_04_17-AM-07_25_40
Last ObjectModification: 2017_02_27-PM-04_04_25

Theory : list_1

Home Index