Nuprl Lemma : list-index-cmp-zero

[T:Type]. ∀[eq:EqDecider(T)]. ∀[L:T List]. ∀[A:Type]. ∀[f:A ⟶ T]. ∀[x,y:{x:A| (f x ∈ L)} ].
  uiff((list-index-cmp(eq;L;f) y) 0 ∈ ℤ;(f x) (f y) ∈ T)


Proof




Definitions occuring in Statement :  list-index-cmp: list-index-cmp(eq;L;f) l_member: (x ∈ l) list: List deq: EqDecider(T) uiff: uiff(P;Q) uall: [x:A]. B[x] set: {x:A| B[x]}  apply: a function: x:A ⟶ B[x] natural_number: $n int: universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uiff: uiff(P;Q) and: P ∧ Q uimplies: supposing a subtype_rel: A ⊆B comparison: comparison(T) prop: int-minus-comparison: int-minus-comparison(f) list-index-cmp: list-index-cmp(eq;L;f) guard: {T} implies:  Q all: x:A. B[x] sq_type: SQType(T) so_apply: x[s] so_lambda: λ2x.t[x] int_seg: {i..j-} squash: T less_than: a < b top: Top not: ¬A false: False exists: x:A. B[x] satisfiable_int_formula: satisfiable_int_formula(fmla) or: P ∨ Q decidable: Dec(P) lelt: i ≤ j < k rev_implies:  Q iff: ⇐⇒ Q true: True
Lemmas referenced :  list-index-cmp_wf int_subtype_base l_member_wf list_wf deq_wf list-index-property lelt_wf set_subtype_base length_wf int_seg_wf subtype_base_sq subtract_wf equal-wf-T-base int_formula_prop_less_lemma intformless_wf decidable__lt int_formula_prop_le_lemma intformle_wf decidable__le int_formula_prop_wf int_term_value_constant_lemma int_term_value_subtract_lemma int_term_value_var_lemma int_formula_prop_eq_lemma int_formula_prop_not_lemma int_formula_prop_and_lemma itermConstant_wf itermSubtract_wf itermVar_wf intformeq_wf intformnot_wf intformand_wf satisfiable-full-omega-tt decidable__equal_int int_seg_properties equal_wf isl-list-index list-index_wf top_wf outl_wf full-omega-unsat istype-int istype-void squash_wf true_wf subtype_rel_self iff_weakening_equal
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  introduction cut independent_pairFormation hypothesis Error :equalityIsType4,  Error :universeIsType,  intEquality applyEquality extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality Error :lambdaEquality_alt,  setElimination rename Error :inhabitedIsType,  equalityTransitivity equalitySymmetry sqequalRule baseClosed Error :equalityIsType1,  productElimination independent_pairEquality Error :isect_memberEquality_alt,  axiomEquality Error :isectIsTypeImplies,  Error :setIsType,  Error :functionIsType,  universeEquality because_Cache independent_isectElimination cumulativity functionExtensionality independent_functionElimination dependent_functionElimination lambdaEquality natural_numberEquality instantiate imageElimination dependent_set_memberEquality computeAll voidEquality voidElimination isect_memberEquality int_eqEquality dependent_pairFormation unionElimination lambdaFormation Error :dependent_set_memberEquality_alt,  closedConclusion Error :lambdaFormation_alt,  applyLambdaEquality approximateComputation Error :dependent_pairFormation_alt,  hyp_replacement imageMemberEquality

Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[L:T  List].  \mforall{}[A:Type].  \mforall{}[f:A  {}\mrightarrow{}  T].  \mforall{}[x,y:\{x:A|  (f  x  \mmember{}  L)\}  ].
    uiff((list-index-cmp(eq;L;f)  x  y)  =  0;(f  x)  =  (f  y))



Date html generated: 2019_06_20-PM-01_56_41
Last ObjectModification: 2018_10_15-PM-02_32_50

Theory : decidable!equality


Home Index