{ [T:Id  Type]. [tab:secret-table(T)]. [keyv: + Atom1  data(T)].
  [n:||tab|| ].
    (st-atom(encrypt(tab;keyv);n) = st-atom(tab;n)) }

{ Proof }



Definitions occuring in Statement :  st-encrypt: encrypt(tab;keyv),  st-atom: st-atom(tab;n),  st-length: ||tab|| ,  secret-table: secret-table(T),  data: data(T),  Id: Id,  int_seg: {i..j},  nat: ,  uall: [x:A]. B[x],  function: x:A  B[x],  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],  int_seg: {i..j},  st-atom: st-atom(tab;n),  st-encrypt: encrypt(tab;keyv),  member: t  T,  pi2: snd(t),  spreadn: spread3,  update: f[x:=v],  le: A  B,  prop: ,  top: Top,  lelt: i  j < k,  and: P  Q,  not: A,  implies: P  Q,  false: False,  all: x:A. B[x],  subtype: S  T,  ifthenelse: if b then t else f fi ,  btrue: tt,  bfalse: ff,  pi1: fst(t),  squash: T,  true: True,  secret-table: secret-table(T),  nat: ,  st-length: ||tab|| ,  bool: ,  unit: Unit,  iff: P  Q,  uimplies: b supposing a,  it:
Lemmas :  int_seg_wf,  st-length_wf,  nat_wf,  data_wf,  secret-table_wf,  Id_wf,  lt_int_wf,  bool_wf,  assert_wf,  le_wf,  le_int_wf,  bnot_wf,  pi1_wf_top,  iff_weakening_uiff,  uiff_transitivity,  eqtt_to_assert,  assert_of_lt_int,  eqff_to_assert,  assert_functionality_wrt_uiff,  bnot_of_lt_int,  assert_of_le_int,  eq_int_wf,  not_wf,  assert_of_eq_int,  assert_of_bnot,  not_functionality_wrt_uiff

\mforall{}[T:Id  {}\mrightarrow{}  Type].  \mforall{}[tab:secret-table(T)].  \mforall{}[keyv:\mBbbN{}  +  Atom1  \mtimes{}  data(T)].  \mforall{}[n:\mBbbN{}||tab||  ].
    (st-atom(encrypt(tab;keyv);n)  =  st-atom(tab;n))


Date html generated: 2011_08_16-AM-11_00_57
Last ObjectModification: 2011_06_18-AM-09_34_25

Home Index