Nuprl Lemma : member-fset-mapfilter

[T:Type]. ∀[eqT:EqDecider(T)]. ∀[P:T ⟶ 𝔹]. ∀[X:Type]. ∀[eqX:EqDecider(X)]. ∀[f:{x:T| ↑(P x)}  ⟶ X]. ∀[s:fset(T)].
[x:X].
  uiff(x ∈ fset-mapfilter(f;P;s);↓∃y:T. (y ∈ s ∧ (↑(P y)) ∧ (x (f y) ∈ X)))


Proof




Definitions occuring in Statement :  fset-mapfilter: fset-mapfilter(f;P;s) fset-member: a ∈ s fset: fset(T) deq: EqDecider(T) assert: b bool: 𝔹 uiff: uiff(P;Q) uall: [x:A]. B[x] exists: x:A. B[x] squash: T and: P ∧ Q set: {x:A| B[x]}  apply: a function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uiff: uiff(P;Q) and: P ∧ Q uimplies: supposing a squash: T prop: implies:  Q exists: x:A. B[x] quotient: x,y:A//B[x; y] so_apply: x[s] so_lambda: λ2x.t[x] fset: fset(T) cand: c∧ B subtype_rel: A ⊆B iff: ⇐⇒ Q all: x:A. B[x] fset-member: a ∈ s fset-mapfilter: fset-mapfilter(f;P;s) rev_implies:  Q decidable: Dec(P) or: P ∨ Q sq_type: SQType(T) guard: {T} true: True false: False not: ¬A istype: istype(T)
Lemmas referenced :  fset-member_wf fset-mapfilter_wf fset-member_witness squash_wf assert_wf equal_wf istype-assert fset_wf deq_wf bool_wf istype-universe set-equal_wf list_wf equal-wf-base exists_wf set_wf subtype_rel_self l_member_wf subtype_rel_dep_function member-mapfilter mapfilter_wf assert-deq-member list_subtype_fset decidable__fset-member subtype_base_sq int_subtype_base set-equal-reflex
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  introduction cut independent_pairFormation hypothesis sqequalHypSubstitution imageElimination sqequalRule imageMemberEquality hypothesisEquality thin baseClosed Error :universeIsType,  extract_by_obid isectElimination independent_functionElimination productEquality applyEquality Error :dependent_set_memberEquality_alt,  productElimination independent_pairEquality Error :isect_memberEquality_alt,  Error :isectIsTypeImplies,  Error :inhabitedIsType,  because_Cache Error :functionIsType,  Error :setIsType,  instantiate universeEquality pertypeElimination dependent_set_memberEquality setEquality functionExtensionality lambdaEquality cumulativity pointwiseFunctionalityForEquality lambdaFormation rename setElimination independent_isectElimination equalitySymmetry equalityTransitivity dependent_functionElimination dependent_pairFormation unionElimination intEquality natural_numberEquality voidElimination promote_hyp Error :lambdaFormation_alt,  pointwiseFunctionality Error :lambdaEquality_alt,  Error :productIsType,  Error :equalityIsType4,  Error :dependent_pairFormation_alt,  Error :equalityIstype

Latex:
\mforall{}[T:Type].  \mforall{}[eqT:EqDecider(T)].  \mforall{}[P:T  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[X:Type].  \mforall{}[eqX:EqDecider(X)].
\mforall{}[f:\{x:T|  \muparrow{}(P  x)\}    {}\mrightarrow{}  X].  \mforall{}[s:fset(T)].  \mforall{}[x:X].
    uiff(x  \mmember{}  fset-mapfilter(f;P;s);\mdownarrow{}\mexists{}y:T.  (y  \mmember{}  s  \mwedge{}  (\muparrow{}(P  y))  \mwedge{}  (x  =  (f  y))))



Date html generated: 2019_06_20-PM-01_58_50
Last ObjectModification: 2018_11_23-PM-02_42_36

Theory : finite!sets


Home Index