Nuprl Lemma : can-apply-p-restrict
∀[A,B:Type].
∀f:A ⟶ (B + Top)
∀[P:A ⟶ ℙ]. ∀p:∀x:A. Dec(P[x]). ∀x:A. (↑can-apply(p-restrict(f;p);x)
⇐⇒ (↑can-apply(f;x)) ∧ P[x])
Proof
Definitions occuring in Statement :
p-restrict: p-restrict(f;p)
,
can-apply: can-apply(f;x)
,
assert: ↑b
,
decidable: Dec(P)
,
uall: ∀[x:A]. B[x]
,
top: Top
,
prop: ℙ
,
so_apply: x[s]
,
all: ∀x:A. B[x]
,
iff: P
⇐⇒ Q
,
and: P ∧ Q
,
function: x:A ⟶ B[x]
,
union: left + right
,
universe: Type
Definitions unfolded in proof :
uall: ∀[x:A]. B[x]
,
all: ∀x:A. B[x]
,
p-restrict: p-restrict(f;p)
,
member: t ∈ T
,
prop: ℙ
,
so_lambda: λ2x.t[x]
,
so_apply: x[s]
,
iff: P
⇐⇒ Q
,
and: P ∧ Q
,
implies: P
⇒ Q
,
subtype_rel: A ⊆r B
,
uimplies: b supposing a
,
top: Top
,
squash: ↓T
,
true: True
,
guard: {T}
,
uiff: uiff(P;Q)
,
rev_implies: P
⇐ Q
,
rev_uimplies: rev_uimplies(P;Q)
Lemmas referenced :
can-apply-compose-iff,
iff_wf,
p-compose_wf,
and_wf,
assert_wf,
can-apply-p-filter,
assert_witness,
do-apply-p-filter,
true_wf,
squash_wf,
p-filter_wf,
do-apply_wf,
subtype_rel_union,
subtype_rel_dep_function,
can-apply_wf,
assert_functionality_wrt_uiff,
top_wf,
decidable_wf,
all_wf
Rules used in proof :
sqequalSubstitution,
sqequalTransitivity,
computationStep,
sqequalReflexivity,
isect_memberFormation,
lambdaFormation,
hypothesisEquality,
cut,
lemma_by_obid,
sqequalHypSubstitution,
isectElimination,
thin,
sqequalRule,
lambdaEquality,
applyEquality,
hypothesis,
functionEquality,
cumulativity,
universeEquality,
unionEquality,
independent_pairFormation,
introduction,
productElimination,
because_Cache,
independent_isectElimination,
isect_memberEquality,
voidElimination,
voidEquality,
imageElimination,
equalityTransitivity,
equalitySymmetry,
natural_numberEquality,
imageMemberEquality,
baseClosed,
independent_functionElimination,
dependent_functionElimination,
productEquality,
addLevel,
impliesFunctionality
Latex:
\mforall{}[A,B:Type].
\mforall{}f:A {}\mrightarrow{} (B + Top)
\mforall{}[P:A {}\mrightarrow{} \mBbbP{}]
\mforall{}p:\mforall{}x:A. Dec(P[x]). \mforall{}x:A. (\muparrow{}can-apply(p-restrict(f;p);x) \mLeftarrow{}{}\mRightarrow{} (\muparrow{}can-apply(f;x)) \mwedge{} P[x])
Date html generated:
2016_05_15-PM-03_31_25
Last ObjectModification:
2016_01_16-AM-10_48_59
Theory : general
Home
Index