Nuprl Lemma : map_is_cons

[A,B:Type]. ∀[f:A ⟶ B]. ∀[L:A List]. ∀[L2:B List]. ∀[b:B].
  {((f hd(L)) b ∈ B) ∧ (map(f;tl(L)) L2 ∈ (B List))} supposing map(f;L) [b L2] ∈ (B List)


Proof




Definitions occuring in Statement :  hd: hd(l) map: map(f;as) tl: tl(l) cons: [a b] list: List uimplies: supposing a uall: [x:A]. B[x] guard: {T} and: P ∧ Q apply: a function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a guard: {T} append: as bs all: x:A. B[x] so_lambda: so_lambda(x,y,z.t[x; y; z]) top: Top so_apply: x[s1;s2;s3] and: P ∧ Q cand: c∧ B tl: tl(l) nth_tl: nth_tl(n;as) ifthenelse: if then else fi  le_int: i ≤j bnot: ¬bb lt_int: i <j btrue: tt bfalse: ff subtract: m prop: firstn: firstn(n;as) or: P ∨ Q cons: [a b] pi2: snd(t) subtype_rel: A ⊆B not: ¬A implies:  Q false: False squash: T ge: i ≥ 
Lemmas referenced :  length_cons_ge_one length_wf ge_wf squash_wf hd_wf btrue_neq_bfalse bfalse_wf null_cons_lemma top_wf subtype_rel_list null_wf3 and_wf btrue_wf null_nil_lemma reduce_hd_cons_lemma map_cons_lemma product_subtype_list map_nil_lemma nth_tl_nil list-cases map_wf list_wf equal_wf length_of_nil_lemma length_of_cons_lemma list_ind_nil_lemma list_ind_cons_lemma nil_wf cons_wf map_is_append
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut lemma_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality because_Cache hypothesis independent_isectElimination sqequalRule dependent_functionElimination isect_memberEquality voidElimination voidEquality productElimination independent_pairFormation independent_pairEquality axiomEquality equalityTransitivity equalitySymmetry functionEquality universeEquality unionElimination promote_hyp hypothesis_subsumption natural_numberEquality dependent_set_memberEquality applyEquality lambdaEquality setElimination rename setEquality independent_functionElimination imageElimination imageMemberEquality baseClosed

Latex:
\mforall{}[A,B:Type].  \mforall{}[f:A  {}\mrightarrow{}  B].  \mforall{}[L:A  List].  \mforall{}[L2:B  List].  \mforall{}[b:B].
    \{((f  hd(L))  =  b)  \mwedge{}  (map(f;tl(L))  =  L2)\}  supposing  map(f;L)  =  [b  /  L2]



Date html generated: 2016_05_15-PM-04_19_41
Last ObjectModification: 2016_01_16-AM-11_09_33

Theory : general


Home Index