Nuprl Lemma : lookup-list-map-inDom-prop

∀[Key,Value:Type]. ∀[deqKey:EqDecider(Key)]. ∀[key:Key]. ∀[m:lookup-list-map-type(Key;Value)].
  (↑lookup-list-map-inDom(deqKey;key;m) ⇐⇒ ↑isl(lookup-list-map-find(deqKey;key;m)))


Proof




Definitions occuring in Statement :  lookup-list-map-inDom: lookup-list-map-inDom(deqKey;key;m),  lookup-list-map-find: lookup-list-map-find(deqKey;key;m),  lookup-list-map-type: lookup-list-map-type(Key;Value),  deq: EqDecider(T),  assert: ↑b,  isl: isl(x),  uall: ∀[x:A]. B[x],  iff: P ⇐⇒ Q,  universe: Type
Definitions unfolded in proof :  lookup-list-map-type: lookup-list-map-type(Key;Value),  uall: ∀[x:A]. B[x],  member: t ∈ T,  so_lambda: λ2x.t[x],  so_apply: x[s],  implies: P ⇒ Q,  all: ∀x:A. B[x],  prop: ℙ,  iff: P ⇐⇒ Q,  and: P ∧ Q,  rev_implies: P ⇐ Q,  lookup-list-map-find: lookup-list-map-find(deqKey;key;m),  lookup-list-map-inDom: lookup-list-map-inDom(deqKey;key;m),  so_lambda: so_lambda(x,y,z.t[x; y; z]),  top: Top,  so_apply: x[s1;s2;s3],  assert: ↑b,  ifthenelse: if b then t else f fi ,  bfalse: ff,  apply-alist: apply-alist(eq;L;x),  isl: isl(x),  false: False,  pi1: fst(t),  pi2: snd(t),  eqof: eqof(d),  deq: EqDecider(T),  bool: 𝔹,  unit: Unit,  it: ⋅,  btrue: tt,  uiff: uiff(P;Q),  uimplies: b supposing a,  bor: p ∨bq,  true: True,  exists: ∃x:A. B[x],  or: P ∨ Q,  sq_type: SQType(T),  guard: {T},  bnot: ¬bb,  not: ¬A

Latex:
\mforall{}[Key,Value:Type].  \mforall{}[deqKey:EqDecider(Key)].  \mforall{}[key:Key].  \mforall{}[m:lookup-list-map-type(Key;Value)].
    (\muparrow{}lookup-list-map-inDom(deqKey;key;m)  \mLeftarrow{}{}\mRightarrow{}  \muparrow{}isl(lookup-list-map-find(deqKey;key;m)))



Date html generated: 2016_05_17-PM-01_50_56
Last ObjectModification: 2015_12_28-PM-08_50_46

Theory : datatype-signatures


Home Index