Nuprl Lemma : list-max-map

[T,A:Type]. ∀[g:A ⟶ T]. ∀[f:T ⟶ ℤ]. ∀[L:A List].
  list-max(x.f[x];map(g;L)) ((λp.<fst(p), (snd(p))>list-max(x.f[g x];L)) ∈ (i:ℤ × {x:T| f[x] i ∈ ℤ
  supposing 0 < ||L||


Proof




Definitions occuring in Statement :  list-max: list-max(x.f[x];L) length: ||as|| map: map(f;as) list: List less_than: a < b uimplies: supposing a uall: [x:A]. B[x] so_apply: x[s] pi1: fst(t) pi2: snd(t) set: {x:A| B[x]}  apply: a lambda: λx.A[x] 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 :  member: t ∈ T uall: [x:A]. B[x] uimplies: supposing a prop: list-max: list-max(x.f[x];L) list-max-aux: list-max-aux(x.f[x];L) top: Top so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] all: x:A. B[x] or: P ∨ Q less_than: a < b squash: T less_than': less_than'(a;b) false: False and: P ∧ Q cons: [a b] so_apply: x[s] outl: outl(x) pi1: fst(t) pi2: snd(t) assert: b ifthenelse: if then else fi  isl: isl(x) btrue: tt true: True so_lambda: λ2x.t[x] implies:  Q nat: ge: i ≥  not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] subtype_rel: A ⊆B bfalse: ff colength: colength(L) guard: {T} decidable: Dec(P) nil: [] it: sq_type: SQType(T) has-value: (a)↓ bool: 𝔹 unit: Unit uiff: uiff(P;Q) bnot: ¬bb isr: isr(x)
Lemmas referenced :  less_than_wf length_wf list_wf list_accum-map list-cases length_of_nil_lemma product_subtype_list length_of_cons_lemma list_accum_cons_lemma value-type-has-value int-value-type top_wf assert_wf isl_wf set_wf nat_properties full-omega-unsat intformand_wf intformle_wf itermConstant_wf itermVar_wf intformless_wf int_formula_prop_and_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_less_lemma int_formula_prop_wf ge_wf equal-wf-T-base nat_wf colength_wf_list int_subtype_base list_accum_nil_lemma spread_cons_lemma intformeq_wf itermAdd_wf int_formula_prop_eq_lemma int_term_value_add_lemma decidable__le intformnot_wf int_formula_prop_not_lemma le_wf equal_wf subtract_wf itermSubtract_wf int_term_value_subtract_lemma subtype_base_sq set_subtype_base decidable__equal_int lt_int_wf pi1_wf bool_wf eqtt_to_assert assert_of_lt_int eqff_to_assert bool_cases_sqequal bool_subtype_base assert-bnot ifthenelse_wf squash_wf true_wf list_accum_wf not-isr-isl isr_wf pi2_wf list-max_wf map_wf map-length list-max-property2
Rules used in proof :  cut sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity introduction extract_by_obid sqequalHypSubstitution isectElimination thin natural_numberEquality hypothesisEquality hypothesis because_Cache functionEquality intEquality universeEquality isect_memberFormation sqequalRule isect_memberEquality axiomEquality equalityTransitivity equalitySymmetry voidElimination voidEquality dependent_functionElimination unionElimination imageElimination productElimination promote_hyp hypothesis_subsumption independent_isectElimination applyEquality dependent_set_memberEquality inlEquality independent_pairEquality productEquality unionEquality lambdaEquality lambdaFormation setElimination rename intWeakElimination approximateComputation independent_functionElimination dependent_pairFormation int_eqEquality independent_pairFormation setEquality dependent_pairEquality functionExtensionality cumulativity applyLambdaEquality addEquality baseClosed instantiate callbyvalueReduce equalityElimination hyp_replacement imageMemberEquality

Latex:
\mforall{}[T,A:Type].  \mforall{}[g:A  {}\mrightarrow{}  T].  \mforall{}[f:T  {}\mrightarrow{}  \mBbbZ{}].  \mforall{}[L:A  List].
    list-max(x.f[x];map(g;L))  =  ((\mlambda{}p.<fst(p),  g  (snd(p))>)  list-max(x.f[g  x];L))  supposing  0  <  ||L||



Date html generated: 2019_06_20-PM-01_30_49
Last ObjectModification: 2018_08_21-PM-01_55_35

Theory : list_1


Home Index