Nuprl Lemma : list-functionality-induction
∀T,A:Type. ∀F:Base.
((F[[]] ∈ A)
⇒ (∀a1,a2,L1,L2:Base. ((a1 = a2 ∈ T)
⇒ (F[L1] = F[L2] ∈ A)
⇒ (F[[a1 / L1]] = F[[a2 / L2]] ∈ A)))
⇒ (∀L:T List. (F[L] ∈ A)))
Proof
Definitions occuring in Statement :
cons: [a / b]
,
nil: []
,
list: T List
,
so_apply: x[s]
,
all: ∀x:A. B[x]
,
implies: P
⇒ Q
,
member: t ∈ T
,
base: Base
,
universe: Type
,
equal: s = t ∈ T
Definitions unfolded in proof :
all: ∀x:A. B[x]
,
implies: P
⇒ Q
,
member: t ∈ T
,
uall: ∀[x:A]. B[x]
,
prop: ℙ
,
so_lambda: λ2x.t[x]
,
so_apply: x[s]
,
nat: ℕ
,
false: False
,
ge: i ≥ j
,
guard: {T}
,
uimplies: b supposing a
,
subtype_rel: A ⊆r B
,
decidable: Dec(P)
,
or: P ∨ Q
,
iff: P
⇐⇒ Q
,
and: P ∧ Q
,
not: ¬A
,
rev_implies: P
⇐ Q
,
uiff: uiff(P;Q)
,
subtract: n - m
,
top: Top
,
le: A ≤ B
,
less_than': less_than'(a;b)
,
true: True
,
squash: ↓T
,
cand: A c∧ B
,
b-union: A ⋃ B
,
tunion: ⋃x:A.B[x]
,
bool: 𝔹
,
unit: Unit
,
ifthenelse: if b then t else f fi
,
pi2: snd(t)
,
colength: colength(L)
,
less_than: a < b
Lemmas referenced :
list_wf,
all_wf,
base_wf,
equal-wf-base,
nat_properties,
less_than_transitivity1,
less_than_irreflexivity,
ge_wf,
less_than_wf,
colength_wf_list,
equal_wf,
decidable__le,
subtract_wf,
false_wf,
not-ge-2,
less-iff-le,
condition-implies-le,
minus-one-mul,
zero-add,
minus-one-mul-top,
minus-add,
minus-minus,
add-associates,
add-swap,
add-commutes,
add_functionality_wrt_le,
add-zero,
le-add-cancel,
int_subtype_base,
nat_wf,
colength-zero,
subtype_rel_list,
top_wf,
colength-positive2,
le_weakening2,
le_wf,
and_wf,
pi1_wf,
le_weakening,
list-ext,
ext-eq_inversion,
b-union_wf,
unit_wf2,
subtype_rel_weakening,
pi2_wf,
decidable__int_equal,
not-equal-2,
le_antisymmetry_iff
Rules used in proof :
sqequalSubstitution,
sqequalTransitivity,
computationStep,
sqequalReflexivity,
lambdaFormation,
cut,
pointwiseFunctionalityForEquality,
hypothesisEquality,
sqequalHypSubstitution,
hypothesis,
introduction,
extract_by_obid,
isectElimination,
thin,
cumulativity,
sqequalRule,
lambdaEquality,
functionEquality,
baseApply,
closedConclusion,
baseClosed,
because_Cache,
universeEquality,
setElimination,
rename,
intWeakElimination,
natural_numberEquality,
independent_isectElimination,
independent_functionElimination,
voidElimination,
dependent_functionElimination,
axiomEquality,
intEquality,
applyEquality,
applyLambdaEquality,
equalityTransitivity,
equalitySymmetry,
unionElimination,
independent_pairFormation,
productElimination,
addEquality,
isect_memberEquality,
voidEquality,
minusEquality,
imageMemberEquality,
dependent_set_memberEquality,
productEquality,
hypothesis_subsumption,
imageElimination,
equalityElimination,
setEquality
Latex:
\mforall{}T,A:Type. \mforall{}F:Base.
((F[[]] \mmember{} A)
{}\mRightarrow{} (\mforall{}a1,a2,L1,L2:Base. ((a1 = a2) {}\mRightarrow{} (F[L1] = F[L2]) {}\mRightarrow{} (F[[a1 / L1]] = F[[a2 / L2]])))
{}\mRightarrow{} (\mforall{}L:T List. (F[L] \mmember{} A)))
Date html generated:
2017_04_14-AM-07_54_33
Last ObjectModification:
2017_02_27-PM-03_22_02
Theory : list_0
Home
Index