Nuprl Lemma : colength-positive

[T:Type]. ∀[L:T List].
  (0 < colength(L)
   {(fst(L) ∈ T) ∧ (snd(L) ∈ List) ∧ (colength(L) (1 colength(snd(L))) ∈ ℤ) ∧ (L [fst(L) (snd(L))])})


Proof




Definitions occuring in Statement :  cons: [a b] list: List colength: colength(L) less_than: a < b uall: [x:A]. B[x] guard: {T} pi1: fst(t) pi2: snd(t) implies:  Q and: P ∧ Q member: t ∈ T add: m natural_number: $n int: universe: Type sqequal: t equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T implies:  Q guard: {T} list: List ext-eq: A ≡ B and: P ∧ Q subtype_rel: A ⊆B all: x:A. B[x] bool: 𝔹 unit: Unit it: btrue: tt uimplies: 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: 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