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: f a
,
function: x:A ā¶ B[x]
,
universe: Type
,
equal: s = t ā T
Definitions unfolded in proof :
uall: ā[x:A]. B[x]
,
member: t ā T
,
uiff: uiff(P;Q)
,
and: P ā§ Q
,
uimplies: b supposing a
,
squash: āT
,
prop: ā
,
implies: P
ā 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: A cā§ B
,
subtype_rel: A ār B
,
iff: P
āā Q
,
all: āx:A. B[x]
,
fset-member: a ā s
,
fset-mapfilter: fset-mapfilter(f;P;s)
,
rev_implies: P
ā 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