Nuprl Lemma : member-mapfilter-witness_wf

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


Proof




Definitions occuring in Statement :  member-mapfilter-witness: member-mapfilter-witness() mapfilter: mapfilter(f;P;L) l_member: (x ∈ l) list: List assert: b bool: 𝔹 uall: [x:A]. B[x] cand: c∧ B all: x:A. B[x] exists: x:A. B[x] iff: ⇐⇒ Q and: P ∧ Q member: t ∈ T set: {x:A| B[x]}  apply: a function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  member: t ∈ T member-mapfilter-witness: member-mapfilter-witness() member-mapfilter-univ member_map_filter uall: [x:A]. B[x] so_lambda: so_lambda(x,y,z,w.t[x; y; z; w]) so_apply: x[s1;s2;s3;s4] so_lambda: λ2y.t[x; y] top: Top so_apply: x[s1;s2] uimplies: supposing a member-map member_map select: L[n] subtract: m filter: filter(P;l) reduce: reduce(f;k;as) list_ind: list_ind ifthenelse: if then else fi  cons: [a b] nil: [] it: strict4: strict4(F) and: P ∧ Q all: x:A. B[x] implies:  Q has-value: (a)↓ prop: guard: {T} or: P ∨ Q squash: T member_filter list_induction cons_member so_lambda: λ2x.t[x] so_apply: x[s] decidable__assert eq_int: (i =z j) btrue: tt bfalse: ff iff_weakening_equal uiff_transitivity nil_member l_member-settype assert_of_bnot l_member_set2 select_member
Lemmas referenced :  member-mapfilter-univ lifting-strict-spread strict4-spread has-value_wf_base base_wf is-exception_wf lifting-strict-decide top_wf equal_wf lifting-strict-int_eq member_map_filter member-map member_map member_filter list_induction cons_member decidable__assert iff_weakening_equal uiff_transitivity nil_member l_member-settype assert_of_bnot l_member_set2 select_member
Rules used in proof :  cut sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity instantiate extract_by_obid hypothesis sqequalRule thin sqequalHypSubstitution equalityTransitivity equalitySymmetry introduction isectElimination baseClosed isect_memberEquality voidElimination voidEquality independent_isectElimination independent_pairFormation lambdaFormation callbyvalueApply baseApply closedConclusion hypothesisEquality applyExceptionCases inrFormation imageMemberEquality imageElimination exceptionSqequal inlFormation callbyvalueDecide unionEquality unionElimination sqleReflexivity dependent_functionElimination independent_functionElimination decideExceptionCases because_Cache

Latex:
member-mapfilter-witness()  \mmember{}  \mforall{}[T:Type]
                                                              \mforall{}L:T  List.  \mforall{}P:\{x:T|  (x  \mmember{}  L)\}    {}\mrightarrow{}  \mBbbB{}.
                                                                  \mforall{}[T':Type]
                                                                      \mforall{}f:\{x:T|  (x  \mmember{}  L)  c\mwedge{}  (\muparrow{}(P  x))\}    {}\mrightarrow{}  T'.  \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_54
Last ObjectModification: 2017_02_27-PM-04_04_53

Theory : list_1


Home Index