Nuprl Lemma : eval-mklist-sq

[T:Type]
  ∀[n,offset:ℕ]. ∀[f:{offset..n offset-} ⟶ T].  (eval-mklist(n;f;offset) mklist(n;λi.(f (i offset)))) 
  supposing value-type(T)


Proof




Definitions occuring in Statement :  eval-mklist: eval-mklist(n;f;offset) mklist: mklist(n;f) int_seg: {i..j-} nat: value-type: value-type(T) uimplies: supposing a uall: [x:A]. B[x] apply: a lambda: λx.A[x] function: x:A ⟶ B[x] add: m universe: Type sqequal: t
Definitions unfolded in proof :  mklist: mklist(n;f) uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a nat: implies:  Q false: False ge: i ≥  not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] all: x:A. B[x] top: Top and: P ∧ Q prop: guard: {T} int_seg: {i..j-} lelt: i ≤ j < k eval-mklist: eval-mklist(n;f;offset) nil: [] it: primrec: primrec(n;b;c) subtype_rel: A ⊆B bool: 𝔹 unit: Unit btrue: tt uiff: uiff(P;Q) bfalse: ff or: P ∨ Q sq_type: SQType(T) bnot: ¬bb ifthenelse: if then else fi  assert: b rev_implies:  Q iff: ⇐⇒ Q has-value: (a)↓ decidable: Dec(P) subtract: m le: A ≤ B less_than': less_than'(a;b) true: True append: as bs so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3]
Lemmas referenced :  nat_properties full-omega-unsat intformand_wf intformle_wf itermConstant_wf itermVar_wf intformless_wf istype-int int_formula_prop_and_lemma istype-void 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 istype-less_than int_seg_wf int_seg_properties itermAdd_wf int_term_value_add_lemma subtract-1-ge-0 istype-nat value-type_wf istype-universe intformeq_wf int_formula_prop_eq_lemma int_subtype_base primrec-unroll lt_int_wf eqtt_to_assert assert_of_lt_int eqff_to_assert bool_cases_sqequal subtype_base_sq bool_wf bool_subtype_base assert-bnot iff_weakening_uiff assert_wf less_than_wf value-type-has-value decidable__le intformnot_wf int_formula_prop_not_lemma decidable__lt istype-le int-value-type subtract_wf subtype_rel_function int_seg_subtype istype-false not-le-2 condition-implies-le minus-add minus-one-mul add-swap minus-one-mul-top add-mul-special zero-mul add-zero add-associates add-commutes le-add-cancel zero-add subtype_rel_self list_wf list-value-type primrec_wf itermSubtract_wf int_term_value_subtract_lemma nil_wf append_wf cons_wf add-member-int_seg2 decidable__equal_int primrec0_lemma list_ind_nil_lemma le_reflexive list_ind_cons_lemma
Rules used in proof :  sqequalSubstitution sqequalRule sqequalReflexivity sqequalTransitivity computationStep Error :isect_memberFormation_alt,  introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality hypothesis setElimination rename intWeakElimination Error :lambdaFormation_alt,  natural_numberEquality independent_isectElimination approximateComputation independent_functionElimination Error :dependent_pairFormation_alt,  Error :lambdaEquality_alt,  int_eqEquality dependent_functionElimination Error :isect_memberEquality_alt,  voidElimination independent_pairFormation Error :universeIsType,  axiomSqEquality Error :isectIsTypeImplies,  Error :inhabitedIsType,  Error :functionIsTypeImplies,  Error :functionIsType,  addEquality because_Cache productElimination instantiate universeEquality Error :equalityIstype,  applyEquality baseClosed sqequalBase equalitySymmetry unionElimination equalityElimination equalityTransitivity promote_hyp cumulativity int_eqReduceFalseSq callbyvalueReduce Error :dependent_set_memberEquality_alt,  Error :productIsType,  intEquality minusEquality multiplyEquality closedConclusion

Latex:
\mforall{}[T:Type]
    \mforall{}[n,offset:\mBbbN{}].  \mforall{}[f:\{offset..n  +  offset\msupminus{}\}  {}\mrightarrow{}  T].
        (eval-mklist(n;f;offset)  \msim{}  mklist(n;\mlambda{}i.(f  (i  +  offset)))) 
    supposing  value-type(T)



Date html generated: 2019_06_20-PM-01_31_17
Last ObjectModification: 2019_01_21-AM-11_12_10

Theory : list_1


Home Index