Nuprl Lemma : int-list-index-property

x:ℤ. ∀L:ℤ List.  (((x ∈ L) ⇐⇒ int-list-index(L;x) < ||L||) ∧ ((x ∈ L)  (L[int-list-index(L;x)] x ∈ ℤ)))


Proof




Definitions occuring in Statement :  int-list-index: int-list-index(L;x) l_member: (x ∈ l) select: L[n] length: ||as|| list: List less_than: a < b all: x:A. B[x] iff: ⇐⇒ Q implies:  Q and: P ∧ Q int: equal: t ∈ T
Definitions unfolded in proof :  all: x:A. B[x] uall: [x:A]. B[x] member: t ∈ T so_lambda: λ2x.t[x] prop: and: P ∧ Q subtype_rel: A ⊆B int_seg: {i..j-} iff: ⇐⇒ Q rev_implies:  Q implies:  Q uimplies: supposing a so_apply: x[s] select: L[n] nil: [] it: so_lambda: λ2y.t[x; y] top: Top so_apply: x[s1;s2] cand: c∧ B not: ¬A false: False ge: i ≥  guard: {T} lelt: i ≤ j < k satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] int-list-index: int-list-index(L;x) so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3] bool: 𝔹 unit: Unit btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  nat_plus: + less_than: a < b squash: T less_than': less_than'(a;b) true: True decidable: Dec(P) or: P ∨ Q sq_type: SQType(T) bfalse: ff bnot: ¬bb assert: b nequal: a ≠ b ∈  cons: [a b] le: A ≤ B
Lemmas referenced :  list_induction iff_wf l_member_wf less_than_wf int-list-index_wf int_seg_wf length_wf equal-wf-base int_subtype_base list_subtype_base list_wf length_of_nil_lemma stuck-spread base_wf null_nil_lemma btrue_wf member-implies-null-eq-bfalse nil_wf btrue_neq_bfalse length_nil non_neg_length int_seg_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 list_ind_cons_lemma length_of_cons_lemma eq_int_wf bool_wf eqtt_to_assert assert_of_eq_int add_nat_plus length_wf_nat nat_plus_wf nat_plus_properties decidable__lt add-is-int-iff intformnot_wf itermAdd_wf intformeq_wf int_formula_prop_not_lemma int_term_value_add_lemma int_formula_prop_eq_lemma false_wf equal_wf cons_wf cons_member subtype_base_sq eqff_to_assert bool_cases_sqequal bool_subtype_base assert-bnot neg_assert_of_eq_int select-cons-tl int_seg_subtype_nat add-subtract-cancel
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity lambdaFormation cut thin introduction extract_by_obid sqequalHypSubstitution isectElimination intEquality sqequalRule lambdaEquality productEquality hypothesisEquality hypothesis applyEquality setElimination rename natural_numberEquality addEquality functionEquality baseApply closedConclusion baseClosed because_Cache independent_isectElimination productElimination independent_functionElimination dependent_functionElimination isect_memberEquality voidElimination voidEquality independent_pairFormation equalityTransitivity equalitySymmetry applyLambdaEquality dependent_pairFormation int_eqEquality computeAll unionElimination equalityElimination dependent_set_memberEquality imageMemberEquality pointwiseFunctionality promote_hyp inlFormation instantiate cumulativity imageElimination inrFormation

Latex:
\mforall{}x:\mBbbZ{}.  \mforall{}L:\mBbbZ{}  List.
    (((x  \mmember{}  L)  \mLeftarrow{}{}\mRightarrow{}  int-list-index(L;x)  <  ||L||)  \mwedge{}  ((x  \mmember{}  L)  {}\mRightarrow{}  (L[int-list-index(L;x)]  =  x)))



Date html generated: 2018_05_21-PM-07_32_24
Last ObjectModification: 2017_07_26-PM-05_07_31

Theory : general


Home Index