Nuprl Lemma : colength-positive
∀[T:Type]. ∀[L:T List].
(0 < colength(L)
⇒ {(fst(L) ∈ T) ∧ (snd(L) ∈ T List) ∧ (colength(L) = (1 + colength(snd(L))) ∈ ℤ) ∧ (L ~ [fst(L) / (snd(L))])})
Proof
Definitions occuring in Statement :
cons: [a / b]
,
list: T List
,
colength: colength(L)
,
less_than: a < b
,
uall: ∀[x:A]. B[x]
,
guard: {T}
,
pi1: fst(t)
,
pi2: snd(t)
,
implies: P
⇒ Q
,
and: P ∧ Q
,
member: t ∈ T
,
add: n + m
,
natural_number: $n
,
int: ℤ
,
universe: Type
,
sqequal: s ~ t
,
equal: s = t ∈ T
Definitions unfolded in proof :
uall: ∀[x:A]. B[x]
,
member: t ∈ T
,
implies: P
⇒ Q
,
guard: {T}
,
list: T List
,
ext-eq: A ≡ B
,
and: P ∧ Q
,
subtype_rel: A ⊆r B
,
all: ∀x:A. B[x]
,
bool: 𝔹
,
unit: Unit
,
it: ⋅
,
btrue: tt
,
uimplies: b supposing a
,
nil: []
,
colength: colength(L)
,
has-value: (a)↓
,
cons: [a / b]
,
less_than: a < b
,
squash: ↓T
,
less_than': less_than'(a;b)
,
false: False
,
bfalse: ff
,
pi1: fst(t)
,
pi2: snd(t)
,
cand: A c∧ B
,
nat: ℕ
,
prop: ℙ
,
so_lambda: λ2x.t[x]
,
so_apply: x[s]
Lemmas referenced :
colist-ext,
isaxiom_wf_listunion,
colist_wf,
bool_wf,
subtype_rel_b-union-left,
unit_wf2,
axiom-listunion,
subtype_rel_b-union-right,
non-axiom-listunion,
colength_wf_list,
nat_wf,
equal_wf,
less_than_wf,
list_wf,
colength_wf,
subtype_partial_sqtype_base,
set_subtype_base,
le_wf,
int_subtype_base,
value-type-has-value,
int-value-type,
has-value_wf-partial,
set-value-type
Rules used in proof :
sqequalSubstitution,
sqequalTransitivity,
computationStep,
sqequalReflexivity,
isect_memberFormation,
introduction,
cut,
lambdaFormation,
sqequalHypSubstitution,
setElimination,
thin,
rename,
extract_by_obid,
isectElimination,
hypothesisEquality,
promote_hyp,
productElimination,
hypothesis_subsumption,
hypothesis,
applyEquality,
sqequalRule,
unionElimination,
equalityElimination,
productEquality,
independent_isectElimination,
imageElimination,
voidElimination,
independent_pairFormation,
addEquality,
natural_numberEquality,
cumulativity,
lambdaEquality,
equalityTransitivity,
equalitySymmetry,
dependent_functionElimination,
independent_functionElimination,
independent_pairEquality,
axiomEquality,
sqequalAxiom,
because_Cache,
isect_memberEquality,
universeEquality,
intEquality,
callbyvalueAdd,
baseClosed,
dependent_set_memberEquality
Latex:
\mforall{}[T:Type]. \mforall{}[L:T List].
(0 < colength(L)
{}\mRightarrow{} \{(fst(L) \mmember{} T)
\mwedge{} (snd(L) \mmember{} T List)
\mwedge{} (colength(L) = (1 + colength(snd(L))))
\mwedge{} (L \msim{} [fst(L) / (snd(L))])\})
Date html generated:
2017_04_14-AM-07_54_20
Last ObjectModification:
2017_02_27-PM-03_21_16
Theory : list_0
Home
Index