Nuprl Lemma : apply-alist-function

[T,A:Type]. ∀[eq:EqDecider(T)]. ∀[x:T]. ∀[F:T ⟶ A]. ∀[L:T List].
  apply-alist(eq;map(λx.<x, F[x]>;L);x) (inl F[x]) ∈ (A?) supposing (x ∈ L)


Proof




Definitions occuring in Statement :  apply-alist: apply-alist(eq;L;x) l_member: (x ∈ l) map: map(f;as) list: List deq: EqDecider(T) uimplies: supposing a uall: [x:A]. B[x] so_apply: x[s] unit: Unit lambda: λx.A[x] function: x:A ⟶ B[x] pair: <a, b> inl: inl x union: left right universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T so_lambda: λ2x.t[x] uimplies: supposing a prop: so_apply: x[s] implies:  Q not: ¬A false: False all: x:A. B[x] iff: ⇐⇒ Q and: P ∧ Q apply-alist: apply-alist(eq;L;x) top: Top so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3] pi1: fst(t) pi2: snd(t) deq: EqDecider(T) bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) eqof: eqof(d) ifthenelse: if then else fi  bfalse: ff exists: x:A. B[x] or: P ∨ Q sq_type: SQType(T) guard: {T} bnot: ¬bb assert: b
Lemmas referenced :  list_induction isect_wf l_member_wf equal_wf unit_wf2 apply-alist_wf map_wf list_wf null_nil_lemma btrue_wf member-implies-null-eq-bfalse nil_wf btrue_neq_bfalse cons_member map_cons_lemma list_ind_cons_lemma bool_wf eqtt_to_assert safe-assert-deq and_wf eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot cons_wf deq_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut thin extract_by_obid sqequalHypSubstitution isectElimination because_Cache sqequalRule lambdaEquality cumulativity hypothesisEquality hypothesis unionEquality productEquality independent_pairEquality applyEquality functionExtensionality inlEquality independent_functionElimination independent_isectElimination equalityTransitivity equalitySymmetry voidElimination lambdaFormation rename dependent_functionElimination productElimination isect_memberEquality voidEquality setElimination unionElimination equalityElimination dependent_set_memberEquality independent_pairFormation applyLambdaEquality dependent_pairFormation promote_hyp instantiate axiomEquality functionEquality universeEquality

Latex:
\mforall{}[T,A:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[x:T].  \mforall{}[F:T  {}\mrightarrow{}  A].  \mforall{}[L:T  List].
    apply-alist(eq;map(\mlambda{}x.<x,  F[x]>L);x)  =  (inl  F[x])  supposing  (x  \mmember{}  L)



Date html generated: 2017_04_14-AM-08_46_44
Last ObjectModification: 2017_02_27-PM-03_33_38

Theory : list_0


Home Index