Nuprl Lemma : concat-lifting-loc-member

[B:Type]. ∀[n:ℕ]. ∀[A:ℕn ⟶ Type]. ∀[bags:k:ℕn ⟶ bag(A k)]. ∀[f:Id ⟶ funtype(n;A;bag(B))]. ∀[b:B]. ∀[l:Id].
  (b ↓∈ concat-lifting-loc(n;bags;l;f)
  ⇐⇒ ↓∃lst:k:ℕn ⟶ (A k). ((∀[k:ℕn]. lst k ↓∈ bags k) ∧ b ↓∈ uncurry-rev(n;f l) lst))


Proof




Definitions occuring in Statement :  concat-lifting-loc: concat-lifting-loc(n;bags;loc;f) Id: Id int_seg: {i..j-} nat: uall: [x:A]. B[x] exists: x:A. B[x] iff: ⇐⇒ Q squash: T and: P ∧ Q apply: a function: x:A ⟶ B[x] natural_number: $n universe: Type uncurry-rev: uncurry-rev(n;f) bag-member: x ↓∈ bs bag: bag(T) funtype: funtype(n;A;T)
Definitions unfolded in proof :  concat-lifting-loc: concat-lifting-loc(n;bags;loc;f) uall: [x:A]. B[x] member: t ∈ T prop: nat: so_lambda: λ2x.t[x] and: P ∧ Q so_apply: x[s] exists: x:A. B[x] iff: ⇐⇒ Q implies:  Q squash: T rev_implies:  Q bag-member: x ↓∈ bs

Latex:
\mforall{}[B:Type].  \mforall{}[n:\mBbbN{}].  \mforall{}[A:\mBbbN{}n  {}\mrightarrow{}  Type].  \mforall{}[bags:k:\mBbbN{}n  {}\mrightarrow{}  bag(A  k)].  \mforall{}[f:Id  {}\mrightarrow{}  funtype(n;A;bag(B))].
\mforall{}[b:B].  \mforall{}[l:Id].
    (b  \mdownarrow{}\mmember{}  concat-lifting-loc(n;bags;l;f)
    \mLeftarrow{}{}\mRightarrow{}  \mdownarrow{}\mexists{}lst:k:\mBbbN{}n  {}\mrightarrow{}  (A  k).  ((\mforall{}[k:\mBbbN{}n].  lst  k  \mdownarrow{}\mmember{}  bags  k)  \mwedge{}  b  \mdownarrow{}\mmember{}  uncurry-rev(n;f  l)  lst))



Date html generated: 2016_05_17-AM-09_15_28
Last ObjectModification: 2016_01_17-PM-11_14_26

Theory : classrel!lemmas


Home Index