Nuprl Lemma : apply_alist-eager-map2

[A:Type]. ∀[L:A List]. ∀[T:Type].
  ∀[eq:EqDecider(T)]. ∀[g:A ⟶ T]. ∀[f:Top]. ∀[i:{i:T| (i ∈ eager-map(g;L))} ].
    (apply_alist(eq;eager-map(λa.<a, (g a)>;L);i) i) 
  supposing value-type(T) ∧ (T ⊆Base)


Proof




Definitions occuring in Statement :  apply_alist: apply_alist(eq;L;x) l_member: (x ∈ l) eager-map: eager-map(f;as) list: List deq: EqDecider(T) value-type: value-type(T) uimplies: supposing a subtype_rel: A ⊆B uall: [x:A]. B[x] top: Top and: P ∧ Q set: {x:A| B[x]}  apply: a lambda: λx.A[x] function: x:A ⟶ B[x] pair: <a, b> base: Base universe: Type sqequal: t
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a and: P ∧ Q cand: c∧ B prop: top: Top all: x:A. B[x] implies:  Q nat: false: False ge: i ≥  le: A ≤ B less_than: a < b squash: T guard: {T} or: P ∨ Q cons: [a b] less_than': less_than'(a;b) not: ¬A colength: colength(L) nil: [] it: so_lambda: λ2x.t[x] so_apply: x[s] sq_type: SQType(T) so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] sq_stable: SqStable(P) subtract: m subtype_rel: A ⊆B has-value: (a)↓
Lemmas referenced :  apply_alist-eager-map eager-map_wf l_member_wf istype-top deq_wf value-type_wf subtype_rel_wf base_wf list_wf istype-universe istype-void nat_properties less_than_transitivity1 less_than_irreflexivity ge_wf istype-less_than list-cases eager_map_nil_lemma product_subtype_list colength-cons-not-zero colength_wf_list istype-false istype-le subtract-1-ge-0 subtype_base_sq nat_wf set_subtype_base le_wf int_subtype_base spread_cons_lemma sq_stable__le add-associates add-commutes add-swap zero-add eager_map_cons_lemma value-type-has-value top_wf list-value-type product-value-type le_weakening2 istype-nat
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  introduction cut sqequalHypSubstitution productElimination thin extract_by_obid isectElimination hypothesisEquality independent_isectElimination hypothesis independent_pairFormation sqequalRule axiomSqEquality Error :setIsType,  Error :universeIsType,  Error :isect_memberEquality_alt,  Error :isectIsTypeImplies,  Error :inhabitedIsType,  Error :functionIsType,  Error :productIsType,  instantiate universeEquality functionExtensionality voidElimination Error :lambdaFormation_alt,  setElimination rename intWeakElimination imageElimination natural_numberEquality independent_functionElimination Error :lambdaEquality_alt,  dependent_functionElimination Error :functionIsTypeImplies,  unionElimination promote_hyp hypothesis_subsumption Error :equalityIstype,  because_Cache Error :dependent_set_memberEquality_alt,  cumulativity intEquality equalityTransitivity equalitySymmetry imageMemberEquality baseClosed applyLambdaEquality baseApply closedConclusion applyEquality sqequalBase callbyvalueReduce productEquality independent_pairEquality

Latex:
\mforall{}[A:Type].  \mforall{}[L:A  List].  \mforall{}[T:Type].
    \mforall{}[eq:EqDecider(T)].  \mforall{}[g:A  {}\mrightarrow{}  T].  \mforall{}[f:Top].  \mforall{}[i:\{i:T|  (i  \mmember{}  eager-map(g;L))\}  ].
        (apply\_alist(eq;eager-map(\mlambda{}a.<g  a,  f  (g  a)>L);i)  \msim{}  f  i) 
    supposing  value-type(T)  \mwedge{}  (T  \msubseteq{}r  Base)



Date html generated: 2019_06_20-PM-00_42_54
Last ObjectModification: 2019_02_28-PM-01_49_14

Theory : list_0


Home Index