Nuprl Lemma : ses-legal-thread-has*-nonce

s:SES
  (SecurityAxioms
   (∀es:EO+(Info). ∀A:Id. ∀thr:Thread.
        (Legal(thr)@A
         (∀n:E(New). ∀e:Act.
              (e ∈ thr
               has* New(n)
               (∃e':E. ((e' <loc e) ∧ Action(e') ∧ e' has* New(n) ∧ e' ∈ thr)) ∨ (e n ∈ E) 
                 supposing ∀e':E
                             ((e' < e)  Action(e')  e' has* New(n)  ((loc(e') A ∈ Id) ∧ (¬↑e' ∈b Send))))))))


Proof




Definitions occuring in Statement :  ses-legal-thread: Legal(thr)@A ses-thread-member: e ∈ thr ses-thread: Thread ses-axioms: SecurityAxioms event-has*: has* a ses-act: Act ses-action: Action(e) ses-send: Send ses-new: New ses-info: Info security-event-structure: SES es-E-interface: E(X) eclass-val: X(e) in-eclass: e ∈b X event-ordering+: EO+(Info) es-locl: (e <loc e') es-causl: (e < e') es-loc: loc(e) es-E: E Id: Id assert: b uimplies: supposing a all: x:A. B[x] exists: x:A. B[x] not: ¬A implies:  Q or: P ∨ Q and: P ∧ Q equal: t ∈ T
Lemmas :  sq_stable_from_decidable ses-action_wf decidable__ses-action assert_wf in-eclass_wf ses-send_wf es-interface-subtype_rel2 es-E_wf event-ordering+_subtype top_wf subtype_top sdata_wf event-has*_wf eclass-val_wf ses-new_wf assert_elim subtype_base_sq bool_wf bool_subtype_base es-causl_wf decidable__es-E-equal exists_wf es-locl_wf ses-thread-member_wf equal_wf all_wf es-loc_wf not_wf ses-act_wf es-E-interface_wf ses-legal-thread_wf ses-thread_wf Id_wf event-ordering+_wf ses-info_wf ses-axioms_wf security-event-structure_wf es-causl-swellfnd less_than_transitivity1 less_than_irreflexivity int_seg_wf decidable__equal_int subtype_rel-int_seg false_wf le_weakening subtract_wf int_seg_properties le_wf nat_wf zero-le-nat lelt_wf event-has_wf infix_ap_wf rel_exp_wf ses-info-flow_wf le_weakening2 decidable__le not-le-2 less-iff-le condition-implies-le minus-one-mul zero-add minus-add minus-minus add-associates add-swap add-commutes add_functionality_wrt_le add-zero le-add-cancel or_wf set_wf less_than_wf primrec-wf2 es-le_wf int_seg_subtype-nat decidable__lt not-equal-2 le-add-cancel-alt sq_stable__le add-mul-special zero-mul ses-legal-thread-has-atom event-has*-iff subtype_rel_dep_function member-useable-atoms ses-rcv_wf es-causl_transitivity2 es-causle_weakening_locl ses-encrypt_wf encryption-key_wf ses-decrypt_wf ses-sign_wf ses-verify_wf ses-act-has-atom eqtt_to_assert l_member_wf squash_wf true_wf list_wf sdata-atoms_wf iff_weakening_equal ses-useable-atoms_wf eqff_to_assert bfalse_wf and_wf bnot_wf btrue_neq_bfalse bool_cases_sqequal ses-legal-thread-decrypt ses-used-atoms_wf decidable__or decidable__l_member decidable__atom_equal_1 member-used-atoms encryption-key-atoms_wf ses-encryption-key_wf ses-signed_wf ses-verify-sig_wf ses-verify-signed_wf ses-cipher_wf ses-decryption-key_wf es-causl_weakening es-locl_transitivity2 es-le_weakening sq_stable__l_member ses-sig_wf ses-crypt_wf ses-decrypted_wf ses-nonce-unique ses-nonce-from-ordering ses-flow-axiom-ordering rel_exp_iff rel_star_wf class-value-has_wf free-from-atom_wf event-has*-transitive-encrypt atom1_subtype_base ses-cipher-unique int_subtype_base event-has_functionality member_wf ses-info-flow-exp_functionality le-add-cancel2 es-le-self

Latex:
\mforall{}s:SES
    (SecurityAxioms
    {}\mRightarrow{}  (\mforall{}es:EO+(Info).  \mforall{}A:Id.  \mforall{}thr:Thread.
                (Legal(thr)@A
                {}\mRightarrow{}  (\mforall{}n:E(New).  \mforall{}e:Act.
                            (e  \mmember{}  thr
                            {}\mRightarrow{}  e  has*  New(n)
                            {}\mRightarrow{}  (\mexists{}e':E.  ((e'  <loc  e)  \mwedge{}  Action(e')  \mwedge{}  e'  has*  New(n)  \mwedge{}  e'  \mmember{}  thr))  \mvee{}  (e  =  n) 
                                  supposing  \mforall{}e':E
                                                          ((e'  <  e)
                                                          {}\mRightarrow{}  Action(e')
                                                          {}\mRightarrow{}  e'  has*  New(n)
                                                          {}\mRightarrow{}  ((loc(e')  =  A)  \mwedge{}  (\mneg{}\muparrow{}e'  \mmember{}\msubb{}  Send))))))))



Date html generated: 2015_07_23-PM-00_12_38
Last ObjectModification: 2015_02_04-PM-03_51_53

Home Index