### Nuprl Lemma : list_decomp

`∀[T:Type]. ∀[L:T List].  L ~ [hd(L) / tl(L)] supposing 0 < ||L||`

Proof

Definitions occuring in Statement :  hd: `hd(l)` length: `||as||` tl: `tl(l)` cons: `[a / b]` list: `T List` less_than: `a < b` uimplies: `b supposing a` uall: `∀[x:A]. B[x]` natural_number: `\$n` universe: `Type` sqequal: `s ~ t`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` member: `t ∈ T` all: `∀x:A. B[x]` nat: `ℕ` implies: `P `` Q` false: `False` ge: `i ≥ j ` guard: `{T}` uimplies: `b supposing a` prop: `ℙ` subtype_rel: `A ⊆r B` or: `P ∨ Q` less_than: `a < b` squash: `↓T` less_than': `less_than'(a;b)` and: `P ∧ Q` cons: `[a / b]` colength: `colength(L)` so_lambda: `λ2x y.t[x; y]` top: `Top` so_apply: `x[s1;s2]` sq_stable: `SqStable(P)` uiff: `uiff(P;Q)` le: `A ≤ B` not: `¬A` true: `True` decidable: `Dec(P)` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` subtract: `n - m` nil: `[]` it: `⋅` so_lambda: `λ2x.t[x]` so_apply: `x[s]` sq_type: `SQType(T)`
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut thin lambdaFormation extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality hypothesis setElimination rename intWeakElimination natural_numberEquality independent_isectElimination independent_functionElimination voidElimination sqequalRule lambdaEquality dependent_functionElimination isect_memberEquality sqequalAxiom cumulativity equalityTransitivity equalitySymmetry applyEquality because_Cache unionElimination imageElimination productElimination promote_hyp hypothesis_subsumption voidEquality applyLambdaEquality imageMemberEquality baseClosed addEquality dependent_set_memberEquality independent_pairFormation minusEquality intEquality instantiate universeEquality

Latex:
\mforall{}[T:Type].  \mforall{}[L:T  List].    L  \msim{}  [hd(L)  /  tl(L)]  supposing  0  <  ||L||

Date html generated: 2017_04_14-AM-08_47_52
Last ObjectModification: 2017_02_27-PM-03_34_39

Theory : list_0

Home Index