Nuprl Lemma : list-max-property2

[T:Type]
  ∀f:T ⟶ ℤ. ∀L:T List.
    ∀n:ℤ. ∀x:T.  {(x ∈ L) ∧ (f[x] n ∈ ℤ) ∧ (∀y∈L.f[y] ≤ n)} supposing list-max(x.f[x];L) = <n, x> ∈ (ℤ × T) 
    supposing 0 < ||L||


Proof




Definitions occuring in Statement :  list-max: list-max(x.f[x];L) l_all: (∀x∈L.P[x]) l_member: (x ∈ l) length: ||as|| list: List less_than: a < b uimplies: supposing a uall: [x:A]. B[x] guard: {T} so_apply: x[s] le: A ≤ B all: x:A. B[x] and: P ∧ Q function: x:A ⟶ B[x] pair: <a, b> product: x:A × B[x] natural_number: $n int: universe: Type equal: t ∈ T
Definitions unfolded in proof :  guard: {T} uall: [x:A]. B[x] member: t ∈ T all: x:A. B[x] uimplies: supposing a prop: so_lambda: λ2x.t[x] so_apply: x[s] subtype_rel: A ⊆B implies:  Q and: P ∧ Q pi1: fst(t) pi2: snd(t) sq_type: SQType(T) cand: c∧ B
Lemmas referenced :  list-max-property member-less_than length_wf less_than_wf list_wf list-max_wf equal-wf-T-base int_subtype_base subtype_base_sq and_wf equal_wf l_member_wf l_all_wf le_wf
Rules used in proof :  sqequalSubstitution sqequalRule sqequalReflexivity sqequalTransitivity computationStep cut introduction extract_by_obid isect_memberFormation hypothesis sqequalHypSubstitution isectElimination thin hypothesisEquality lambdaFormation dependent_functionElimination natural_numberEquality cumulativity independent_isectElimination rename functionEquality intEquality universeEquality lambdaEquality applyEquality functionExtensionality productEquality setEquality productElimination axiomEquality independent_pairFormation because_Cache instantiate independent_functionElimination dependent_set_memberEquality equalityTransitivity equalitySymmetry setElimination hyp_replacement Error :applyLambdaEquality,  addLevel levelHypothesis independent_pairEquality

Latex:
\mforall{}[T:Type]
    \mforall{}f:T  {}\mrightarrow{}  \mBbbZ{}.  \mforall{}L:T  List.
        \mforall{}n:\mBbbZ{}.  \mforall{}x:T.    \{(x  \mmember{}  L)  \mwedge{}  (f[x]  =  n)  \mwedge{}  (\mforall{}y\mmember{}L.f[y]  \mleq{}  n)\}  supposing  list-max(x.f[x];L)  =  <n,  x> 
        supposing  0  <  ||L||



Date html generated: 2016_10_21-AM-10_10_33
Last ObjectModification: 2016_07_12-AM-05_29_14

Theory : list_1


Home Index