Nuprl Lemma : search_succ

[k:ℕ]. ∀[P:ℕ1 ⟶ 𝔹].
  (search(k 1;P) if then if 0 <search(k;λi.(P (i 1))) then search(k;λi.(P (i 1))) else fi  ∈ ℤ)


Proof




Definitions occuring in Statement :  search: search(k;P) int_seg: {i..j-} nat: ifthenelse: if then else fi  lt_int: i <j bool: 𝔹 uall: [x:A]. B[x] apply: a lambda: λx.A[x] function: x:A ⟶ B[x] add: m natural_number: $n int: equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T nat: int_seg: {i..j-} lelt: i ≤ j < k and: P ∧ Q le: A ≤ B less_than': less_than'(a;b) false: False not: ¬A implies:  Q prop: rev_implies:  Q ge: i ≥  all: x:A. B[x] decidable: Dec(P) or: P ∨ Q uimplies: supposing a satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] top: Top iff: ⇐⇒ Q bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  bfalse: ff subtype_rel: A ⊆B less_than: a < b squash: T subtract: m guard: {T} sq_type: SQType(T) assert: b true: True so_lambda: λ2x.t[x] so_apply: x[s]
Lemmas referenced :  int_seg_wf bool_wf nat_wf false_wf nat_properties decidable__lt satisfiable-full-omega-tt intformand_wf intformnot_wf intformless_wf itermConstant_wf itermAdd_wf itermVar_wf intformle_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_less_lemma int_term_value_constant_lemma int_term_value_add_lemma int_term_value_var_lemma int_formula_prop_le_lemma int_formula_prop_wf lelt_wf equal-wf-T-base assert_wf bnot_wf not_wf search_property decidable__le le_wf eqtt_to_assert uiff_transitivity eqff_to_assert assert_of_bnot equal_wf decidable__equal_int search_wf subtract_wf itermSubtract_wf intformeq_wf int_term_value_subtract_lemma int_formula_prop_eq_lemma add-member-int_seg2 add-subtract-cancel lt_int_wf less_than_wf le_int_wf assert_of_lt_int assert_functionality_wrt_uiff bnot_of_lt_int assert_of_le_int subtype_base_sq int_subtype_base add-commutes add-associates add-swap int_seg_properties assert_elim bool_subtype_base int_seg_subtype all_wf isect_wf not_assert_elim btrue_neq_bfalse subtract-add-cancel
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut hypothesis functionEquality extract_by_obid sqequalHypSubstitution isectElimination thin natural_numberEquality addEquality setElimination rename hypothesisEquality sqequalRule isect_memberEquality axiomEquality because_Cache applyEquality dependent_set_memberEquality independent_pairFormation lambdaFormation dependent_functionElimination unionElimination independent_isectElimination dependent_pairFormation lambdaEquality int_eqEquality intEquality voidElimination voidEquality computeAll baseClosed equalityTransitivity equalitySymmetry productElimination equalityElimination independent_functionElimination functionExtensionality imageElimination instantiate cumulativity minusEquality applyLambdaEquality addLevel levelHypothesis

Latex:
\mforall{}[k:\mBbbN{}].  \mforall{}[P:\mBbbN{}k  +  1  {}\mrightarrow{}  \mBbbB{}].
    (search(k  +  1;P)
    =  if  P  0  then  1
        if  0  <z  search(k;\mlambda{}i.(P  (i  +  1)))  then  search(k;\mlambda{}i.(P  (i  +  1)))  +  1
        else  0
        fi  )



Date html generated: 2017_04_17-AM-09_52_59
Last ObjectModification: 2017_02_27-PM-05_48_25

Theory : num_thy_1


Home Index