Nuprl Lemma : bool_bar_induction
∀[T:Type]. ∀[A:(T List) ⟶ ℙ].
∀R:(T List) ⟶ 𝔹
((∀s:{s:T List| ↑R[s]} . A[s])
⇒ (∀s:{s:T List| ¬↑R[s]} . ((∀t:T. A[s @ [t]])
⇒ A[s]))
⇒ (∀alpha:ℕ ⟶ T. (↓∃n:ℕ. (↑R[map(alpha;upto(n))])))
⇒ A[[]])
Proof
Definitions occuring in Statement :
upto: upto(n)
,
map: map(f;as)
,
append: as @ bs
,
cons: [a / b]
,
nil: []
,
list: T List
,
nat: ℕ
,
assert: ↑b
,
bool: 𝔹
,
uall: ∀[x:A]. B[x]
,
prop: ℙ
,
so_apply: x[s]
,
all: ∀x:A. B[x]
,
exists: ∃x:A. B[x]
,
not: ¬A
,
squash: ↓T
,
implies: P
⇒ Q
,
set: {x:A| B[x]}
,
function: x:A ⟶ B[x]
,
universe: Type
Definitions unfolded in proof :
uall: ∀[x:A]. B[x]
,
all: ∀x:A. B[x]
,
implies: P
⇒ Q
,
member: t ∈ T
,
so_lambda: λ2x.t[x]
,
so_apply: x[s]
,
prop: ℙ
,
nat: ℕ
,
subtype_rel: A ⊆r B
,
uimplies: b supposing a
,
le: A ≤ B
,
and: P ∧ Q
,
less_than': less_than'(a;b)
,
false: False
,
not: ¬A
,
guard: {T}
,
decidable: Dec(P)
,
or: P ∨ Q
Lemmas referenced :
basic-bar-induction,
assert_wf,
list_wf,
decidable__assert,
all_wf,
append_wf,
cons_wf,
nil_wf,
nat_wf,
squash_wf,
exists_wf,
map_wf,
int_seg_wf,
subtype_rel_dep_function,
int_seg_subtype_nat,
false_wf,
upto_wf,
not_wf,
bool_wf
Rules used in proof :
sqequalSubstitution,
sqequalTransitivity,
computationStep,
sqequalReflexivity,
isect_memberFormation,
lambdaFormation,
cut,
lemma_by_obid,
sqequalHypSubstitution,
isectElimination,
thin,
hypothesisEquality,
sqequalRule,
lambdaEquality,
applyEquality,
hypothesis,
independent_functionElimination,
dependent_functionElimination,
because_Cache,
functionEquality,
cumulativity,
natural_numberEquality,
setElimination,
rename,
independent_isectElimination,
independent_pairFormation,
setEquality,
universeEquality,
dependent_set_memberEquality,
unionElimination
Latex:
\mforall{}[T:Type]. \mforall{}[A:(T List) {}\mrightarrow{} \mBbbP{}].
\mforall{}R:(T List) {}\mrightarrow{} \mBbbB{}
((\mforall{}s:\{s:T List| \muparrow{}R[s]\} . A[s])
{}\mRightarrow{} (\mforall{}s:\{s:T List| \mneg{}\muparrow{}R[s]\} . ((\mforall{}t:T. A[s @ [t]]) {}\mRightarrow{} A[s]))
{}\mRightarrow{} (\mforall{}alpha:\mBbbN{} {}\mrightarrow{} T. (\mdownarrow{}\mexists{}n:\mBbbN{}. (\muparrow{}R[map(alpha;upto(n))])))
{}\mRightarrow{} A[[]])
Date html generated:
2016_05_14-PM-03_19_42
Last ObjectModification:
2015_12_26-PM-01_41_54
Theory : list_1
Home
Index