Nuprl Lemma : find-xover-val_wf

[T:Type]
  ∀[test:T ⟶ 𝔹]. ∀[x:ℤ]. ∀[n:{x...}]. ∀[step:ℕ+]. ∀[f:{x...} ⟶ T].
    find-xover-val(test;f;x;n;step) ∈ v:T
    × n':{n':ℤ(n ≤ n') ∧ (v (f n') ∈ T) ∧ test tt} 
    × {x':ℤ
       ((n' n ∈ ℤ) ∧ (x' x ∈ ℤ)) ∨ (((n ≤ x') ∧ test (f x') ff) ∧ ((n' (n step) ∈ ℤ) ∨ ((n step) ≤ x')))}  
    supposing ∃m:{n...}. ∀k:{m...}. test (f k) tt 
  supposing value-type(T)


Proof




Definitions occuring in Statement :  find-xover-val: find-xover-val(test;f;m;n;step) int_upper: {i...} nat_plus: + value-type: value-type(T) bfalse: ff btrue: tt bool: 𝔹 uimplies: supposing a uall: [x:A]. B[x] le: A ≤ B all: x:A. B[x] exists: x:A. B[x] or: P ∨ Q and: P ∧ Q member: t ∈ T set: {x:A| B[x]}  apply: a function: x:A ⟶ B[x] product: x:A × B[x] add: m int: universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] uimplies: supposing a all: x:A. B[x] member: t ∈ T nat: implies:  Q false: False ge: i ≥  not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] top: Top and: P ∧ Q prop: guard: {T} int_seg: {i..j-} lelt: i ≤ j < k decidable: Dec(P) or: P ∨ Q subtype_rel: A ⊆B so_lambda: λ2x.t[x] so_apply: x[s] sq_type: SQType(T) find-xover-val: find-xover-val(test;f;m;n;step) has-value: (a)↓ nat_plus: + int_upper: {i...} bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  cand: c∧ B assert: b iff: ⇐⇒ Q true: True rev_implies:  Q squash: T bfalse: ff bnot: ¬bb sq_stable: SqStable(P) subtract: m le: A ≤ B less_than': less_than'(a;b)
Lemmas referenced :  nat_properties full-omega-unsat intformand_wf intformle_wf itermConstant_wf itermVar_wf intformless_wf istype-int int_formula_prop_and_lemma istype-void 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 istype-less_than int_seg_properties int_seg_wf subtract-1-ge-0 decidable__equal_int subtract_wf subtype_base_sq set_subtype_base lelt_wf int_subtype_base intformnot_wf intformeq_wf itermSubtract_wf int_formula_prop_not_lemma int_formula_prop_eq_lemma int_term_value_subtract_lemma decidable__le decidable__lt istype-le subtype_rel_self value-type-has-value int-value-type eqtt_to_assert nat_plus_properties int_upper_properties iff_imp_equal_bool btrue_wf true_wf bool_wf le_wf less_than_wf equal_wf equal-wf-T-base eqff_to_assert bool_cases_sqequal bool_subtype_base assert-bnot istype-int_upper upper_subtype_upper sq_stable__le le_transitivity nat_plus_wf itermAdd_wf int_term_value_add_lemma istype-nat value-type_wf istype-universe itermMultiply_wf int_term_value_mul_lemma subtype_rel_function int_upper_wf squash_wf istype-false not-le-2 condition-implies-le add-associates minus-add minus-one-mul add-swap minus-one-mul-top add-commutes add_functionality_wrt_le le-add-cancel iff_weakening_equal not_assert_elim btrue_neq_bfalse bfalse_wf assert_elim istype-assert
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  cut Error :lambdaFormation_alt,  thin introduction extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality hypothesis setElimination rename sqequalRule intWeakElimination natural_numberEquality independent_isectElimination approximateComputation independent_functionElimination Error :dependent_pairFormation_alt,  Error :lambdaEquality_alt,  int_eqEquality dependent_functionElimination Error :isect_memberEquality_alt,  voidElimination independent_pairFormation Error :universeIsType,  axiomEquality equalityTransitivity equalitySymmetry Error :isectIsTypeImplies,  Error :inhabitedIsType,  Error :functionIsTypeImplies,  productElimination unionElimination applyEquality instantiate cumulativity intEquality applyLambdaEquality Error :dependent_set_memberEquality_alt,  because_Cache Error :productIsType,  hypothesis_subsumption callbyvalueReduce multiplyEquality addEquality equalityElimination Error :dependent_pairEquality_alt,  Error :equalityIstype,  Error :inlFormation_alt,  baseClosed sqequalBase Error :unionIsType,  baseApply closedConclusion productEquality Error :setIsType,  imageMemberEquality imageElimination promote_hyp Error :functionIsType,  universeEquality minusEquality Error :inrFormation_alt

Latex:
\mforall{}[T:Type]
    \mforall{}[test:T  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[x:\mBbbZ{}].  \mforall{}[n:\{x...\}].  \mforall{}[step:\mBbbN{}\msupplus{}].  \mforall{}[f:\{x...\}  {}\mrightarrow{}  T].
        find-xover-val(test;f;x;n;step)  \mmember{}  v:T
        \mtimes{}  n':\{n':\mBbbZ{}|  (n  \mleq{}  n')  \mwedge{}  (v  =  (f  n'))  \mwedge{}  test  v  =  tt\} 
        \mtimes{}  \{x':\mBbbZ{}| 
              ((n'  =  n)  \mwedge{}  (x'  =  x))
              \mvee{}  (((n  \mleq{}  x')  \mwedge{}  test  (f  x')  =  ff)  \mwedge{}  ((n'  =  (n  +  step))  \mvee{}  ((n  +  step)  \mleq{}  x')))\}   
        supposing  \mexists{}m:\{n...\}.  \mforall{}k:\{m...\}.  test  (f  k)  =  tt 
    supposing  value-type(T)



Date html generated: 2019_06_20-PM-01_16_31
Last ObjectModification: 2019_01_09-PM-04_07_00

Theory : int_2


Home Index