Nuprl Lemma : search_property

k:ℕ. ∀P:ℕk ⟶ 𝔹.
  ((∃i:ℕk. (↑(P i)) ⇐⇒ 0 < search(k;P))
  ∧ (↑(P (search(k;P) 1))) ∧ (∀j:ℕk. ¬↑(P j) supposing j < search(k;P) 1) supposing 0 < search(k;P))


Proof




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

Latex:
\mforall{}k:\mBbbN{}.  \mforall{}P:\mBbbN{}k  {}\mrightarrow{}  \mBbbB{}.
    ((\mexists{}i:\mBbbN{}k.  (\muparrow{}(P  i))  \mLeftarrow{}{}\mRightarrow{}  0  <  search(k;P))
    \mwedge{}  (\muparrow{}(P  (search(k;P)  -  1)))  \mwedge{}  (\mforall{}j:\mBbbN{}k.  \mneg{}\muparrow{}(P  j)  supposing  j  <  search(k;P)  -  1) 
        supposing  0  <  search(k;P))



Date html generated: 2017_04_17-AM-09_52_40
Last ObjectModification: 2017_02_27-PM-05_48_12

Theory : num_thy_1


Home Index