Nuprl Lemma : isl-list-index

[T:Type]. ∀eq:EqDecider(T). ∀x:T. ∀L:T List.  (↑isl(list-index(eq;L;x)) ⇐⇒ (x ∈ L))


Proof




Definitions occuring in Statement :  list-index: list-index(d;L;x) l_member: (x ∈ l) list: List deq: EqDecider(T) assert: b isl: isl(x) uall: [x:A]. B[x] all: x:A. B[x] iff: ⇐⇒ Q universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] member: t ∈ T so_lambda: λ2x.t[x] so_apply: x[s] implies:  Q list-index: list-index(d;L;x) so_lambda: so_lambda(x,y,z.t[x; y; z]) top: Top so_apply: x[s1;s2;s3] isl: isl(x) assert: b ifthenelse: if then else fi  bfalse: ff prop: iff: ⇐⇒ Q and: P ∧ Q false: False rev_implies:  Q uimplies: supposing a not: ¬A btrue: tt true: True guard: {T} or: P ∨ Q bool: 𝔹 unit: Unit it: eqof: eqof(d) deq: EqDecider(T) uiff: uiff(P;Q) exists: x:A. B[x] sq_type: SQType(T) bnot: ¬bb
Lemmas referenced :  list_induction iff_wf assert_wf isl_wf int_seg_wf length_wf top_wf list-index_wf l_member_wf list_wf list_ind_nil_lemma list_ind_cons_lemma deq_wf false_wf null_nil_lemma btrue_wf member-implies-null-eq-bfalse nil_wf btrue_neq_bfalse equal_wf cons_member true_wf cons_wf eqof_wf bool_wf eqtt_to_assert safe-assert-deq eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation lambdaFormation cut thin introduction extract_by_obid sqequalHypSubstitution isectElimination because_Cache sqequalRule lambdaEquality natural_numberEquality cumulativity hypothesisEquality hypothesis independent_functionElimination dependent_functionElimination isect_memberEquality voidElimination voidEquality rename universeEquality independent_pairFormation independent_isectElimination equalityTransitivity equalitySymmetry unionEquality unionElimination productElimination inrFormation applyEquality equalityElimination setElimination inlFormation hyp_replacement applyLambdaEquality dependent_pairFormation promote_hyp instantiate

Latex:
\mforall{}[T:Type].  \mforall{}eq:EqDecider(T).  \mforall{}x:T.  \mforall{}L:T  List.    (\muparrow{}isl(list-index(eq;L;x))  \mLeftarrow{}{}\mRightarrow{}  (x  \mmember{}  L))



Date html generated: 2017_04_17-AM-09_15_07
Last ObjectModification: 2017_02_27-PM-05_20_25

Theory : decidable!equality


Home Index