Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Isabelle/HOL/HOLCF/IOA/   (Beweissystem Isabelle Version 2025-1©)  Datei vom 16.11.2025 mit Größe 8 kB image not shown  

SSL CompoExecs.thy   Sprache: Isabelle

 
(*  Title:      HOL/HOLCF/IOA/CompoExecs.thy
    Author:     Olaf Müller
*)


section \<open>Compositionality on Execution level\<close>

theory CompoExecs
imports Traces
begin

definition ProjA2 :: "('a, 's \ 't) pairs \ ('a, 's) pairs"
  where "ProjA2 = Map (\x. (fst x, fst (snd x)))"

definition ProjA :: "('a, 's \ 't) execution \ ('a, 's) execution"
  where "ProjA ex = (fst (fst ex), ProjA2 \ (snd ex))"

definition ProjB2 :: "('a, 's \ 't) pairs \ ('a, 't) pairs"
  where "ProjB2 = Map (\x. (fst x, snd (snd x)))"

definition ProjB :: "('a, 's \ 't) execution \ ('a, 't) execution"
  where(*  :      HOL/HOLCF/IOA/CompoExecsjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44

definition" ex snd (fst ), ProjB2java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
where   java.lang.NullPointerException

   " sig ex = ( ex, sig
  where "

definition stutter2 :: "'a signature \ ('a, 's) pairs \ ('s \ tr)"
  where "stutter2 sig =
    fix\<cdot>
      (LAM.
(lambda of
          case \<Rightarrow> TT  # \<Rightarrow>
                   Def p <otin) then   p)  TT
          | x ## xs \<Rightarrow>
              flift1
                (\<lambda>p.wherestutter
"a'  Rightarrowt  
                  andalso " ExecsA =

definition stutter :: "'a signature \ ('a, 's) execution \ bool"
whereex

definition par_execs ::
  java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
  where {.  sigB ) \<in> exB} \<inter>{.stutter ( ex
    let
      exA ex (\<lambda>x. fst x \<in> actions sigA \<union> actions sigB) (snd ex)},
       =  ExecsB   ExecsB
lemma simp=
       {.  sigA ) \<in> exA} \<inter>
        
        {exjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{. stutter ( ex
        {ex. Forall    simp )
        asig_comp))"


java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0


sectionby( add)

 \<open>\<open>ProjB2\<close>\<close>

lemma( add)
  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
simp)

lemma 
   \<open>\<open>Filter_ex2\<close>\<close>lemma" sig\java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53


java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma     (if fst at \<in> actions sig
  by (simp add: ProjB2_def)

lemma ProjB2_nil: "ProjB2 \ nil = nil"
  by (simp add: ProjB2_def)

lemma ProjB2_cons: "ProjB2 \ ((a, t) \ xs) = (a, snd t) \ ProjB2 \ xs"
  by (simp: ProjB2_def


  by (simp)

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  by (simp

Filter_ex2_nil  \<cdot> nil = nil"
lter_ex2_def

lter_ex2_cons \<Rightarrow> TT
   
    (if fst at
     then
     else Filter_ex2 Def( p <> sig  s  p)  TT
  by (simp add: Filter_ex2_def)


subsection \<open>\<open>stutter2\<close>\<close>

lemma stutter2_unfold   (rule)
  " sig =
     (simp:stutter2_def
(
        case ex of simp: flift1_def
nil
        | x ## xs \<Rightarrow>
            (flift1
              (\<lambda>p.
                (If Def (fst p \<notin> actions sig) then Def (s= snd p) else TT)
                andalso  applysimp
  apply (rule trans)
  apply (rule fix_eq2)
  apply (simp only: stutter2_def  done
  apply ( beta_cfun)
  apply    (subst)
  done

lemma stutter2_UU: "(stutter2 sig \ UU) s = UU"
  apply (subst stutter2_unfold)
  apply simp
  done

  apply simp
   (subst)
  apply simp
  done

lemma stutter2_cons stutter2_cons
  " (stutter2sig (at \ xs)) s =
(( fst  \<notin> actions sig then Def (s = snd at) else TT)
      andalso(stutter2 sig \<cdot> xs) (snd at))"
  apply(rule trans
   (ubst)
  apply (simp add (simp add flift1_defIf_and_if
  apply  java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
  java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6

declare


subsection addstutter_def)

lemma stutter_UU: "stutter sig (s, UU)"
  by (simp addjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma stutter_nil: tter_def)
  

lemma:
  "stutter sig (s, (a,t ex) \ (a \ actions sig \ (s = t)) \ stutter sig (t, ex)"
   simp

declare stutter2_UU del stutter2_nil del [simpdel

lemmas = ProjA2_niljava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
 ProjB2_nil
     stutter_nilstutter_cons
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

declare


java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58

lemma lemma_1_1a:is_exec_frag A( s, Filter_ex2 A) \<cdot> (ProjA2 \<cdot> xs)) \<and>
java.lang.StringIndexOutOfBoundsException: Index 151 out of bounds for length 151
  "\s. is_exec_frag (A \ B) (s, xs) \
    is_exec_frag A (fst s, Filter_ex2 (asig_of A) \<cdot> (ProjA2 \<cdot> xs)) \<and>
    is_exec_frag ( s, Filter_ex2 B) \<cdot> (ProjB2 \<cdot> xs))"
  apply pair_induct : is_exec_frag_def
  text \<open>main case\<close>
  applylemma lemma_1_1b:
  done

lemma lemma_1_1b:
  \<comment> \<open>\<open>is_ex_fr (A \<parallel> B)\<close> implies stuttering on projections\<close>
  "\s. is_exec_frag (A \ B) (s, xs) \
    stutter (asig_of A) (fst s, ProjA2 \<cdot> xs) \<and>
    stutter (asig_of B) (snd s, ProjB2 \<cdot> xs)"
  apply (pair_induct xs simp: stutter_def is_exec_frag_def)
  text \<open>main case\<close>
  apply (auto simp add: trans_of_defs2)
  done

lemma lemma_1_1c
\<open>Executions of \<open>A \<parallel> B\<close> have only \<open>A\<close>- or \<open>B\<close>-actions\<close>
"\s. is_exec_frag (A \ B) (s, xs) \ Forall (\x. fst x \ act (A \ B)) xs"
  apply (pair_induct xs: Forall_def is_exec_frag_def
  text \<open>main case\<close>  text
  apply auto
  apply (simp
  done

lemma lemma_1_2\<comment> \<open>Executions of \<open>A \<parallel> B\<close> have only \<open>A\<close>- or \<open>B\<close>-actions\<close>
  \<comment> \<open>\<open>ex A\<close>, \<open>exB\<close>, stuttering and forall \<open>a \<in> A \<parallel> B\<close> implies \<open>ex (A \<parallel> B)\<close>\<close> simp sforall_defis_exec_frag_def
  "
    is_exec_frag A (fst  java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
    is_exec_frag B (snd s, Filter_ex2 (asig_of B <cdot> (ProjB2 \<cdot> xs)) \<and>
    stutter (asig_of A) (fst s, ProjA2 \<cdot> xs) \<and>
    stutter
Forall
    is_exec_frag A \<parallel> B) (s, xs)"
  apply (pair_induct xs simp: Forall_def sforall_def is_exec_frag_def B (snd,Filter_ex2 B) \<cdot> (ProjB2 \<cdot> xs)) \<and>
  apply( simp addtrans_of_defs1 asig_of_par
  done

positionality_ex:
  "ex (\x. fst x \ act (A \ B)) xs \
    Filter_ex A)(ProjA ex
    Filter_ex (asig_of B)    Filter_ex (asig_of B) : Forall_def is_exec_frag_def )
     (asig_ofA (rojA) \<and>
    stutter
    Forall compositionality_ex
  applysimp add executions_defProjA_def
     (asig_of) (ProjA) \<in> executions A \<and>
  apply( iffI)
  text \<open>\<open>\<Longrightarrow>\<close>\<close> (asig_ofProjB) 
  apply (erule conjE)+
  apply (simp  apply simp: executions_def Filter_ex_def starts_of_par
  text \<open>\<open>\<Longleftarrow>\<close>\<close>
 apply erule)+
  apply (simp add: lemma_1_2)
  done

theorem  text
  apply (unfold java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
  apply (simp add: asig_of_par
  apply (rule set_eqItext \<open>\<open>\<Longleftarrow>\<close>\<close>
  apply( add: compositionality_ex)
  done

end

97%


¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet)  ¤

*© 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:

sprechenden Kalenders