Nuprl Lemma : st-lookup-outl

∀[T:Id ⟶ Type]
  ∀tab:secret-table(T). ∀x:Atom1.
    ∃n:ℕ||tab|| 
     ((n ≤ ptr(tab))
     ∧ (st-atom(tab;n) = x ∈ Atom1)
     ∧ (outl(st-lookup(tab;x)) = <key(tab;n), data(tab;n)> ∈ (ℕ + Atom1 × data(T)))) 
    supposing ↑isl(st-lookup(tab;x))


Proof




Definitions occuring in Statement :  st-lookup: st-lookup(tab;x),  st-data: data(tab;n),  st-key: key(tab;n),  st-atom: st-atom(tab;n),  st-ptr: ptr(tab),  st-length: ||tab|| ,  secret-table: secret-table(T),  data: data(T),  Id: Id,  int_seg: {i..j-},  nat: ℕ,  atom: Atom$n,  outl: outl(x),  assert: ↑b,  isl: isl(x),  uimplies: b supposing a,  uall: ∀[x:A]. B[x],  le: A ≤ B,  all: ∀x:A. B[x],  exists: ∃x:A. B[x],  and: P ∧ Q,  function: x:A ⟶ B[x],  pair: <a, b>,  product: x:A × B[x],  union: left + right,  natural_number: $n,  universe: Type,  equal: s = t ∈ T
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  all: ∀x:A. B[x],  uimplies: b supposing a,  member: t ∈ T,  implies: P ⇒ Q,  secret-table: secret-table(T),  st-lookup: st-lookup(tab;x),  st-atom: st-atom(tab;n),  st-ptr: ptr(tab),  st-length: ||tab|| ,  spreadn: spread3,  pi1: fst(t),  pi2: snd(t),  prop: ℙ,  nat: ℕ,  bool: 𝔹,  unit: Unit,  it: ⋅,  btrue: tt,  uiff: uiff(P;Q),  and: P ∧ Q,  bor: p ∨bq,  ifthenelse: if b then t else f fi ,  bfalse: ff,  exists: ∃x:A. B[x],  or: P ∨ Q,  sq_type: SQType(T),  guard: {T},  bnot: ¬bb,  assert: ↑b,  false: False,  not: ¬A,  int_seg: {i..j-},  lelt: i ≤ j < k,  ge: i ≥ j ,  decidable: Dec(P),  satisfiable_int_formula: satisfiable_int_formula(fmla),  top: Top,  le: A ≤ B,  subtype_rel: A ⊆r B,  so_lambda: λ2x.t[x],  so_apply: x[s],  iff: P ⇐⇒ Q,  rev_implies: P ⇐ Q,  true: True,  isl: isl(x),  outl: outl(x),  st-data: data(tab;n),  st-key: key(tab;n),  let: let,  exposed-bfalse: exposed-bfalse,  squash: ↓T,  cand: A c∧ B

Latex:
\mforall{}[T:Id  {}\mrightarrow{}  Type]
    \mforall{}tab:secret-table(T).  \mforall{}x:Atom1.
        \mexists{}n:\mBbbN{}||tab|| 
          ((n  \mleq{}  ptr(tab))  \mwedge{}  (st-atom(tab;n)  =  x)  \mwedge{}  (outl(st-lookup(tab;x))  =  <key(tab;n),  data(tab;n)>)) 
        supposing  \muparrow{}isl(st-lookup(tab;x))



Date html generated: 2016_05_16-AM-10_02_53
Last ObjectModification: 2016_01_17-PM-01_23_43

Theory : new!event-ordering


Home Index