Nuprl Lemma : update-tuple_wf

[L:Type List]. ∀[n:ℕ]. ∀[x:tuple-type(L)].  ∀[y:L[n]]. (update-tuple(||L||;x;n;y) ∈ tuple-type(L)) supposing n < ||L||


Proof




Definitions occuring in Statement :  update-tuple: update-tuple(len;x;n;y) tuple-type: tuple-type(L) select: L[n] length: ||as|| list: List nat: less_than: a < b uimplies: supposing a uall: [x:A]. B[x] member: t ∈ T universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T all: x:A. B[x] nat: implies:  Q false: False ge: i ≥  uimplies: supposing a satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] not: ¬A top: Top and: P ∧ Q prop: guard: {T} subtype_rel: A ⊆B or: P ∨ Q select: L[n] nil: [] it: so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] update-tuple: update-tuple(len;x;n;y) eq_int: (i =z j) subtract: m ifthenelse: if then else fi  bfalse: ff cons: [a b] colength: colength(L) decidable: Dec(P) so_lambda: λ2x.t[x] so_apply: x[s] sq_type: SQType(T) less_than: a < b squash: T less_than': less_than'(a;b) bool: 𝔹 unit: Unit btrue: tt uiff: uiff(P;Q) bnot: ¬bb assert: b le: A ≤ B int_upper: {i...} nequal: a ≠ b ∈  pi2: snd(t) pi1: fst(t)
Lemmas referenced :  nat_properties satisfiable-full-omega-tt 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 less_than_wf select_wf intformeq_wf int_formula_prop_eq_lemma length_wf tuple-type_wf nat_wf equal-wf-T-base colength_wf_list less_than_transitivity1 less_than_irreflexivity list_wf list-cases tupletype_nil_lemma length_of_nil_lemma stuck-spread base_wf product_subtype_list spread_cons_lemma itermAdd_wf 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 int_subtype_base decidable__equal_int tupletype_cons_lemma length_of_cons_lemma eq_int_wf bool_wf eqtt_to_assert assert_of_eq_int eqff_to_assert bool_cases_sqequal bool_subtype_base assert-bnot neg_assert_of_eq_int int_upper_subtype_nat false_wf nequal-le-implies zero-add int_upper_properties unit_wf2 null_nil_lemma subtype_rel-equal cons_wf nil_wf length-singleton select-cons-hd null_cons_lemma ifthenelse_wf null_wf assert_of_null non_neg_length add-subtract-cancel pi2_wf decidable__lt add-is-int-iff select-cons-tl
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut thin lambdaFormation extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality hypothesis setElimination rename sqequalRule intWeakElimination natural_numberEquality independent_isectElimination dependent_pairFormation lambdaEquality int_eqEquality intEquality dependent_functionElimination isect_memberEquality voidElimination voidEquality independent_pairFormation computeAll independent_functionElimination axiomEquality equalityTransitivity equalitySymmetry instantiate universeEquality because_Cache applyLambdaEquality applyEquality unionElimination baseClosed promote_hyp hypothesis_subsumption productElimination dependent_set_memberEquality addEquality cumulativity imageElimination equalityElimination productEquality independent_pairEquality pointwiseFunctionality baseApply closedConclusion

Latex:
\mforall{}[L:Type  List].  \mforall{}[n:\mBbbN{}].  \mforall{}[x:tuple-type(L)].
    \mforall{}[y:L[n]].  (update-tuple(||L||;x;n;y)  \mmember{}  tuple-type(L))  supposing  n  <  ||L||



Date html generated: 2017_04_17-AM-09_29_32
Last ObjectModification: 2017_02_27-PM-05_30_28

Theory : tuples


Home Index