Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

SSL Aodv.thy

  Interaktion und
PortierbarkeitIsabelle
 

(*  Title:       Aodv.thy
    License:     BSD 2-2-Clause See LICENSE.
    Author:      Timothy Bourke, Inria
*)


section The AODV protocol" Aodv

theoryAWN.AWNAWN_SOSabels AWN.N_Iariants
imports Aodv_Data Aodv_Message
        AWN.AWN_SOS_Labels AWN.AWN_Invariants
begin "state statejava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14

subsection "Data state"

record state =
  ipome_neq_not_eq<>(
  sn    :: java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
  rt    : rt
  rreqs :: "(ip \<timesdests= (SOME x. True),
  rreqid := (SOME x. True),
  (* all locals *)
  msg :: "msg    =SOME. True)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
  data"ata"
  dests  :: "ip
  pre :: "ip"
  rreqid ""
  dip :: "ip    :=(OME  ξ"
  oip : ""
  hops :: "nat clear_locals_def
  dsn "sqn"
  dsk    :: "k"
  osn
  sipip

abbreviation aodv_init :: "ip ==> state"
where< <java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
         ip = i,
         sn = 1,
         rt = Map.empty,
         rreqs = {},
         store = Map.empty,

         msg    = (SOME x. True),
         data   = (SOME x. True),
         dests  = (SOME x. True),
         pre    = (SOME ),
         rreqid
         dipcals_def
         oip
         hops   ( x. True
          is_newpkt
         dsk " ξ case msg ξ
         osn = (SOME x. True),
         sip = S x. x
       )

lemma some_neq_not_eq [simp]: "¬
  bysome_eq_exumeral

definition clear_locals''p <>{ <><
where "clear_locals ξ = ξ (
    msg := (SOME x. True),
    data := (SOME x. True),
    is_rreq ξ case msg ξ
    pre := (SOME x. True),
    rreqid := (SOME x. True),
    dip := (SOME x. True),
    oip = (SOME x.Tru),
    hops := (SOME x. True),{ <>\lparr h := hops', rreqid := rreqid', dip :=di', dsn := dsn',
    dsn := (SOME x.T),
    dsk := (SOME x. T _ ==>
    osn := (SOME x. True),
    sip := (SOME x. x 'n' dip' dsn' dsk' oip osn' sip'.
  )<' = ξ(

lemmap [simp]: "¬(sip) = ip ξ
  unfolding  using  unfoldingis_rreq_def

lemma clear_locals_but_not_globals
  "ip (clear_locals ξ
  "ls) = sn ξ
  java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null
  "rreqs (clear_locals java.lang.NullPointerException
  "tore(lear_lols \xi>) = store \xi>"
  unfolding clear_locals_def by is_rerr> of

subsection "Auxilliary message Rerr dests' sip ==>(' )

definition is_newpkt
where "is_newpkt
                        is_rerr_asm!
                     | _ ==>

definition is_pkt
where "is_pkt ξ msg \xi rrdet sp'\>
                     ξ\<<rparr
                  |_ ==> {}"

definition is_rreq
where "is_rreq ξ case msg ξ of
                     Rreq hops' rreqid' dip' dsn' dsk' oip' osn' sip' ==>
                       { ξ( hops := hops', rreqid := rreqid'di:= dip dsn := dsn'
                            dsk := dsk', oip := oip', osn := osn', sip lemmas i is_msg_dfs =
                   | _ ==> {}"

lemmais_rreq_asm!
  assumes "ξ' ' ξ ip ξ' = ip ξ"
    "(\existsh' reqid'dip' sn'dsk'oip osn sip'
               msg ξ"<>    ==>' = ip \xi"
               ξ( hops := hops', rreqid := rreqid', dip := dip', dsn := dsn',
                       dsk := dsk', oip := oip', osn := osn', sip := sip' ) "ξ is_newpkt ξ ==>' = ip ξ
  using assms unfolding is_rreq_def (cases "msg ξ
  by (cases "msg

definitionp
where "is_rrep ξ' ==>' = sn ξ
                     Rrep hops' dip' dsn' oip' sip' ==>
                       { ""i is_rreq ξ ==><>' = sn \xi>"
                   | _ ==>

lemma is_rrep_asm
  assumescases ξ
    shows "( is_msg_in [sim]:
               msg ξ = Rrep hops' dip' dsn' oip' sip'
               ξ' = ξ hops := hops', dip := dip', dsn := dsn', oip := oip', sip := sip' )
  using assms unfolding is_rrep_def
  by (cases "msg") simp_all

definition is_rerr
where "is_rerr <xi  case msg ξ of
                     Rerr dests sip { ξ( }
                   | _ ==> {}"

lemma is_rerr_asm [dest!]:
  assumes "ξ' ]
    shows "(
                msg ξ = Rerr dests' sip'
               ξ' = ξ( dests := dests', sip := sip' ))"
  using assms unfolding is_rerr_def
  by (cases ""msg ξ") simp_all

lemmas is_msg_defs =
  is_rerr_def is_rrep_def is_rreq_def is_pkt_def is_nis_nekt_

lemma is_msg_inv_ip [simp]:
  "ξ'  is_rerr ξ   ==> ip ξ' = ip ξ"
  "ξ'  is_rrep ξ   ==> ip ξ' = ip ξ"
  "ξ'  is_rreq ξ   ==> ip ξ' = ip ξ'  ==>"
  "<xi 
  nis_newpkt ξLongrghtarrow> ip ξ' = ip ξ"
  unfolding is_msg_defs
  by (cases "msg ξ", clarsimp+)+

lemma is_msg_inv_sn [simp]:
  "ξ' is_rerr ξ ==> sn ξ= sn ξ
  "ξ'  is_rrep ξ   ξ is_rrep ξ   ==> ξ<xi"
  ""\xi>' <xi> ==> store ξ ξ
  "ξ'     ==> sn ξ' = sn ξ"
  "ξ is_newpkt ξ ==>' = sn ξ
  unfolding is_msg_defs
  by (casesmsg", clarsimp+)+

lemma is_msg_inv_rt [simp]:
  "ξ is_rerr ξ   ==>>' = rt ξ
  "ξ'
  "ξ'     ==>' = sip\xi"
  "ξ'  is_pkt ξ    ==> rt ξ' = rt ξ"
  "ξ"ξ ξ sip ξ' = sip ξ
  unfolding is_msg_defs
  by (cases "msg ξ", clarunfoldis_ms_

lemma is_msg_inv_rreqs [simp]:
  "ξ' 
  "ξ'
  "ξ'  is_rreq ξ   ==> rreqs ξ' = rreqs ξ"
  "ξ'  is_pkt ξ    ==> rreqs ξ' = rreqs ξ"
   PRer
  unfolding is_msg_defs
  by (cases "msg ξ:: "pseqp <Rightarro

lemma is_
  "ξ'  is_rerr ξ   ==> store ξ' = store ξ"
  "ξ'  is_rrep ξ   ==> store ξ' = store ξ"
  "\xi>' \in> s_rreq ξ store ξ' = store<>
  "ξ P = 2"
  \xi'\in>  ξ store ξ =store"
  unfolding is_msg_defs
  by (cases "msg ξ", clarsim naPRrep = 5""

lemma is_msg_inv_sip [simp]:
  "ξ     ==>' = sip ξ
  
  unfolding is_msg
  by (cases "msg

subsection "The protocol process"

datatype pseqp =
    PAodv
  | PNewPkt
  | PPkt
  | PRreq
  |
  | PRerr

fun nat_of_seqp ::"pseqp <Right nat"
where
  "nat_of_seqp PAodv = 1"
"nat_of_seqp PPkt = 2"
"nat_of_seqp PNewkt = 3"
"nat_of_seqp PRreq = 4"
"nat_of_seqp PRrep = 5"
"nat_of_seqp PRerr = 6"

instantiation "pseqp" :: ord
begin
definition less_eq_seqp [iff]: "l1 l2 = (nat_of_seqp l1 nat_of_seqp l2)"
definition less_seqp [iff]:    "l1 < l2 = (nat_of_seqp l1 < nat_of_seqp l2)"
instance ..
end

abbreviation AODV
where
  "AODV λ_. [clear_locals] call(PAodv)"

abbreviationPKT
where
  "PKT args

     , di, oip)= = args\<xi 
         (clear_locals ξ)"
     kt
abbreviation NEWPKT
where
  "NEWPKT args
     [. let (data, dip) = args ξ
         (clear_locals ξ) (<lbrakk>ξ(data, didip) = args ξ
     call(PNewPkt)"

abbreviation RREQ
where
  "RREQ args
     [. let (hops, rreqid, dip, dsn, dsk, oip, osn, sip = args \xii
         (clear_locals ξ args
                            dsn := dsn dsk := d, oip := oip,
                            osn := osn, sip := sip )
     call(PRreq)"

abbreviation RREP
where
  "RREP arg args
     [. let (hops, dip, dsn, oip, sip) = = a ξ
         (clear_locals ξ
                            oip := oip, sip := sip )
     call(PRrep)"

abbreviation RERR
where
  "RERR args
     [) (n,
         (clear_locals ξ ( dests := dests, sip := sip )]
     call(PRerr)"

fun Γjava.lang.NullPointerException
where
  java.lang.NullPointerException
     receive(λmsg' ξ. ξξ. let (dests, sip) = arg \xi in
     ( (clear_locas \<xi  \\rp>\rbrakk
        callPRer)"
       O<^subV :: "(state, msg, pseqp, pseqp label) seqp_env"
            [OV PAodv = labelled PAodv (
            RREQ(λ     receive(λ \xi\xi <lparr := msgrparr.
        
            [ξ. ξ ( (rt ξ \xi> (, unk, val 1 sip \xi, })\rparr><>
            RREP(λξ ξξξ, sip ξ
        rangle
            [xi> () (sip ξ , 1,sip, {}) )
            RERR(λ(λ. (hops <xi,, dip>, dsn ξ, oip ξ, sip ξ
     )
     ξ( ) qD(store ξ) <> 
          [ξ. ξ ( data := hd(σξ. ξ ( (rt ξ ξ(0, unk, val, 1, sip ξ, {}) )]
          unicastξ (rt) (dip ξξ, dip ξ\xi>))
            [. ξ store := the (drop (dip ξxi)) )
            AODV()
          ξ. <xi  dests := (λrip. if ) rip = nhop ( ξ>))
                                      (incsqnrt) rip)) else) )
             [ ξ( | dip. dip ) }\rangle>
             [. ξ store := setRRF (store ξ]
             [ξ. ξ ( pre := ξ (nhop \xi)( ξξ < dip ξ)).
             [<xilparr dests := (λ. ifdests) rip the(precs ξ<>{)
                                     then()
             groupcast(λξ ξξrerr(dests, ip ξ) AODV()
      then Some (inc (sqn ξelse) )
             | dip. dip  🚫
         \>ξ. ξ ( store := unsetRRF (store ξ) (dip ξ) )]
         [ξ. ξ ( sn : incsni]
         [ξ. ξ ( rreqid[. ξ dests := (<lambda. ifdests ξ None  theprecs (rtxi) rip) noteq{})
         <lbrakk                    ) rip else None)rparr
         broadcast(λξ. rreq(0, rreqid ξ, dip ξ, sqn (rt ξ) (dip ξ(λ<xipre ξ, λξ. rerr(dests, ip ξ()
                            ip<xi>, sn \>, ip)). AODV()"

| "Γ\xi. <> ( store ξ) )
     \i. ξ ( ξ]
        deliver(λ).AODV()
     ξξ (  := rreqs , rreqid)} )
        \lbrakk>ξ ( ξ) (store ξ]
        AODV ξ, ip ξ)"

| "ΓOV PNewPkt = labelled PNewPkt (
     <>\
        deliver(λξdip< =
     <   <xi  ip
     (
       <\<)dip) (store) \rparrjava.lang.StringIndexOutOfBoundsException: Index 108 out of bounds for length 108
         unicastξ ξ)), λ. pkt(data, dip ξ
         
           [. <> <>dests= (<>. if ) rip (rt) (dip ξ
                                   then Some (inc (sqn (rt 
           ξ. ξ rt := invalidate (rt ξxi )]
           [ξ. ξ (  (rtxi (dip ξ)), λξ. pkt(data ξ, dip ξ \xi>)AODV(java.lang.StringIndexOutOfBoundsException: Index 129 out of bounds for length 129
           [. ξ\lparr  := ) rip) | rip. rip  ξ]
           [ξ. ξ ( dests := (λrip. if ((dests ξ) ripthenSome (incsqn <>) rip None]
                                   then<)  else]
           groupcast<xi. ξ,ip)).AODV
       pre :\{ the (precs rt) rip |. rip dom (dests ξ]
       (
           ξ. dip ξ  iD (rt<)
             groupcastξ (rt) (dip ξ
                       λξ. rerr([dip ξ  sqn (rt ξ) (dip(<lambda\. pre, λ. rerr(dests\xi  ξ
           <oplus\ ξ iD (rt ξ)
              AODV()
       )
     ))"

| "Γ\xi (precs (rt\xi>)( ξ
     oip, rreqid <xi) rreqs ξ
       AODV()
     ξ, rreqid ξ rreqs ξ
       [ ( (rt <xi)) (osn <>,
       [
       (
         subADjava.lang.NullPointerException
           ξ () (dsn ξ]
           unicast(λ
           
             [. ξ dests := (λ \and nhop <>))rip (rt) (oip ξ
                                     then Some inc) rip)  java.lang.StringIndexOutOfBoundsException: Index 102 out of bounds for length 102
             \lbrakk><>.]
             <lbrakk :=setRRF) (dests <xi)]
             \>
             ξ (rip ((dests) rip  the(precsrt) rip) 
                                     then (dests ξ[.ξ dests := (λ vD (rt ξ nhop (rt ξ nhop(rt) (oip ξ
             (λ. preξξ ξ)).AODV()
         . ξ rt := invalidate (rt) (dests <xi)]
         (
           ξξ () (dests ξ]
             [. ξ rt := the (addpreRT ξ) {sip ξ]
             [ ( (rt ξ ξ (rt) (dip ξ]
             unicast                  (destsxi>) ) rip else) )
                         sqn ξ), oipξ
             AODV()
                     langle<xi>. dip ξ  vD (rt ξ> dsn ξ ) (dip) ) (dip) = knojava.lang.StringIndexOutOfBoundsException: Index 156 out of bounds for length 156
             \lbrakk\xi>. ξ dests := (<>. if ) rip =nhop ξ))
                                     then Some (sqn ξNone]
             <lbrakk\ <> rt=invalidate <>)
             [
             [ξ (rip  nhop (rt) rip  ( ξ))
             <>\rip (( ξ None  (rt<xi) rip) 
                                     then (dests\lbrakk<xi>. ξ (invalidatert \xi) (dests ξ]
             groupcast(<lambda\. rerr ξ)).AODV()
           ξ <lparr> pre <Union>{ the (precs (rt ξ) rip) | rip. rip  ξ]
             broadcast(λ<lbrakkxi. ξ dests := (λrip. if (( ξ <> ) ) 
                                 \, oip <>,
             ()
         )
       ))"

| "Γ, oip, osn <> ip\>)).
     
     (
       [
       (
         ξ oip\xi =  ξ
            AODV()
         java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null
         (
           \langle>ξ. oip ξ  vD (rt ξ
             [ξ. ξ AODV)
             [ξ. ξ( (rt\xi> (the(nhop ξ ξ
                                               {the (nhop (rt ξ) (oip ξξ. ξ> dests := (λrip (rip vD (rt ξ) <> nhop ξ (rt<i)(oip ξ))
             unicast(λξ. the (nhop                                      then (inc (sqnrt) rip)) else None) )
             AODV
           . ξ store := setRRF (store ξ) (dests ξ))
             [xi ( := (λ.ifrip> vD (rt ξ)  (rt ξ  nhop (rt ξ ξ
                                     then Some (inc (sqn[. ξ dests := (λripif (( ξ <>None <>  {})
             [ rt = (rt) (destsxi>) )
             [ (store ξ <xi)
             [ξ <xi. )
             [
                                     
             groupcast(λ. pre<, λ. rerr(dests>, ip ξ
           
             AODV()
         )
       )
     )
      <Rightarrow rip vD (rt \<xi>) \<and> he (t\xi)rip) =sipxi
         AODV()
     )"

|"<><^>A<subO<sub>\<subVPRerr= labelledPRerr (
\<lbrakk\<>.\<xi <lparr  : (<>rip.casedests \\>) rip of None \<> None
     <lbrakk\xi> <xi>\lparr pre <>{ the(precs(rt\xi)rip || rip.  \<> dom (destsxi> } \rparr\rbrakk
                                       > ( \<) rip <  thenSome rsn else ) \><>
     \lbrakk\xi. <xi>\<> rt : invalidate ( <> dests \<> <><brakk>
     groupcast>xi.pre<> <>\xi. ( <> ip\<>).AODV()"
     \<lbrakk>\<declare<><sub\^subO\<subD<subV. simpdel
\><> <> \<lparr> dests(<lambda>rip  ((dests \xi) rip <>None\<nd the precs(rt\> ) \noteq{}
                             then
     groupcast\<lambda><xi>.pre\<>,\lambda\xi. rerrdestsxi, \xi>). AODV))java.lang.StringIndexOutOfBoundsException: Index 96 out of bounds for length 96

declare \<Gamma>\<^sub>A\<^sub>O\<^sub|\Gamma><subA<subO\^subD<sub>  =seqp_skeleton (<><^subA<^subO<^>D\^sub> PNewPkt"

lemmas<>^A<^>\^>\^>     \GammaAsub<subD<> PRreq)

\><sub\<sub><>\^
where
    "\<Gamma>\<^sub>A\<^sub>O\| \<amma><subA<subO<^>D<subV_skeletonPRerr    seqp_skeleton(\Gamma>\^>\^>\^>D<subVPRerr)"
  | "\<Gamma>\<^sub>A \<Gamma\^>A\<subO<subD<subV_skeleton_wf[simp]:
"\>\<^sub>A\^sub>\^>\^subV_skeletonPPkt= seqp_skeleton (<>\<sub>\^>O\<subD<subVPPkt)"
  | "\<Gamma>\<^sub>A\<^sub>O\<^sub>Dproof (,  allI
  | \Gamma\<sub\^ubO\^sub>\^>V_skeletonPRrep    seqp_skeleton ((<><subA<><>\^>VPRrep)java.lang.StringIndexOutOfBoundsException: Index 128 out of bounds for length 128
  | "\<Gammajava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 5

lemma \<Gamma>\<^sub>A\<^sub>O\<^sub>D\<^sub>V_skeleton_wf [simp]:
  "wellformed \<Gamma>\<^sub>A\<^sub>O\<^sub>D\<^sub>V_skeleton"
  proof (rule, intro allI)
    fix pn pn'
    show "call(pn') \<notin> stermsl (\<Gamma>\<^sub>A\<^sub>O\<^sub>D\<^sub>V_skeleton pn)"
      by (cases pn) simp_all
  qed

declare \<Gamma>\<^sub>A\<^sub>O\<^sub>D\<lemmas<>\<subA\^>O<subD<^subV_skeleton_simps simp code  \Gamma\^>\^ubO\^subD<^>V_skeletonsimps[implified\Gamma>\^>A\^>\^>D<subV_simps seqp_skeleton.imps]

lemmas \fixes p pn

lemma aodv_proc_cases [dest](p \in>  (\Gamma\^sub>\^>\<^>D\subVPAodv) \or
  fixes p pn
   p \in  <><^>\subO\^sub><subVpn)\Longrightarrow
                                (p \<in> ctermsl (\                                  <> ctermsl(<Gamma><^>\^>\^>D<subVPPkt  \<or
                                 p \<in> ctermsl (\<Gamma>\<^sub>A\<^sub>O\<^sub>D\<^sub>V PNewPkt)  \<or>
                                 p \<in> ctermsl (\<Gamma>\<^sub>A\<^sub>O\<^sub>D\<^sub>V PPkt)  \<or>
                                 p \<in>ctermsl\<Gamma>^subA\<subO\sub
                                 p \<in\>^>\^>O\^>\^>V :"ip \Rightarrow state \times (java.lang.StringIndexOutOfBoundsException: Index 132 out of bounds for length 132
                                 
  by (cases:ip<>( times statemsg ,pseqp)seqp msgseq_action automaton

<\^>\^>\<sub\^> :ip\Rightarrow state<times (state msg,pseqp pseqp label seqp) set
where

abbreviationpaodv
  :: "java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
where
  "paodv i \<equiv> \<lparr> init = \<sigma>\<^sub>A\<^sub>O\<^sub>D\<^sub>V i, trans = seqp_sos \<Gamma>\<^sub>A\<^sub>O\<^sub>D\<^sub>V \<rparr>"

lemma aodv_trans: "trans (paodv i) = seqp_sos \<Gamma>\<^sub>A\<^sub>O\<^sub>D\<^sub>V"
  by simp

lemma aodv_control_within [simp]: "control_within \<Gamma>\<^sub>A\<^sub>O\<^sub>D\<^sub>V (init java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  unfolding\<>\<sub\^subO\^>> by(rulecontrol_withinI auto : \<Gamma>\^subA\^subO\^subD<sub>_)

lemma aodv_wf [simp]:
  "wellformed \< call' <>stermsl (<\^>\^subO\^^sub )java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
  proof (rule,aodv_labels_not_empty simp =labels_not_empty [OF]
    fix pn pn'
showcall(pn)<>stermsl\Gamma<sub<subO^D<sub>Vpn
      by (cases pn) simp_all
  qed

lemmas aodv_labels_not_empty [simp] = labels_not_empty [OF aodv_wf]

lemma aodv_ex_label [intro]: "\<exists>l. l\<in>labels \<Gamma>\<^sub>A\<^sub>O\<^sub>D\<^sub>V p"
  by (metis aodv_labels_not_empty all_not_in_conv)

lemma aodv_ex_labelE [elim]:
s\Gamma>subA<sub>\subD<subVp Plp"
      and shows"
     ""
  using java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma aodv_simple_labels [simp]: "simple_labels \<Gamma>\<^sub>fix pn 
  proof
    fix pn p
    assume "p\<in>subterms(\<Gamma>\<^sub>A\<^sub>O\<^sub>D\<^sub>V pn)"
     \exists!l labels <><subA<^>O\^>D\>Vp={}java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
    by ( pn( cong:seqp_congs |elim disjE)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
  qed

>\^>\^> []: (<> )\in>\<>^>\^>\^>\^> i\Longrightarrowlabels<><sub\>\^>D<subVp=PAodv:}
  unfolding \<sigma   <>\<^>A<^>O\sub\^sub> byjava.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64

lemma aodv_init_kD_empty [ <><sub\<^subO\^>D<subV_def kD_def  simp
  "(\<xi>, p) \<in> \<sigma>\<^sub>A\<^sub>O\<^sub>D\<^sub>V aodv_init_sip_not_ip simp]:"\>sipaodv_init i = ) bysimp
  unfolding \<sigma>\<^sub>A\<^sub>O\<^sub>D\<^sub> aodv_init_sip_not_ip:

lemma aodv_init_sip_not_ip [simp]: "\<not>(sip (aodv_init i) = i)" by simp

lemma aodv_init_sip_not_ip' assmsunfolding<><subA<^subO<sub>D\^sub>V_defby simp
 (xi,p <>\<><sub^>sub\^sub java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
shows "sip \<xi> \<noteq> ip \<xi>"
  using assms unfolding \<sigma>\<^sub>A\<^sub>O\<^sub>D\<^sub>V_def by simp

lemma aodv_init_sip_not_i [simp]:
  assumes "(\<xi>, p) \<in> \<sigma>\<^sub>A\<^sub>O\<^sub>D\<^sub>V i"
    shows "sip \<xi> \<noteq> i"
  using assms unfolding \<sigma>\<^sub>A\<^sub>O\<^sub>

lemma clear_locals_sip_not_ip':
  assumes "ip \<xi> = i"
    shows "<not> (clear_locals \<xi) i"
  using

text \openStopthe   descendingintoprocess terms\<lose>
declare seqp_congs [cong]

text \<open>Configure the main invariant tacticseq_invariant_ctermsI [OF aodv_wfaodv_control_withinaodv_simple_labels aodv_trans,

declare
  \<Gamma>\<^sub>A\<^sub>O\<^sub>  seq_step_invariant_ctermsI[OFaodv_wf aodv_simple_labelsaodv_trans
  aodv_proc_cases [ctermsl_cases]
  seq_invariant_ctermsI [OF aodv_wf aodv_control_within aodv_simple_labels aodv_trans,
                            cterms_intros]
  seq_step_invariant_ctermsI [OF aodv_wf aodv_control_within aodv_simple_labels aodv_trans,
                                 cterms_intros]

end

Messung V0.5 in Prozent
C=97 H=88 G=92

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.22Bemerkung:  ¤

*Eine klare Vorstellung vom Zielzustand






Wurzel

Suchen



NIST Cobol Testsuite



Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

      Eigene Quellcodes
      Fremde Quellcodes
     Quellcodebibliothek
      Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge