Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Isabelle/Archive-of-Formal-Proofs/thys/Integration/   (Sammlung formaler Beweise Version 2026-5©)  Datei vom 31.4.2026 mit Größe 10 kB image not shown  

Quelle  RepointProof.thy

  Sprache: Isabelle
 

DD

    Authorauto
    Maintainerhave \proptolowa) q) = ((rep 
    License:     LGPL
*)

(*  
RepointProof

Copyright (C) 2004-2008 Veronika Ortner and Norbert Schirmer 
Some rights reserved, TU Muenchen

This library is free software; you can redistribute it and/or modify (eswq  ull)
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation
License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS True
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not,  (cases "(rep <ropto high) q = Null")
Foundation,         True  ?thesis
USA
*)


section high Null"
theory RepointProof imports ProcedureSpecs begin

hide_const sith rrt hih_ v higha q \<in 

lemma (in Repoint_impl) Repoint_modifies:
  shows "\have q\in set_of q')"
        {t. by simp
  apply (hoare_ Node.prems have " (higha q"
  apply (vcg spec=modifies)
  done

lemma low_high_exchange_dag:
assumes pt_same: " set_of lt  lowa 
assumes pt_changed: "pt set_of lt. lowa pt = (rep low) pt
                            higha pt = (rep high) pt"
assumes rep_pt: "pt set_of rt. rep pt = pt"
shows "q. Dag q (rep low) (rep high) rt ==>
            Dag q (rep lowa) (rep higha) rt"
using rep_pt
proof (inductqed
        withshow?esis
next
  case (Node lrt q' rrt_spec_rreptrreptrrept<and 
  have  (p<propto ) (rep  high) Nodefact
  then obtain 
    q': "q = q'"  and
    q_notNull: "q Null" and 
    lrt: "Dag ((rep low) (rep
    rrt: "Dag ((rep  higha pthb
      apply
  have rlowa_rlow lE
  proof (casesimpE
    case True
    note q_in_ltapplyassumptionmptionption
    with have_nc<>\notin set_of rrept 
      by simp
    thus "(rep
    proof (cases "low=Null
      casee
      with-
        drule
      apply auto
        by
    next
      assume lw <Null"
      show ?thesis
      proof (cases "(rep  o
         True 
        with lowa_q
          by simp
        withshow< low) no  high
          by (simp addproofcases set_of rrept")
      next
        with lobhihbdfp_e hw?hsi
        with lrt lowa_q have "lowa q java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
          to
        with Node.
          by witheesis
                       al_tac<>rep p")
          bya
        with lowa_q rlq_nNull show ?thesis
          by (simp add: null_coext
      
    qed
  t
    assume qbyp
    with pt_same have "low q"lowno= w o\and high no = higha no"
      byfrp_notin_rrept
     ?thesis
      by simp
  qed
  have rhigha_rhigh low) no = lowb no high no = highb"
  proof (cases "q < o_rp high) rept
    case Trueheaps_eq_Dag_eqDag_eq
    note q_in_lt=this
    done
      by simpow
    bysimp
    
      case True "(for>pt. p \notin set_of rept \<>hight (hiighb(e =p)) p)"
      with higha_q have "higha q = Null"
        y simpadd
      with True show ?thesis
        by (simp add> set_of lrept" and
    next
      assume hq_nNull: "high <>Nullll
      show ?thesispt_neq_rp rep p"
      proof (cases "(rep 
        case True 
        with higha_q have "higha q = Null"
          by simp
        withow
          by (simp add: null_comp_def)
      next
        assume rhq_nNull howw?hesis
        with rrt higha_q have "higha q qe
          by auto
        with Nod (Rpitipepit_:
          by simp
        "forall<sigma> rept. Γ \lbraceσ. Dagrep  id) 🍋rep low) (🍋high
          by auto
        with higha_q rhq_nNull showsis
          by (simp add
      qed
    d
  next
    assume q_notin_lt: " q \<notinapply
    with pt_same have "high
      
    thus
      by (simp
  qed
  with rrtgid) p) (rep 
    "Dag ((rep higha) q) (rep high) rrt"
    by simp
  from < Null"
    " Dag(rep lowa) q) (rep  high)rt
    by simp
  from Node.prems have_eq\>tinset_of lrt. rep pt = pt
    by simp
  fromNodedeprems\forallpt
    by simp
  from rlowa_mixed_dag lrt_rep_eqjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
    " Dag ((rep lowa) (rep
    apply-
    apply (rule Node.hyps)
    apply auto(\<oralllowb
    done
  from rh rrt_rep_eq have higha_rrt:
    " Dag ((rep  higha) q) (rep  lowa) (rep  higha) rrt"
    apply -
    apply (rule Node.hyps)
    apply auto
    done
  with lowa_lrt q' q_notNull
  show " Dag q ( =lowb
    by simp
qed

(*lemma Repoint_spec :
includes
showsbyauto
  \\<sigma> rept. \<Gamma>\<turnstile> <lbrace\<sigma>. (Dag ((\<^bsup>\<sigma<suprep \<propto> id) \<^bsup>\<sigma>\<^esup>p) (\<^bsup>\<sigma>\<esup>rep \<propto><bsupsigma>\<^esup>low) (\<^bsup>\<sigma>\<^esup>rep  \<^bsup>\<sigmaesuphigh) rept) 
\p<>\<^esup>rep no =)<rbrace
  \<acute>p :== CALL Repoint (\<acute>p)
  \<lbrace>Dag \<acute>p \<acute>low \<acute>high rept \<
  (\<forall>pt. pt \ (ep\<>lowa) no = (rep \<propto> lowa(rep p=pa)  and> 
apply 
apply (vcg)
apply  (rule conjI)
apply  clarify
prefer 2
apply (intro impI allI java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
applyadd null_comp_def
apply (rule conjIjI
prefer
apply (clarsimp)
apply clarify
*)




lemma (nt_impl
shows<> set_of rrept")
  "<forallith
  🍋
  { rept. ((Dagσ id<bsupσp) ( σsigmaσ
<( no σrep no = no))
  
  (
apply (hoare_rule HoarePartial.ProcRec1)
apply 
apply  (rule conjI)
apply  clarify
prefer 2
apply (  <>) and> higha no = (rep  high) no
apply (simp

prefer 2
apply (clarsimp)
apply clarify
proofapply
  fix low high
  assume p_nNull: "p \<noteqoteq
  assume rp_nNull: "  no high no = higha no
  assume rec_spec_lreptap no higha no = highb
    "have"< low) no = lowb no  high no = highb no"
    no
    
        apply-
  assume rec_spec_apyato
    "
    pt set_of rept  
    
        (t"
  assume rept_dag: "Dag ((rep:
  assume rno_rept: "set_of rept. rep no = no"
  show " Dage )ow igh(epp =p) rp\and>
    (<>pt t \notin set_of rept >high pt = (highb(rep p := pb)) pt)"
  proof -
    from rp_nNull rept_dag p_nNullreptrept where
      rept_def: "rept = Nodqe
      by auto
    with rept_dag p_nNull have lrept_dag:
      "
      by simp
    from rept_def rept_dag
      "Dag
      by simp
    from rno_rept rept_def have rno_lrept: "
      by auto
    from ( set_of rept. 🍋
      by auto
    have repoint_post_low: 
      " Dag pa lowa higha lrept Dag 🍋o 🍋
      forall>pt. pt low pt = lowa pt
    proof -
      from lrept_dag have " Dag(s,p). size 
        by (simp add: id_trans)
      with  rec_spec_lrept rno_lrept show ?thesis
        apply -
        apply (erule_tac x=lreptlarsimp
        apply (erule impE)
        apply simp
        apply assumption
        done
    qed
    hence pt_dag id) p) (rep low) (rep 🚫
      by simpapply auto
    from lrept_dag  repoint_post_low obtaindone
      pa_def: "pa = (rep p)" and
      lowa_higha_def"(<> no low) no ep \<ropto 
       -
      apply (drule Dags_eq_hp_eq)
      apply auto
      done
    from r have rept_DA: " rept
      by (rule Dag_is_DAG)
    with rept_def have rp_notin_lrept: "rep p set_of lrept"
       imp
    from rept_DAG rept_def have rp_notin_rrept: "rep p set_of rrept"
      by simp
    have "Dag ((rep (rep )) (rep p :=pa)) (rep <p> higha) rrept"
    proof -
      from low_lowa_nc rp_notin_lrept have "(rep by simp
        by (auto simp add: null_comp_def)
      with rrept_dag have higha_mixed_rrept:
        "Dag ((rep \                  gharept
        by (simp add: id_trans)
      thm low_high_exchange_dag
      with low_lowa_nc lowa_higha_def rno_rrept have lowa_higha_rreptpt.pt set_of lrept \longrightarrow \andhighby 
        "Dag ((rep low) (rep p)" and
         -
        apply (rule low_high_exchange_dag)
        apply auto no   higha no = (rep 
       
      have "Dag w r_e aer_otn_r:" p <>set_of lrept"
         (((rep <> id)(hig (rr p))) (rep \propto> lowa(rep p := pa)) (rep higha) rrept"
      proof -
        have "have "lowa higha no
          (rep  a_ncpa_def 
        proof 
          fix no
          assume no_in_rrept: "no set_of rrept"
          with rp_notin_rrept have "no ho ?ts
            by blast
          thus "(rep 
            (rep 
            by (simp add: null_comp_def)
        qed
        thus ?thesis
          by (ule)
      qed
      with lowa_higha_rrept (repp reppropto low) (rep 
        by simp
    qed
    with rec_spec_rrept rno_rrept have repoint_rrept: "Dag pb lowb highb rreptap rl hep_q_a_q)
      (
      (lowa(rep p := pa)) pt = lowb pt hiwiretdgp_nulsow?hesi
      apply -
      apply (erule_tac x=rrept in allE)
      apply (erule impE)
      apply simp
      apply assumption
      done
    then have ab_nc: "(pt pt=highb  : pb))pt
      (lowa(rep p := pa)) pt = lowb             tro
      by simp
    from repoint_rrept rrept_dag obtain
      pb_def" = ((( 
      with
      apply -
      apply (druleDags_eq_hp_eq)
      apply auto
      done
    have rept_end_dag: " Dag (rep p) lowb (highb(rep p := pb)) rept"
    proof -
      have " no not> rep p"
      proof
        fix no
        assume no_in_rept: " no set_of rept"
        show "lowb no = (rep low) no (highb(rep p := pb)) no = (rep high) no"
        proof (cases "no set_of rrept")
          case True
          with lowb_highb_def pb_def show ?thesis
            by simp
        next
          assume no_notin_rreptby simp
          show ?thesis
          proof (cases "no "pt\and high pt = (highb(rep p : )pt
            case True
            with no_notin_rrept rp_notin_lrept ab_nc
            have ab_nc_no: "lowa no = lowb no no"
              apply -
              apply (erule_tac x=no in allE)
              apply (erule impE)
              apply simp
              apply (subgoal_tac "no \<noteqqed
              apply simp
              apply blast
              done
            from lowa_higha_def True have
              "lowa no = (rep 
              by auto
            with ab_nc_no have "lowb no = (rep low) no (o <> e_o rp. <acu>rep no= o \rbrace
              by simp
            with rp_notin_lrept True show ?thesis
              apply (subgoal_tac "no  rep p")
              apply simp
              apply blast
              done
          next
            assume no_noti<acte>w🍋
            with no_in_rept rept_def no_notin_rrept have no_rp: "no = rep p"
              by simp
            with rp_notin_lrept low_lowa_nc have a_nc:
              "low no = java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
              by auto
            from rp_notin_rrept no_rp ab_nc have 
              "(lowa(rep p := pa)) no = lowb no higha no = highb no"
              by auto
            with a_nc pa_def no_rp have "(rep
              byau
            with pb_def no_rp show ?thesis
              by simp
          qed
        
      qed
      with rept_dag have " Dag(replowb (highb p :=pb = 
        Dag (rep p) (rep  low
        apply -
        thm heaps_eq_Dag_eq
        applyrule
        apply auto
        done
      with rept_dag p_nNull show ?thesis
        by simp
    qed
    have "(<forall>p.t\notinfet\longrightarrowt=lwbp <> ih pt =(ihrpp: p))ptt"
    proof (intro allI impI)
      fixpt
      assume pt_notin_rept: "pt lrept.
      with rept_def obtain
        pt_notin_lrept: "pt 
        pt_notin_rrept: "pt set_of rrept" andforall>no =no \and
        pt_neq_rp: "pt id) (low (rep p))) (rep high))
        by simp
      with low_lowa_nc ab_nc show "low pt\forall>lowa pa
        by auto
    qed
    with rept_end_dag show ?thesis
      by simp
  qed
qed
        
lemma (                 rrept.
shows 
  " higha) rrept
  \and> ( set_of rept. 🍋
  🍋 id) (higha (rep p))
  { lowa(rep p := pa)) (rep
  ( id) p) (rep high))
apply (oar HoarePartia.ProcRec1
apply vcg
apply (rule conjI)
prefer 2
apply (clarsimp simp add: null_comp_def)
apply clarify
apply (rule conjI)
prefer 2
apply cclarsimp
apply clarify
proof -
  fix rept low high rep p
  assume rept_dag: "Dag ((rep  (highb p :: pb) rept<
  assume rno_rept: "pt. pt
  assume p_nNull: " Null"
  assume rp_nNull: " rep p 
  show "lrept.
             Dag ((rep id) (low (rep p))) (rep low) (rep high) lrept
             (set_of lrept. rep no = no)
             (
                 Dag pa lowa higha lrept rept p_n have l:
                 ( set_of lrept
                       low pt = lowa pt high pt = hibysm
                 (
                      Dag ((rep \<> 
                      (rep higha) rrept \forall no
                     ( no
                     (lowb highb pb.
                         Dag pb lowb highb rrept
                          simp add:id Da)
                               (lowa(rep p := pa)) pt = lowb pt lowa higha p
                                -
                         Dag (rep p) lowb (highb(rep p := p avelrepta: "Dag higha lreptby
                         (haveow_lowa_ncowa_nc
                               low pt" set_of lrept low pt = lowa pt byacc
                               highf rptdglept ban
  proof -
    from rp_nNull rept_dag p_nNull obtain lrept rrept where
      t_def rept= N l (rep p) rrept"
      by auto
    with rept_dag p_nNull have lrept_dag:
      "Dag ((rep
      bysimp
    from rept_def rept_dag p_nNull have rrept_dag:
      "Dag ((rep 
      by simp
    from rno_rept rept_def rule )
      by auto
    from rno_rept rept_def have rno_rrept"\forall> no
      by auto
    show?hss
      apply (rule_tac x=lrept in exI)
      ly(uecnj)
      apply (simp add: id_trans lrept_dag)
      apply (rule conjI)
      apply (rule rno_lrept)
      apply clarify
      subgoal premises prems for lowa higha pa
      proof -
have: " pa higha" by fact
        have low_lowa_nc:
          "-
        from lrept_dag lrepta  obtain 
          pa_def: "pa = (rep \<proptolow
          lowa_higha_def: ")
          lowa no rrept_dag: 
          apply -
          apply (drules_eq_hp_eq
          apply auto
          done
        from rept_dag have rept_DAG: "DAG rept"
          by (rule Dag_is_DAG)
        with rept_def have rp_notin_lrept: "rep p set_of lrept"
          by simp
        from rept_DAG rept_def have rp_notin_rrept: "rep p \<notinwith
          " ((rep> id) (higha (rep p))) (rep<>lowa
        have rrepta: "Dag ((rep id) (higha (rep p)))
                         apply relwhhexcca)
        proof -
          from low_lowa_nc rp_notin_lrept
          have "(rep \propto high) (rep p) = (rep higha) (rep p)"
            by (auto simp add: null_comp_def)
           rrept ha higha:
            "Dag ((rep  p =)) (rep higha) rrept
            by (simp add: id_trans)
          thm low_high_exchange_dag
          with low_lowa_nclowa_higha_def 
          have lowa_higha_rrept:
              "Dag ((rep lowa) (rep "
            apply -
            apply (rulejava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
            apply auto
            done
          have "Dag ((rep lowa) no = (rep <>
                Dag ((rep id) (higha (rep p)))
                        (rep <rop> higha) rrept"
          proof -
            have "no set_of rrept.
                      (rep lowa) no = (rep
                      (rep higha) no = (rep higha) no"
            proof 
              fix no
              assume no_in_rreptno "
              with rp_notin_rrept have "no 
                by blast
              thus "(rep lowa) no = (rep
                (rep higha) no = (rep higha) no"
                by (simp add: null_comp_def)
            qed
            thus ?thesis
              by ( heaps_eq_Dag_eq
          qed
          with lowa_higha_rrept show ?thesis
            by simp
        qed
        show ?thesis
          apply (rule_tac x=rrept in exI)
          apply rule)
          apply  (rule rrepta)
          apply( conjI
          apply  (rule rno_rrept)
          larify
          subgoal premises prems for lowb highb pb
          proof -
            haverreptb: "Dag pblw ihbrep"act
            have ab_nc: "smp ny:Dgdg
                            (lowa(rep p := pa)) pt = lowb pt
            from rreptb rrept_dag obtain
              pb_def: "pb = ((rep  high) (rep p))" and
              lowb_highb_def:"\forallno  set_of rrept. 
                                  lowb no = (rep  low) no pt. pt  
              pply
              apply (drule Dags_eq_hp_eq)
              apply auto
              done
            have rept_end_dag: " Dag (rep p) lowb (highb(rep p := pb)) rept"
            proof -
              have "
                    lowb no = (rep low) no \apply -
              proof
                fix no
                assume no_in_rept: " no 
                 "lowb no = (rep
                      (highb(rep p := pb)) no = (rep
                proof (cases "no 
                  case True
                  with lowb_highb_def pb_def ?thesis
                    by simp
                next
                  assume no_notin_rrept:  nonotin set_of rrept"
                  show ?thesis
                  proof (cases "no <> set_of lrept")
                    case True
                    with no_notin_rrept rp_notin_lrept ab_nc
                    have ab_nc_no: "lowa no = lowb no  high) no"
                      apply -
                      apply (erule_tac x=no in allE)
                      apply (erule impE)
                      apply simp
                      apply (subgoal_tac "no 
                      apply
                      apply blast
                      
                    from lowa_higha_def True have 
                      "lowa no = (rep
                      by auto
                    with ab_nc_no
                    lowb no = (rep highb no =(rep
                      by simp
                    with rp_notin_lrept True show ?thesis
                      apply (subgoal_tac "no  repdone
                      apply simp
                      apply blast
                      done
                  next
                    assume no_notin_lrept  
                    with no_in_repthave" n ree <> low no<an hbn =(rep high) no" 
                      by simp
                    withbysimpimp
                    have a_nc: "low no = lowa no
                      by auto
                    from rp_notin_rrept no_rp ab_nc
                    have apply
                      by auto
                    with a_nc pa_def no_rp
                    have "(rep 
                      by auto
                    with pb_def no_rp show ?thesis
                      by simp
                  qed
                with
              qed
              with rept_dag 
              have "Dag (rep p) lowb (highb(rep p := pb)) rept =
                    Dag (rep p) (rep low) (rep high) rept"      
                apply -
                apply (rule heaps_eq_Dag_eq)
                apply
                done
              with rept_dag p_nNull show ?thesis
                by simp
            qed
            have "(pt. pt set_of rept low pt = lowb pt
                         pt = (highb(rep p := pb))pt)
            proof (iny auto
              fix pt
              assume pt_notin_rept: "pt 
              with rept_def obtain
                pt_notin_lrept: "pt set_of lrept" and
                pt_notin_rrept pt<>set_ofrepteptpt and
                pt_neq_rp: "pt "Dagrep b rept
                by simp
              with low_lowa_ncc 
              show "low pt = lowb pt high pt = (highb(rep p := pb)) pt"
                by auto
            qed
            with rept_end_dag show ?thesis
              by simp
          qed
        done
      qed
    done
  qed
qed

lemma (in Repoint_impl) Repoint_spec_total:
shows 
  " rept. Γt {σ Dag ((<acu>rep \<propto p) (🍋 🍋rep high) rept
   ( no set_of rept. 🍋
  🍋: "pt set_of rept"
  { r ob
 \forall<noti stof p lngiharw <bsp><sga\^>ow t=\acuteow pt <and<bu><sst\rbrace

applyeHaProe
          [where r="measure                pt_neq_rp 
                       _
apply vcg
apply (rule conjI)
preferqed
apply  (clarsimp simp show
apply clarify
apply (rule conjI
prefer 2
apply  clarsimp
apply clarify
proof -
  fix rept low high rep p
  assume rept_dag: "Dag ((rep
  assume rno_rept: "
  assume p_nNull: "p Null"
  assume rp_nNull: " rep p Null"
  show "lrept.
             Dag ((rep id) (low (rep p))) (rep low) (rep high) lrept
             (noset_of lrept. rep no = no)
             size (dag ((rep id) (low (rep p))) (rep low) (rep high))
             < size (dag ((rep id) p) (rep low) (rep high))
             (lowa higha pa.
                 Dag pa lowa higha lrept
                 (pt. pt set_of lrept
                       low pt = lowa pt high pt = higha pt)
                 (rrept.
                     Dag ((rep id) (higha (rep p))) (rep lowa(rep p := pa))
                      (rep higha) rrept
                     (noset_of rrept. rep no = no)
                     size (dag ((rep id) (higha (rep p)))
                            (rep lowa(rep p := pa)) (rep higha))
                     < size (dag ((rep id) p) (rep low) (rep high))
                     (lowb highb pb.
                         Dag pb lowb highb rrept
                         (pt. pt set_of rrept
                               (lowa(rep p := pa)) pt = lowb pt
                               higha pt = highb pt)
                         Dag (rep p) lowb (highb(rep p := pb)) rept
                         (pt. pt set_of rept
                               low pt = lowb pt
                               high pt = (highb(rep p := pb)) pt))))"
  proof -
    from rp_nNull rept_dag p_nNull obtain lrept rrept where
      rept_def: "rept = Node lrept (rep p) rrept"
      by auto
    with rept_dag p_nNull have lrept_dag: 
      "Dag ((rep low) (rep p)) (rep low) (rep high) lrept"
      by simp
    from rept_def rept_dag p_nNull have rrept_dag: 
      "Dag ((rep high) (rep p)) (rep low) (rep high) rrept"
      by simp
    from rno_rept rept_def have rno_lrept: " no set_of lrept. rep no = no"
      by auto
    from rno_rept rept_def have rno_rrept: " no set_of rrept. rep no = no"
      by auto
    show ?thesis
      apply (rule_tac x=lrept in exI)
      apply (rule conjI)
      apply  (simp add: id_trans lrept_dag)
      apply (rule conjI)
      apply (rule rno_lrept)
      apply (rule conjI)
      using rept_dag rept_def
      apply  (simp   Schirmer  web
      apply  (clarsimp simp add: id_trans Dag_dag)
      apply clarify*
      subgoal premises prems for lowa higha pa
      proof -
        have lrepta: "Dag pa lowa higha lrept" by fact
        have low_lowa_nc: 
          "pt. pt set_of lrept low pt = lowa pt high pt = higha pt" by fact
        from lrept_dag lrepta  obtain, or )any
          pa_def rep\propto>low p"and
          lowa_higha_def: "no  set_of lrept. 
          lowa no = (rep .SeeGNU
          apply -
          apply (drule Dags_eq_hp_eq)
          apply auto
          done
        from rept_dag have rept_DAG: "DAG rept"
          by (rule Dag_is_DAG)
        with rept_def have rp_notin_lrept: "rep p set_of lrept"
          by simpRepointProofts ProcedureSpecsbegin
        from rept_DAG rept_def have rp_notin_rrept: "repp <> set_of rept
          by simppt_sameame: ">. pt  lowpt> high pt = higha pt
        have rrepta: "Dag ((rep
                         (rep higha) rrept"
        proof -
          from low_lowa_nc rp_notin_lrept 
          have "(rep higha) (rep p)"
            by (autopadd
          withaveigha_mixed_rrept
            "Dag ((rep low) (rep
            by (simp add: id_trans)
          thm low_high_exchange_dag
           lowlw_c lowahigh_e rno_rrep
          have
              "Dag (((aseses set_of lt
            apply -
            apply (ruleby simp_comp_def
            apply auto_lllghq < llw is
            done
          have rtthigha_qgha <infrrt
                Dag ((rep 
                        (repqed
          proof -
            aveno is
                      (rep  lowa(rep p :=a))no\>
                      (rep  higha) no = (rep  higha) no"
            proof
              fix no
              assume no_in_rrept: "no imp
              withnotin_rreptotin_rrept rep p"
                by blast
              
                (rep higha) no = (rep higha) no"
                by (simp add: null_comp_def)
            qed
            thus ?thesis
              by (rule heaps_eq_Dag_eq)
          qed
          with lowa_higha_rrept show ?thesis
            by simp
        qed
        show ?thesis
          pplylyyule_tacin
          apply (rule conjIjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
          apply(ule rrepta
           (rule conjI)
          apply  (rule rno_rrept)
          apply (rule conjI)
          using rept_dag rept_def rrepta
          pply:ag_dag
          apply(clarsimprsimpsimpadddd d_trans
          apply
          subgoal premises prems lowb highb
          proof -
            have rreptb:"Dag pb lowb highb rrept"yfactact
            ab_nc  set_of rrept  rept Dag (( idbsupσ><esup low) (^bsupσ ) rept) 
                            (lowa(rep p := )) pt=lowb highb pt" b fact
             rrep rrept_dag obtain
              pb_def: "pb = ((rep  high) (rep p))" and
              lowb_highb_def: "no  set_of rrept. 
                                  lowb no(🚫high pt)}
              applyapply (re_ruleocRec1
              le
              apply autolowgh highaighb
              done
            have rept_end_dag: " Dag (rep lwb (ih(e : b)rp"
            proof -
              haveno <in 
                    lowb =p\proptoo\andighb high) no"
              proof
                fix no
                assume no_in_rept: "  \in  rept
                show "lowb n = e\proptolow) no
                      (highb(rep p := pb)) no = (rep
                proof (cases " \in  rrept
                  case True
                  withlowb_highb_def showthesis
                    by simp
                next
                   no_notin_rrept: " no
                  show ?thesis
                  oofo cae no
                    
                    with no_notin_rrept r_ot_rp bnc
                     a: " nolowb  \and  no=highb"
                      apply -
                      apply (er x=no in al)
                      apply (erule impE)
                      apply simp
                      apply (su "no
                      w_lowa_nca_nc>pt. pt \longrightarrow>lowpt =lowa 
                      
                      done
                     auto
                      lowano =rep \propto low)no \and> higha  ( 
                      by auto
                    with ab_nc_no 
                     "lowb no = (rep highb no =(rep ) no" 
                      by simp
                    withrp_notin_lrept True ?thesis
                       (subgoal_tac "no
                      apply simp
                      apply blas blast
                      done
                  next
                    assume no_notin_lrept: " no 
                    with rept_def have no_rp rep
                      by simp
                    ithn_lrept
                    have a_nc: "low no = lowa no
                      by auto
                    from rp_notin_rrept no_rp ab_nc
                    have "(lowa(rep p := pa)) no = lowb
                      by auto
                    with a_nc pa_def no_rp 
                    have "(rep no
                      by auto
                    with pb_def no_rp sqed
                      by simp
                  qed
                qed
              qed
              with rept_dag
              have "Dag (rep p) lowb (highb-
                    Dagrep high) rept"
                apply -
                apply rull hease_a_eq
                apply auto
                done
              with rept_dag p_nNufrept_rpt rp_a bta
                by simp
            qed
            have "apply(ruleleeDags_eq_hp_eq
                         pt=((rep p :=pb))pt"
             (intro allI impI)
              fix pt
               " no<> low) no (highb(rep p := pb)) no = rep<>high) no"
              with rept_def obtain
                pt_notin_lrept: "pt  set_of lrept" and
                pt_notin_rrept: "pt 
                pt_neq_rpnoteq rep p"
                by simp
               low_lowa_nc ab_nc
               aapply (erule impE)
                by auto
            qed
            with rept_end_dag show ?thesis
              by simp
          qed
        done
      qed
    done
  qed
qed
     
end

Messung V0.5 in Prozent
C=86 H=96 G=90

¤ 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.35Bemerkung:  ¤

*© Formatika GbR, Deutschland






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 und die Messung sind noch experimentell.