Nuprl Lemma : find-first_wf

∀[T:Type]. ∀[L:T List]. ∀[P:{x:T| (x ∈ L)}  ⟶ 𝔹].  (find-first(P;L) ∈ (∃x:T [first-member(T;x;L;P)]) ∨ (∀x∈L.¬↑(P x)))


Proof




Definitions occuring in Statement :  find-first: find-first(P;L),  first-member: first-member(T;x;L;P),  l_all: (∀x∈L.P[x]),  l_member: (x ∈ l),  list: T List,  assert: ↑b,  bool: 𝔹,  uall: ∀[x:A]. B[x],  sq_exists: ∃x:A [B[x]],  not: ¬A,  or: P ∨ Q,  member: t ∈ T,  set: {x:A| B[x]} ,  apply: f a,  function: x:A ⟶ B[x],  universe: Type
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  find-first: find-first(P;L),  prop: ℙ,  can-find-first-ext,  all: ∀x:A. B[x],  implies: P ⇒ Q,  first-member: first-member(T;x;L;P),  subtype_rel: A ⊆r B,  or: P ∨ Q,  so_lambda: λ2x.t[x],  and: P ∧ Q,  int_seg: {i..j-},  uimplies: b supposing a,  guard: {T},  lelt: i ≤ j < k,  decidable: Dec(P),  not: ¬A,  satisfiable_int_formula: satisfiable_int_formula(fmla),  exists: ∃x:A. B[x],  false: False,  top: Top,  less_than: a < b,  squash: ↓T,  l_member: (x ∈ l),  le: A ≤ B,  less_than': less_than'(a;b),  cand: A c∧ B,  nat: ℕ,  ge: i ≥ j ,  so_apply: x[s],  sq_exists: ∃x:A [B[x]]
Lemmas referenced :  istype-universe,  l_member_wf,  bool_wf,  list_wf,  can-find-first-ext,  sq_exists_wf,  exists_wf,  int_seg_wf,  length_wf,  equal_wf,  select_wf,  int_seg_properties,  decidable__le,  full-omega-unsat,  intformand_wf,  intformnot_wf,  intformle_wf,  itermConstant_wf,  itermVar_wf,  istype-int,  int_formula_prop_and_lemma,  istype-void,  int_formula_prop_not_lemma,  int_formula_prop_le_lemma,  int_term_value_constant_lemma,  int_term_value_var_lemma,  int_formula_prop_wf,  decidable__lt,  intformless_wf,  int_formula_prop_less_lemma,  assert_wf,  int_seg_subtype_nat,  istype-false,  less_than_wf,  nat_properties,  not_wf,  select_member,  le_wf,  l_all_wf2
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation_alt,  cut,  sqequalHypSubstitution,  hypothesis,  functionIsType,  setIsType,  introduction,  extract_by_obid,  isectElimination,  thin,  hypothesisEquality,  universeIsType,  universeEquality,  sqequalRule,  instantiate,  inhabitedIsType,  lambdaFormation_alt,  equalityIsType1,  equalityTransitivity,  equalitySymmetry,  dependent_functionElimination,  independent_functionElimination,  applyEquality,  lambdaEquality_alt,  isectIsType,  unionIsType,  natural_numberEquality,  productEquality,  because_Cache,  setElimination,  rename,  independent_isectElimination,  productElimination,  unionElimination,  approximateComputation,  dependent_pairFormation_alt,  int_eqEquality,  isect_memberEquality_alt,  voidElimination,  independent_pairFormation,  imageElimination,  productIsType,  dependent_set_memberEquality_alt,  functionEquality

Latex:
\mforall{}[T:Type].  \mforall{}[L:T  List].  \mforall{}[P:\{x:T|  (x  \mmember{}  L)\}    {}\mrightarrow{}  \mBbbB{}].
    (find-first(P;L)  \mmember{}  (\mexists{}x:T  [first-member(T;x;L;P)])  \mvee{}  (\mforall{}x\mmember{}L.\mneg{}\muparrow{}(P  x)))



Date html generated: 2019_10_15-AM-11_08_07
Last ObjectModification: 2018_10_09-PM-03_14_28

Theory : general


Home Index