{ [T:Id  Type]
    tab:secret-table(T). x:Atom1.
      n:||tab|| 
       ((n  ptr(tab))
        (st-atom(tab;n) = x)
        (outl(st-lookup(tab;x)) = <key(tab;n), data(tab;n)>)) 
      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,  outl: outl(x),  isl: isl(x),  assert: b,  int_seg: {i..j},  nat: ,  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,  atom: Atom$n
Definitions :  uall: [x:A]. B[x],  all: x:A. B[x],  uimplies: b supposing a,  st-lookup: st-lookup(tab;x),  st-length: ||tab|| ,  st-ptr: ptr(tab),  st-atom: st-atom(tab;n),  member: t  T,  implies: P  Q,  spreadn: spread3,  pi1: fst(t),  pi2: snd(t),  int_seg: {i..j},  bor: p q,  btrue: tt,  prop: ,  and: P  Q,  ifthenelse: if b then t else f fi ,  bfalse: ff,  top: Top,  lelt: i  j < k,  subtype: S  T,  exists: x:A. B[x],  assert: b,  true: True,  nat: ,  so_lambda: x.t[x],  or: P  Q,  isl: isl(x),  outl: outl(x),  false: False,  let: let,  st-key: key(tab;n),  st-data: data(tab;n),  squash: T,  not: A,  le: A  B,  secret-table: secret-table(T),  bool: ,  unit: Unit,  iff: P  Q,  guard: {T},  sq_type: SQType(T),  so_apply: x[s],  it:
Lemmas :  assert_witness,  isl_wf,  nat_wf,  data_wf,  unit_wf,  st-lookup_wf,  assert_wf,  secret-table_wf,  Id_wf,  mu_wf,  le_int_wf,  bool_wf,  iff_weakening_uiff,  le_wf,  uiff_transitivity,  eqtt_to_assert,  assert_of_le_int,  bor_wf,  lt_int_wf,  btrue_wf,  bnot_wf,  eqff_to_assert,  assert_functionality_wrt_uiff,  bnot_of_le_int,  assert_of_lt_int,  eq_atom_wf1,  pi1_wf_top,  bnot_of_lt_int,  mu-property,  subtype_base_sq,  set_subtype_base,  int_subtype_base,  decidable__assert,  decidable_wf,  false_wf,  band_wf,  true_wf,  assert_of_bor,  or_functionality_wrt_uiff,  bnot_thru_bor,  squash_wf,  assert_of_band,  and_functionality_wrt_uiff,  pi2_wf,  assert_of_eq_atom1,  not_wf,  assert_of_bnot,  not_functionality_wrt_uiff

\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: 2011_08_16-AM-11_00_02
Last ObjectModification: 2011_06_18-AM-09_33_43

Home Index