{ [s:SES]
    ([bss:Basic1 List]
       UniqueSignatures(bss) supposing FreshSignatures(bss)) supposing 
       (PropertyS and 
       PropertyO and 
       ActionsDisjoint) }

{ Proof }



Definitions occuring in Statement :  unique-sig-protocol: UniqueSignatures(bss),  fresh-sig-protocol1: FreshSignatures(bss),  ses-basic-sequence1: Basic1,  ses-disjoint: ActionsDisjoint,  ses-S: PropertyS,  ses-ordering: PropertyO,  security-event-structure: SES,  uimplies: b supposing a,  uall: [x:A]. B[x],  list: type List
Definitions :  es-loc: loc(e),  select: l[i],  int_seg: {i..j},  IdLnk: IdLnk,  append: as @ bs,  locl: locl(a),  Knd: Knd,  limited-type: LimitedType,  l_exists: (xL. P[x]),  so_apply: x[s],  l_member: (x  l),  ses-sig: signature(e),  axiom: Ax,  ses-thread-member: e  thr,  ses-new: New,  ses-send: Send,  rec: rec(x.A[x]),  tree: Tree(E),  ses-rcv: Rcv,  ses-encrypt: Encrypt,  encryption-key: Key,  ses-decrypt: Decrypt,  ses-verify: Verify,  guard: {T},  btrue: tt,  sq_type: SQType(T),  bool: ,  in-eclass: e  X,  false: False,  void: Void,  atom: Atom,  es-base-E: es-base-E(es),  token: "$token",  lambda: x.A[x],  so_lambda: x y.t[x; y],  sdata: SecurityData,  tag-by: zT,  rev_implies: P  Q,  iff: P  Q,  ldag: LabeledDAG(T),  labeled-graph: LabeledGraph(T),  record: record(x.T[x]),  fset: FSet{T},  isect2: T1  T2,  b-union: A  B,  bag: bag(T),  true: True,  fpf-cap: f(x)?z,  event_ordering: EO,  eclass: EClass(A[eo; e]),  fpf: a:A fp-> B[a],  strong-subtype: strong-subtype(A;B),  le: A  B,  ge: i  j ,  not: A,  less_than: a < b,  uiff: uiff(P;Q),  subtype: S  T,  decide: case b of inl(x) => s[x] | inr(y) => t[y],  ses-action: Action(e),  es-E: E,  record-select: r.x,  infix_ap: x f y,  event-has*: e has* a,  es-causl: (e < e'),  es-locl: (e <loc e'),  es-le: e loc e' ,  union: left + right,  or: P  Q,  pair: <a, b>,  and: P  Q,  ses-fresh-thread: ses-fresh-thread(s;es;f;A;thr),  exists: x:A. B[x],  atom: Atom$n,  ifthenelse: if b then t else f fi ,  pi1: fst(t),  dep-isect: Error :dep-isect,  eq_atom: x =a y,  eq_atom: eq_atom$n(x;y),  record+: record+,  set: {x:A| B[x]} ,  assert: b,  product: x:A  B[x],  top: Top,  Id: Id,  ses-honest: Honest(A),  ses-protocol1: Protocol1(bss),  apply: f a,  ses-info: Info,  event-ordering+: EO+(Info),  ses-thread: Thread,  ses-protocol1-thread: (thr is one of bss at A),  noncelike-signatures: noncelike-signatures(s;es;thr),  implies: P  Q,  unique-sig-protocol: UniqueSignatures(bss),  fresh-sig-protocol1: FreshSignatures(bss),  universe: Type,  ses-basic-sequence1: Basic1,  list: type List,  ses-S: PropertyS,  uimplies: b supposing a,  prop: ,  ses-disjoint: ActionsDisjoint,  security-event-structure: SES,  ses-ordering: PropertyO,  all: x:A. B[x],  function: x:A  B[x],  member: t  T,  equal: s = t,  isect: x:A. B[x],  uall: [x:A]. B[x],  MaAuto: Error :MaAuto,  CollapseTHEN: Error :CollapseTHEN,  ses-act: Act,  ses-sign: Sign,  es-E-interface: E(X),  subtype_rel: A r B,  AssertBY: Error :AssertBY,  Auto: Error :Auto,  D: Error :D,  CollapseTHENA: Error :CollapseTHENA,  RepeatFor: Error :RepeatFor,  tactic: Error :tactic,  iseg: l1  l2,  isl: isl(x),  can-apply: can-apply(f;x),  length: ||as||,  lelt: i  j < k,  int: ,  ses-signed: signed(e),  squash: T,  base: Base,  so_lambda: x.t[x],  sqequal: s ~ t,  RepUR: Error :RepUR,  it: ,  ses-thread-loc: loc(thr)= A,  Complete: Error :Complete,  BHyp: Error :BHyp,  THENM: Error :THENM,  Unfold: Error :Unfold,  ses-signer: signer(e),  ExRepD: Error :ExRepD,  es-causle: e c e',  es-p-le: e p e',  es-p-locl: e p< e',  causal-predecessor: causal-predecessor(es;p),  rel_star: R^*,  ses-crypt: cipherText(e),  sdata-atoms: sdata-atoms(d),  cand: A c B,  unit: Unit,  add: n + m,  subtract: n - m,  natural_number: $n,  free-from-atom: x:T||a,  class-value-has: X(e) has a,  eclass-val: X(e),  event-has: (e has a),  pi2: snd(t),  fpf-dom: x  dom(f),  es-interface-at: X@i,  grp_car: |g|,  nat: ,  real: ,  rationals: ,  outl: outl(x),  ses-nonce: PropertyN,  Try: Error :Try,  ses-NU: PropertyNU,  intensional-universe: IType,  no_repeats: no_repeats(T;l),  compat: l1 || l2,  so_apply: x[s1;s2],  divides: b | a,  assoced: a ~ b,  set_leq: a  b,  set_lt: a <p b,  grp_lt: a < b,  l_contains: A  B,  inject: Inj(A;B;f),  reducible: reducible(a),  prime: prime(a),  l_all: (xL.P[x]),  fun-connected: y is f*(x),  qle: r  s,  qless: r < s,  q-rel: q-rel(r;x),  i-finite: i-finite(I),  i-closed: i-closed(I),  p-outcome: Outcome,  fset-member: a  s,  f-subset: xs  ys,  fset-closed: (s closed under fs),  l_disjoint: l_disjoint(T;l1;l2),  cs-not-completed: in state s, a has not completed inning i,  cs-archived: by state s, a archived v in inning i,  cs-passed: by state s, a passed inning i without archiving a value,  cs-inning-committed: in state s, inning i has committed v,  cs-inning-committable: in state s, inning i could commit v ,  cs-archive-blocked: in state s, ws' blocks ws from archiving v in inning i,  cs-precondition: state s may consider v in inning i,  existse-before: e<e'.P[e],  existse-le: ee'.P[e],  alle-lt: e<e'.P[e],  alle-le: ee'.P[e],  alle-between1: e[e1,e2).P[e],  existse-between1: e[e1,e2).P[e],  alle-between2: e[e1,e2].P[e],  existse-between2: e[e1,e2].P[e],  existse-between3: e(e1,e2].P[e],  es-fset-loc: i  locs(s),  es-r-immediate-pred: es-r-immediate-pred(es;R;e';e),  same-thread: same-thread(es;p;e;e'),  collect-event: collect-event(es;X;n;v.num[v];L.P[L];e),  cut-order: a (X;f) b,  path-goes-thru: x-f*-y thru i,  ses-legal-sequence: Legal(pas) given prvt,  decidable: Dec(P),  lg-edge: lg-edge(g;a;b),  dstype: dstype(TypeNames; d; a),  string: Error :string,  MaName: MaName,  consensus-state3: consensus-state3(T),  consensus-rcv: consensus-rcv(V;A),  runEvents: runEvents(r),  proper-iseg: L1 < L2,  gt: i > j
Lemmas :  es-causle_antisymmetry,  decidable__atom_equal_1,  compat-common-member,  guard_wf,  decidable__lt,  uall_wf,  no_repeats_wf,  compat-no_repeats_common-member,  ses-thread-no_repeats,  intensional-universe_wf,  int_subtype_base,  le_wf,  list_subtype_base,  outl_wf,  atom1_subtype_base,  nat_wf,  ses-nonce-from-ordering,  ses-nonce-unique,  int_seg_properties,  length_wf1,  eclass-val_wf,  unit_wf,  isl_wf,  ses-signed_wf,  pi2_wf,  pi1_wf,  pi1_wf_top,  class-value-has_wf,  not_wf,  event-has_wf,  ses-sign-has-atom,  l_member_wf,  sdata-atoms_wf,  es-le_wf,  event-has*_wf,  es-causle_weakening_locl,  es-causl_weakening,  es-causl_transitivity2,  es-causle_weakening,  es-causle_wf,  es-causl_wf,  ses-signer_wf,  select_wf,  set_subtype_base,  squash_wf,  length_wf_nat,  ses-signature-unique2,  es-locl_wf,  int_seg_wf,  ses-act_wf,  member_wf,  ses-action_wf,  subtype_rel_wf,  es-E-interface_wf,  ses-info_wf,  ses-sign_wf,  event-ordering+_wf,  ses-thread_wf,  ses-protocol1-thread_wf,  noncelike-signatures_wf,  ses-protocol1_wf,  ses-honest_wf,  Id_wf,  unique-sig-protocol_wf,  fresh-sig-protocol1_wf,  ses-basic-sequence1_wf,  ses-S_wf,  ses-ordering_wf,  ses-disjoint_wf,  security-event-structure_wf,  es-E_wf,  assert_wf,  eclass_wf,  sdata_wf,  es-interface-top,  es-interface-subtype_rel2,  es-base-E_wf,  subtype_rel_self,  event-ordering+_inc,  top_wf,  false_wf,  ifthenelse_wf,  in-eclass_wf,  true_wf,  bool_wf,  subtype_base_sq,  bool_subtype_base,  assert_elim,  ses-verify_wf,  ses-decrypt_wf,  encryption-key_wf,  ses-encrypt_wf,  ses-rcv_wf,  ses-send_wf,  ses-new_wf,  ses-thread-member_wf,  ses-sig_wf

\mforall{}[s:SES]
    (\mforall{}[bss:Basic1  List].  UniqueSignatures(bss)  supposing  FreshSignatures(bss))  supposing 
          (PropertyS  and 
          PropertyO  and 
          ActionsDisjoint)


Date html generated: 2011_08_17-PM-07_45_03
Last ObjectModification: 2011_06_18-PM-01_40_32

Home Index