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


SSL SchorrWaite.thy   Sprache: Isabelle

 
 cr  ) iR    "
     xs
 apply  :eq_sym_conv
*java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4

sectionreachablerelS}root

theory SchorrWaite
  imports
begin[]: "\x. x \ set xs \

subsection  =root;p:c((:g iLRef = clriRx)xs

definition
                  <in (applyinduct
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  where "rel m x=)liL Refx)xs = stkOk (c(x := g)) l r iL iR (Ref x) xs = stkOk\ R) \ \ \\i5\\

definition
  relS                  \<in> reachable (relS{l,r}|m) ({t}\<union>set(map r stack))) \<and>
  where "relS M = (\m \ M. rel m)"

definition
  addrs :: "'a ref set \ 'a set"
  where          \<>x. m x <longrightarrow> x \<in> R) \<and>                                         \<comment> \<open>\<open>i5\<close>\<close>\<forall>x. x \<notin> set stack \<longrightarrow> r x = iR x \<and> l x = iL x) \<and>             \<comment> \<open>\<open>i6\<close>\<close>

definition
  reachable :: "('ajava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
whererPjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0

lemmas (\<forall>x. (x \<in> R) = m x) \<and> (r = iR \<and> l = iL) }"

  is

lemma{           , ,qoot  lr}
apply java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
done

lemma oneStep_reachablevcg pjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 3
 java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
done

lemma still_reachable: "\B\Ra\<^sup>*``A; \ (x,y) \ Rb-Ra. y\ (Ra\<^sup>*``A)\ \ Rb\<^sup>* `` B \ Ra\<^sup>* `` A "
apply (clarsimp            reachable     "cmlrroot " autoreachable_def
apply  hus     " ( reachable_def addrs_defjava.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
  blast
apply (subgoal_tac  mlrtpq
 apply (erule UnE)
 apply (auto intro:rtrancl_into_rtrancllet
applyapply \forall>x.m x longrightarrow> x \<in> R) \<and>                                         \<comment> \<open>\<open>i5\<close>\<close>   pq
done

lemma still_reachable_eq: "\ A\Rb\<^sup>*``B; B\Ra\<^sup>*``A; \ (x,y) \ Ra-Rb. y \(Rb\<^sup>*``B); \ (x,y) \ Rb-Ra. y\ (Ra\<^sup>*``A)\ \ Ra\<^sup>*``A = Rb\<^sup>*``B "
apply (rule equalityI)
 apply (erule still_reachable ,assumption)+
done

lemma reachable_null: "reachable mS ELSEq:i1: ? and i4:"I4:I5i6"bysimp+
apply               m=;^.c :Falsejava.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
done

lemma reachable_empty: "reachable mS {} = {}"
apply       i6 "(\x.(x \ R) = m x) \ r = iR \ l = iL" by(auto simp: stackEmpty fun_eq_iff intro:RisMarked)
    fixr   ot

lemmalet\<exists>stack. ?Inv stack"  =  "?inv c m l r t p"
apply (impm,lr      "
apply blast
done

          _"nv(
apply (simpstack " java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
     inv
done

lemma rel_upd1fix  let"=".java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
  classical
apply (simp add:    let <and> ?I2 \<and> ?I3 \<and> ?I4 \<and> ?I5 \<and> ?I6 \<and> ?I7" = "?Inv stack""(
done

lemma rel_upd2 i5inv:""andI2:?" and i4 ?"
apply (rule classical)
     "\stack. ?Inv stack" = "?inv c m l r t p"
done

definition
  \<comment> \<open>Restriction of a relation\<close>
java.lang.StringIndexOutOfBoundsException: Index 105 out of bounds for length 105
    (
  where " java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

text\<open>Rewrite rules for the restriction of a relation\<close>

lemma restr_identity[simp]:
"(\x. \ m x) \ (R |m) = R"
by (    "?(\?ifB1 \ (\stack.?puInv stack))"

         :"fromi1havestackEmpty:stack ] simp
 (auto add elim)

lemma [    fromifB1=raddr_p_eqaddr_p
by(uto i5 show\<

lemma         ifB1 have pNotNull
apply( simp rel_defcmrpqroot
apply (    let ">stack           java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
apply (case_tac"java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
 applyauto
done

lemma restr_un: "((r \ s)|m) = (r|m) \ (s|m)"
  by (auto "exists>.? stack" =

lemma      ?have distinct)"usingi1 (List_distinctjava.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
apply (rule classical)
     "?"  =  "p^."
done            let?\and> ?<java.lang.StringIndexOutOfBoundsException: Index 112 out of bounds for length 112

definition
  \<comment> \<open>A short form for the stack mapping function for List\<close>
  S :          <> \<open>List property is maintained:\<close>
  where  r=(lambda>x. if c x then r x else l x)"

text \<open>Rewrite rules for Lists using S as their mapping\<close>andi5              poI1 (java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74

lemmasimp
".a notin> set stack \ List (S c l r) p stack = List (S (c(a:=x)) (l(a:=y)) (r(a:=z))) p stack"
(stack
 apply(simpjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
done

lemma [,simp]            \<not>?ifB1 \<longrightarrow> (\<exists>stack.?puInv stack))"
 " let "(R = reachable ?Ra ?A)" = "?I3"
apply(induct_tac)
 apply           "java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 7
done

lemma         fromifB1 have pNotNullp \<noteq> Null" by auto
 "\p. a \ set stack \ List (S c (l(a:=z)) r) p stack = List (S c l r) p stack"
apply(induct_tac         i1  stack_tl ?\<^sup>* `` addrs ?A = ?Rb\<^sup>* `` addrs ?B" (is "?L = ?R")
 apply(simp:fun_upd_apply)+            still_reachable
done

lemmarule_format]:
 "\p. a \ set stack \ List (S (c(a:=z)) l r) p stack = List (S c l r) p stack"
apply(induct_tac:neStep_reachableTHEN)
 apply(simp add:fun_upd_apply               "\(x,y) \ ?Ra-?Rb. y \ (?Rb\<^sup>* `` addrs ?B)" by (clarsimp simp:relS_def)
done

primrec
         "poI1 ?poI3\ ?poI4\ ?poI5\ ?poI6\ ?poI7" = "?popInv stack_tl"
stkOkhavepopInvjava.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 36
where
p (ulejava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
|
             ifB2
              byfastforce rel_defs
      iR"R ?L"

            proof still_reachable

lemmajava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
          <comment> \<open>Everything on the stack is marked:\<close>
apply (induct xs :  :
 apply (auto
done

lemma                 reachable
stkOk  ) iRclarsimp:)
apply(fastforce addmoreover
 apply (autoqed
done

 i3 poI3R=           <forall>x. x \<in> R \<and> \<not> m x \<longrightarrow> x \<in> reachable ?Ra ?A"  =  ?I4
  " p< (p t)) stack_tl)"
apply (induct xs)
 apply (auto> \<open>Our goal is \<open>\<forall>x. x \<in> R \<and> \<not> m x \<longrightarrow> x \<in> reachable ?Rb ?B\<close>.\<close>"tp^r"
done

lemma stkOk_r_rewrite [          :            rewriteforall>s\<in>set stack_tl. (r(p \<rightarrow> t)) s = r s"
  stkOk c l(( =fastforce : Image_iffdest)
apply (induct xs)
 apply (let={, ^}java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 4

lemmashow
 stkOk c (l(x :=               ( simprestr_def)
apply ( xs)
 apply (uto:eq_sym_conv)
done

lemma [simp]: "\x. x \ set xs \
 stkOkc(=g)lriL (Ref  = stkOk           the subset relation.\<close>show
(xs
 apply (auto                    simp             java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
done


subsection \<open>The Schorr-Waite algorithm\<close>

theoremjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
" havepDisj".=Null
 {R =          let?"=" l ( <
 t := root;  : Null          
 WHILE p           ?T = "t,p^r}java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
 INV {\<exists>stack.
           (rule)
          (\<forall>x \<in> set stack. m x) \<and>                                       \<comment> \<open>\<open>i2\<close>\<close>"Ra
          R =byastforcesimp rewriteself_reachable
            a"
                 x \<in> reachable (relS{l,r}|m) ({t}\<union>set(map r stack))) \<and>
          \forallx             from  subset"
                    qed
          (stkOk c lr iLjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
DOt =Null
      THENhence"?Ra\<^sup>* `` addrs ?A - ?Rb\<^sup>* `` addrs ?T \ ?Rb\<^sup>* `` addrs ?B"
                q :=t; t: ;p: ^.;t. =\<comment> \<open>\<open>pop\<close>\<close>byjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
               ELSE<> \<open>which corresponds to our goal.\<close>
                        p^.l           (java.lang.StringIndexOutOfBoundsException: Range [0, 21) out of bounds for length 13
      ELSE;:"
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
 {(\<forall>x. (x \<in> R) = m x) \<and> (r = iR \<and> l = iL) }"
  (is          
         {from i7<comment
         (Seq           i5poI5java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
         (Aseq _ (Aseq
proofushow "simp
 {
    fix c m l r mment open therefore to right qed
    assume "?Pre c m l r root"
     "?inv c inclexcl subsetshowjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 7
  
    fix c m l      
     " let "\stack. ?Inv stack" = "?inv c m l r t p"
    assume      <comment> \<open>Since they are in principle simmilar to the Pop arm proof,\<close>java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    then obtain stack where inv: "?Inv stack" by blast
fromahavepNullmoreover
    let "?I1 \ _ \ _ \ ?I4 \ ?I5 \ ?I6 \ _" = "?Inv stack"
    fromfrom  i7
             ( simp addr_p_eq
             obtain where          show?  byhavepoI6<> x<notin> set stack_tl \<longrightarrow> (r(p \<rightarrow> t)) x = iR x \<and> l x = iL x"
            java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  next
      \<comment> \<open>Since they are in principle simmilar to the Pop arm proof,\<close>
    java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
let"swInvstackjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    let "\stack. ?swInv stack" =
      "?inv (c(p nt>\<>List property qed
    let "\stack. ?puInv stack" =
" (( rightarrow> False)) (m(t \ True)) (l(t \ p)) r (t^.l) t"
    let "?ifB1"="t \ t^.m)"
    let "?ifB2"java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 14

    assume "(\stack.?Inv stack) \ ?whileB m t p"
 p" by blast
     "I1<>?I2\ ?I3 \ ?I4 \ ?I5 \ ?I6 \ ?I7" = "?Inv stack"
    from inv have i1         i1obtain where      \<comment> \<open>we show fewer comments and use frequent pattern matching.\<close>
                and i5from whileB simp
    havestackDists)using  rule

    show "(?ifB1 \ (?ifB2 \ (\stack.?popInv stack)) \
                          (<not>?ifB2 \<longrightarrow> (\<exists>stack.?swInv stack)) ) \<and> i2 m_addr_p:"^mjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
(\<not>?ifB1 \<longrightarrow> (\<exists>stack.?puInv stack))"
    proof -
             showaddrs\<subseteq> ?Rb\<^sup>* `` addrs ?B"
assumeifB1 Null
        from ifB1 whileB have pNotNull: "p \ Null" by auto
        then obtain
( simp
          by next
        i2:"^m" 
         stackDistdistinct"using i1 by( java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
        from stack_eqhave \<forall>(x, y)\<in>?Rb-?Ra. y\<in>(?Ra\<^sup>*``addrs ?A)"
let
        have "?popInv stack_tl"
        proof          java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13

          \<comment> \<open>List property is maintained:\<close>
          from i1 p_notin_stack_tl ifB2
           poI1
y : stack_eq:java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61

          moreover
\<by clarsimprelS_def          "java.lang.StringIndexOutOfBoundsException: Range [104, 23) out of bounds for length 104
          from i2 havepoI2java.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 89
          moreover

           T {java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
 Rreachable) ""
                    qed
          "B={p,^r"
          \<comment> \<open>Our goal is \<open>R = reachable ?Rb ?B\<close>.\<close>
          have "?Ra\<^sup>* `` addrs ?A = ?Rb\<^sup>* `` addrs ?B" (is "?L = ?R")
          proof
              
            proof (          \<comment> \<open>If it is reachable and not marked, it is still reachable using...\<close>
              show"addrs?A ?Rb\<^sup>* `` addrs ?B" by(fastforce simp:addrs_def relS_def rel_def addr_p_eq
                   intro:oneStep_reachable           "Ra
                        have?\<
show<subseteq> ?Rb\<^sup>* `` addrs ?B"
            qed
            show "?qed
            proof (ruleshow"addrs?B \ ?Ra\<^sup>* `` addrs ?A"
               "addrs ?B \ ?Ra\<^sup>* `` addrs ?A"
                by(fastforcebyblast
    :oneStep_reachable[THEN])
            nextnext
showorall)
                by (clarsimp simp:relS_def)
                   next
            qed
          ed
byclarsimp )(fastforce:rel_def addrs_def:rel_upd1
          moreover

\<>                simp clarsimp
let"<> x \ m x \ x \ reachable ?Ra ?A" = ?I4
          let ?          ijava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
          let "?B" =           proof( allI(  add)
          \<comment> \<open>Our goal is \<open>\<forall>x. x \<in> R \<and> \<not> m x \<longrightarrow> x \<in> reachable ?Rb ?B\<close>.\<close>"
           ?  "t,^.}java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30

          have "?Ra\<^sup>* `` addrs ?A \ ?Rb\<^sup>* `` (addrs ?B \ addrs ?T)"
          proof (rule           fromi5
            have          have "swI5 .
              by (autojava.lang.StringIndexOutOfBoundsException: Range [14, 10) out of bounds for length 18
            java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  : : i5
 
              by (clarsimpjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
                >\<
qed
          \<comment> \<open>We now bring a term from the right to the left of the subset relation.\<close>qed
           ?"
            by java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
have"\x. x \ R \ \ m x \ x \ reachable ?Rb ?B"
          prooff x
            fixjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
 ssume \<in> R \<and> \<not> m x"
            \<comment> \<open>First, a disjunction on \<^term>\<open>p^.r\<close> used later in the proof\<close>:reachable_deffrom i7
            have pDisj:"p^.r }
              by auto
            \<comment> \<open>\<^term>\<open>x\<close> belongs to the left hand side of @{thm[source] subset}:\<close>
   by(  addreachable_def
            have         obtainaddr_t: t"by
                 show " Everything on the stack is marked:\
              byfastforce:addrs_def
          next
            show          havem_addr_pm"auto
              by (clarsimp Ra"="I3
          next
            "\(x, y)\?Rb-?Ra. y\(?Ra\<^sup>*``addrs ?A)"
               (simp fastforce add addrs_def"poI1\ ?poI2\ ?poI3\ ?poI4\ ?poI5\ ?poI6\ ?poI7" = "?popInv stack_tl"
qed
          with               fastforce:addrs_def addr_p_eq:oneStep_reachable        java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
             addrs
          bsimp stack_eq add)

          \<comment> \<open>If it is reachable and not marked, it is still reachable using...\<close>
etforall>x. x \<in> R \<and> \<not> m x \<longrightarrow> x \<in> reachable ?Ra ?A" = ?I4
let<forall>x. x \<in> R \<and> \<not> m x \<longrightarrow> x \<in> reachable ?Rb ?B" = ?swI4 : "\ x \ set stack_tl. m x" by (simp add:stack_eq)
let={"
          have "?Ra<^let( reachable ?Ra ?A" I3
          proof still_reachablelet"="prjava.lang.StringIndexOutOfBoundsException: Range [32, 33) out of bounds for length 32
            have rewrite
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
show>\<open>Everything is still reachable:\<close>
              by (fastforce " A\java.lang.StringIndexOutOfBoundsException: Index 120 out of bounds for length 120
nextwith
 i1 obtain stack_tlby( simpaddrs_def addr_t_eq:oneStep_reachable[THEN "\(x, y)\?Rb-?Ra. y\(?Ra\<^sup>*``addrs ?A)"
        with i2 have" ?B \ ?Ra\<^sup>* `` addrs ?A"
        from          i3
          ysimp
        let "?swI1\?swI2\?swI3\?swI4\?swI5\?swI6\?swI7" = "?swInv stack"
        have "?swInv stack"
        proof -by clarsimp:relS_deffastforcesimprel_defImage_iff :)

          \<comment> \<open>List property is maintained:\<close>
           i1 nifB2
          have swI1let
            by           et T ={}"
          moreover

          \<comment> \<open>Everything on the stack is marked:\<close>
          from i2qed
          have"?swI2" .
ver

\<oreover
          let "R = reachable ?Ranext
          letR=reachable ?\commentjava.lang.StringIndexOutOfBoundsException: Index 101 out of bounds for length 101
          have "?Ra\<^sup>* `` addrs ?A = ?Rb\<^sup>* `` addrs ?B"
frulejava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
            showjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
              by(             "addrs A qed
          thenhavesubset:ew_stack_eq:self_reachable
            show "addrs}
              by(fastforce simp:addrs_def rel_defs               by (clarsimp simp:relS_def new_stack_eq restr_un          havepuI4
          
            show        from nifB1 whileB have tNotNull: "t \<noteq> Null" by clarsimp
               ( simp fastforcerel_def
          next
           have n_m_addr_t
              by(larsimp            ahavex<
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 13
          with
          have swI3: "?swI3" by             excx\notin
          moreover

          \<comment> \<open>If it is reachable and not marked, it is still reachable using...\<close>
 <
          lethaveexc notin
           ? usingan_m_addr_t
          have "?Ra\<^sup>*``addrs ?A \ ?Rb\<^sup>*``(addrs ?B \ addrs ?T)"
          proof (rule still_reachable)
            have
              by (auto simp add:p_notin_stack_tl intro
            show "addrs ( simp:addrs_def i3 addr_t_eq fun_upd_apply introself_reachablejava.lang.StringIndexOutOfBoundsException: Index 98 out of bounds for length 98
               (fastforce:map_cong simp:stack_eq addrs_def rewrite intro:self_reachable)
          next
            show "\(x, y)\?Ra-?Rb. y\(?Rb\<; stackDist nifB2
          from i2
          have puI2: "?puI2"
            by (simp add:new_stack_eq fun_upd_apply)
          oreover

          \<comment> \<open>Everything is still reachable:\<close>
          let " moreover
           "R=reachable? ?B"="?java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fromjava.lang.StringIndexOutOfBoundsException: Range [17, 18) out of bounds for length 17
proof still_reachable_eq
            show by( simp addr_p_eq
                                     by (simp add:
          next
show java.lang.NullPointerException
              by(fastforce simp:addrs_def rel_defs addr_t_eq intro:oneStep_reachable Image_iff           "R=reachable? ?A" \<
next
            show "\(x, y)\?Ra-?Rb. y\(?Rb\<^sup>*``addrs ?B)"
             ( simp)   addImage_iffrel_upd1
          next
            show
              by (clarsimp simp
             addrs\<subseteq> ?Ra\<^sup>* `` addrs ?A"
i3
          haveb simpnext
          moreover

          \<comment> \<open>If it is reachable and not marked, it is still reachable using...\<close>                addrel_upd1
          letfrom p_notin_stack_tl
           "\x. x \ R \ \ ?new_m x \ x \ reachable ?Rb ?B" = ?puI4
let?="t"
haveRa>` Ajava.lang.StringIndexOutOfBoundsException: Range [0, 42) out of bounds for length 18
          proof (rule still_reachablejava.lang.StringIndexOutOfBoundsException: Range [37, 38) out of bounds for length 17
            show "addrs have have
              by (          m
          ext
            show " let "  reachable ?           \<open>If it is reachable and not marked, it is still reachable using...\<close>
              by (clarsimp simp:relS_def          let rule)
                 (fastforce             java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
          qed
then                fastforceaddrs_defself_reachable
             blastshowjava.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97
           ?java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
          proof  qed
            fixnext
            assume aaddr_t addr_t_eq: : "t = Refclarsimp:)(simpadd
tNotNull          proof (rule allI, rule impI
with: java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
              by (fastforce simpi3
have" <> ?Rb\<^sup>*`` addrs ?T"
              using xDisj a n_m_addr_t
              by (clarsimp simp
            from inc           \<comment> \<open>List property is maintained:\<close>
                         "x. x \ R \ \ m x \ x \ reachable ?Ra ?A" = ?I4
          qedby( add new_stack_eq add)let               xDisjn_m_addr_t
          java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18

          \<comment> \<open>If it is marked, then it is reachable\<close>
          rom
have?"
byautoreachable_def:)
          moreover

          \<comment> \<open>If it is not on the stack, then its \<^term>\<open>l\<close> and \<^term>\<open>r\<close> fields are unchanged\<close>simprestr_def  addImage_iff dest
          fromjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
          have"puI6java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
            simp
          moreover

java.lang.NullPointerException
          from( still_reachable
          have "?puI7" by (clarsimp             "\java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83

 java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
        qed
        then have "\stack. ?puInv stack" by blast

      }
      ultimately{
    qed
  }
qed

end

100%

r:red'>by
 (clarsimp simp:relS_def) (fastforce simp add:rel_def Image_iff addrs_def fun_upd_apply dest:rel_upd2)
          qed
          with i3
          have puI3: "?puI3" by (simp add:reachable_def)
          moreover

          \<comment> \<open>If it is reachable and not marked, it is still reachable using...\<close>
          let "\x. x \ R \ \ m x \ x \ reachable ?Ra ?A" = ?I4
          let "\x. x \ R \ \ ?new_m x \ x \ reachable ?Rb ?B" = ?puI4
          let ?T = "{t}"
          have "?Ra\<^sup>*``addrs ?A \ ?Rb\<^sup>*``(addrs ?B \ addrs ?T)"
          proof (rule still_reachable)
            show "addrs ?A \ ?Rb\<^sup>* `` (addrs ?B \ addrs ?T)"
              by (fastforce simp:new_stack_eq addrs_def intro:self_reachable)
          next
            show "\(x, y)\?Ra-?Rb. y\(?Rb\<^sup>*``(addrs ?B \ addrs ?T))"
              by (clarsimp simp:relS_def new_stack_eq restr_un restr_upd)
                 (fastforce simp add:rel_def Image_iff restr_def addrs_def fun_upd_apply addr_t_eq dest:rel_upd3)
          qed
          then have subset: "?Ra\<^sup>*``addrs ?A - ?Rb\<^sup>*``addrs ?T \ ?Rb\<^sup>*``addrs ?B"
            by blast
          have ?puI4
          proof (rule allI, rule impI)
            fix x
            assume a: "x \ R \ \ ?new_m x"
            have xDisj: "x=(addr t) \ x\(addr t)" by simp
            with i4 a have inc: "x \ ?Ra\<^sup>*``addrs ?A"
              by (fastforce simp:addr_t_eq addrs_def reachable_def intro:self_reachable)
            have exc: "x \ ?Rb\<^sup>*`` addrs ?T"
              using xDisj a n_m_addr_t
              by (clarsimp simp add:addrs_def addr_t_eq)
            from inc exc subset  show "x \ reachable ?Rb ?B"
              by (auto simp add:reachable_def)
          qed
          moreover

          \<comment> \<open>If it is marked, then it is reachable\<close>
          from i5
          have "?puI5"
            by (auto simp:addrs_def i3 reachable_def addr_t_eq fun_upd_apply intro:self_reachable)
          moreover

          \<comment> \<open>If it is not on the stack, then its \<^term>\<open>l\<close> and \<^term>\<open>r\<close> fields are unchanged\<close>
          from i6
          have "?puI6"
            by (simp add:new_stack_eq)
          moreover

          \<comment> \<open>If it is on the stack, then its \<^term>\<open>l\<close> and \<^term>\<open>r\<close> fields can be reconstructed\<close>
          from stackDist i6 t_notin_stack i7
          have "?puI7" by (clarsimp simp:addr_t_eq new_stack_eq)

          ultimately show ?thesis by auto
        qed
        then have "\stack. ?puInv stack" by blast

      }
      ultimately show ?thesis by blast
    qed
  }
qed

end

100%


¤ 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.13Bemerkung:  Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können  ¤

*Bot Zugriff






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

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 ist noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge