Nuprl Lemma : bag-map-list-map
∀[T,U:Type].  ∀L1:T List. ∀L2:U List. ∀f:T ⟶ U.  ((L2 = map(f;L1) ∈ bag(U)) 
⇒ (∃L:U List. (L = map(f;L1) ∈ (U List))))
Proof
Definitions occuring in Statement : 
bag: bag(T)
, 
map: map(f;as)
, 
list: T List
, 
uall: ∀[x:A]. B[x]
, 
all: ∀x:A. B[x]
, 
exists: ∃x:A. B[x]
, 
implies: P 
⇒ Q
, 
function: x:A ⟶ B[x]
, 
universe: Type
, 
equal: s = t ∈ T
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x]
, 
all: ∀x:A. B[x]
, 
implies: P 
⇒ Q
, 
exists: ∃x:A. B[x]
, 
member: t ∈ T
, 
prop: ℙ
, 
subtype_rel: A ⊆r B
, 
uimplies: b supposing a
Lemmas referenced : 
map_wf, 
equal_wf, 
list_wf, 
bag_wf, 
list-subtype-bag
Rules used in proof : 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
isect_memberFormation, 
lambdaFormation, 
dependent_pairFormation, 
cut, 
lemma_by_obid, 
sqequalHypSubstitution, 
isectElimination, 
thin, 
hypothesisEquality, 
hypothesis, 
because_Cache, 
cumulativity, 
applyEquality, 
independent_isectElimination, 
lambdaEquality, 
sqequalRule, 
functionEquality, 
universeEquality
Latex:
\mforall{}[T,U:Type].    \mforall{}L1:T  List.  \mforall{}L2:U  List.  \mforall{}f:T  {}\mrightarrow{}  U.    ((L2  =  map(f;L1))  {}\mRightarrow{}  (\mexists{}L:U  List.  (L  =  map(f;L1))))
Date html generated:
2016_05_15-PM-02_38_18
Last ObjectModification:
2015_12_27-AM-09_42_58
Theory : bags
Home
Index