Nuprl Lemma : last_index_append

[T:Type]. ∀[as,bs:T List]. ∀[P:T ⟶ 𝔹].
  (last_index(as bs;x.P[x])
  if 0 <last_index(bs;x.P[x]) then ||as|| last_index(bs;x.P[x]) else last_index(as;x.P[x]) fi 
  ∈ ℤ)


Proof




Definitions occuring in Statement :  last_index: last_index(L;x.P[x]) length: ||as|| append: as bs list: List ifthenelse: if then else fi  lt_int: i <j bool: 𝔹 uall: [x:A]. B[x] so_apply: x[s] function: x:A ⟶ B[x] add: m natural_number: $n int: universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T last_index: last_index(L;x.P[x]) subtype_rel: A ⊆B uimplies: supposing a top: Top so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] sq_type: SQType(T) all: x:A. B[x] implies:  Q guard: {T} decidable: Dec(P) or: P ∨ Q satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False not: ¬A prop: nat: ge: i ≥  and: P ∧ Q pi1: fst(t) cons: [a b] colength: colength(L) nil: [] it: so_lambda: λ2x.t[x] so_apply: x[s] less_than: a < b squash: T less_than': less_than'(a;b) int_seg: {i..j-} bool: 𝔹 unit: Unit btrue: tt ifthenelse: if then else fi  uiff: uiff(P;Q) bfalse: ff pi2: snd(t) lt_int: i <j le: A ≤ B true: True bnot: ¬bb assert: b iff: ⇐⇒ Q rev_implies:  Q
Lemmas referenced :  bool_wf list_wf list_accum_append subtype_rel_list top_wf pair-eta list_accum_wf subtype_base_sq int_subtype_base decidable__equal_int length_wf satisfiable-full-omega-tt intformnot_wf intformeq_wf itermAdd_wf itermConstant_wf itermVar_wf int_formula_prop_not_lemma int_formula_prop_eq_lemma int_term_value_add_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_wf nat_properties intformand_wf intformle_wf intformless_wf int_formula_prop_and_lemma int_formula_prop_le_lemma int_formula_prop_less_lemma ge_wf less_than_wf equal-wf-T-base nat_wf colength_wf_list less_than_transitivity1 less_than_irreflexivity list-cases list_accum_nil_lemma length_of_nil_lemma add-zero product_subtype_list spread_cons_lemma decidable__le le_wf equal_wf subtract_wf itermSubtract_wf int_term_value_subtract_lemma set_subtype_base list_accum_cons_lemma length_of_cons_lemma ifthenelse_wf length_wf_nat last_index_wf int_seg_wf list_induction all_wf eqtt_to_assert pi2_wf lt_int_wf assert_of_lt_int false_wf eqff_to_assert bool_cases_sqequal bool_subtype_base assert-bnot squash_wf true_wf add_functionality_wrt_eq iff_weakening_equal
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation functionEquality cumulativity hypothesisEquality cut introduction extract_by_obid hypothesis because_Cache sqequalHypSubstitution isectElimination thin universeEquality sqequalRule applyEquality independent_isectElimination lambdaEquality isect_memberEquality voidElimination voidEquality productEquality independent_pairEquality spreadEquality productElimination instantiate intEquality dependent_functionElimination equalityTransitivity equalitySymmetry independent_functionElimination natural_numberEquality unionElimination dependent_pairFormation int_eqEquality computeAll lambdaFormation setElimination rename intWeakElimination independent_pairFormation sqequalAxiom promote_hyp hypothesis_subsumption applyLambdaEquality dependent_set_memberEquality addEquality baseClosed imageElimination functionExtensionality equalityElimination imageMemberEquality

Latex:
\mforall{}[T:Type].  \mforall{}[as,bs:T  List].  \mforall{}[P:T  {}\mrightarrow{}  \mBbbB{}].
    ...



Date html generated: 2018_05_21-PM-07_00_20
Last ObjectModification: 2017_07_26-PM-05_02_50

Theory : general


Home Index