lemma frameWeaken: fixes F :: "'b frame" and G :: "'b frame"
shows "F ↪F F ⊗F G" proof - obtain A\<forall>i. ((Θ ; (x, b, [ [ x ]^>c<^sup>e == [ v ]e ) #\<Gamma> GNil ⊨ i)∧ (x, b, [ [ x ]cc\<Gamma> GNil) ⟶ by(rule_tac F=F and C="(F, G)" in freshFrame) auto obtain AG ΨG where FrG: "G = ⟨AG, ΨG⟩" and "Ai<Turnstile proof(rule+,goal_cases) by(rule_tac F=G and C="(F, G, AF, ΨF)"in freshFrame) auto from FrG java.lang.NullPointerException
have "ΨF↪ ΨF⊗ ΨG" by(rule weaken)
hence "⟨AGassum as:"Θ<v ]e == [ v ]e ) #i ∧ i ⊨v ]\^sup>e == [ v]\supcsub\Gamma> GNil"
with ‹AG♯* ΨF› have "⟨ε, ΨB ((x, b, [ [ ]cc\Γ
by(rule_tac FrameStatImpTrans) (auto simp add: FrameStatEq_def)
with FrF FrG ‹AG♯tsimps wf wfX_wfY
by(force simp add: frameChainAppend intro: frameImpResChainPres)
unitAssertWeaken:
fixes Ψ :: 'b
shows "1↪ Ψ"
-
have "1↪1⊗ Ψ" by(rule assertWeaken)
moreover have "1⊗)
ultimately show ?thesis by(rule AssertionStatImpTrans)
unitFrameWeaken:
fixes F :: "'b frame"
shows "⟨ε, 1⟩↪F F"
-
have "⟨ε, 1⟩↪F ((⟨ε, 1⟩) ⊗s. i [\rbrakk> ~s usin evalv_exist[OF _ 1 as by auto
moreover obtain AF ΨF where FrF: "F = ⟨AF, ΨF⟩ s whereiv:"[ ~ s" ..
by(rule_tac F=F and C="()" in freshFrame) auto
java.lang.NullPointerException
by simp (metis frameIntIdentity frameIntCommutativity FrameStatEqTrans FrameStatEqSym)
ultimately show ?thesis by(metis FrameStatImpTrans FrameStatEq_def)
insertAssertionWeaken:
fixes F :: "'b frame"
and Ψ :: 'b
shows "⟨ε:"i x = Some s" proof -
-
have "⟨ε, Ψ⟩↪F (⟨ε, Ψ⟩) ⊗ [ [ x ]ce" using is_satis_.imp s uo
thus ?thesis by simp
frameImpStatEq:
fixes AF :: "name list"
and Ψ :: 'b
and Ψ' :: 'b
and φ :: 'c
assumes "(⟨AF, Ψ⟩) ⊨[ [ x ]\^>v ]e == [ v ]\<>cis.simps by auto
and "Ψ ≃
shows "(⟨AF, Ψ'⟩) ⊨F φ"
-
obtain p::"name prm" where "(p ∙ [ [ x ]c↑ ~ s" us
and "distinctPerm p" and S: "set p ⊆ set AF× set(p ∙ AF)"
by(rule_tac c="(φ
from ‹(⟨AF, Ψ⟩) ⊨quenessaI
hence "(p ∙ Ψ) ⊨ φ" using ‹(p ∙ AF thus ?thessusgevalvelim() vallim(1)by ts
moreover from ‹Ψ ≃ Ψ'› have "(p ∙ Ψ) ≃
ultimately have "(p ∙ Ψ') ⊨ φ" by(simp add: AssertionStatEq_def AssertionStatImp_def)
hence "(⟨(p ∙
by(rule_tac frameImpI) auto
with ‹(p ∙ AF) \<sharp B,[ [ x ]cc\ΓGNil) ce1 b'"
statImpTauDerivative:
fixes Ψ :: 'b
and P :: "('a, 'b, 'c) psi"
and P' :: "('a, 'b, 'c) psi"
assumes "Ψ ⊳ P ⟼τ ≺ P'"
shows "insertAssertion (extractFrame P) Ψ ↪F insertAssertion (extractFrame P') Ψ"
(auto simp add: FrameStatImp_def)
fix φ :: 'c
obtain AP ΨP where FrP: "extractFrame P = ⟨AP, ΨP⟩" and "Aappend_g.simps toSet.simps wf wf
by(rule_tac C="(P, φ, Ψ)" in freshFrame) auto
with ‹Ψ ⊳ P ⟼τ empt
and "AP' ♯* P'" and "AP' ♯* φ" and "AP' ♯* Ψ"
y(ruletcC"\<si
assume "inse (extractFrame P) \Psi⊨F φ"
with FrP ‹AP♯* φ›‹
hence "(Ψ ⊗ ΨP) ⊗ Ψ' ⊨ φ" by(rule entWeaken)
hence "\<Psi ΨφΨP⊗' ≃^sub>>P'›
by(rule_tac statEqEnt, auto) (metis Associativity compositionSym AssertionStatEqTrans AssertionStatEqSym Commutativity)
java.lang.NullPointerException
by(force intro: frameImpI)
weakenTransition:
fixes Ψ :: 'b
and P :: "('a, 'b, 'c) psi"
and Rs :: "('a, 'b, 'c) residual"
and Ψ' :: 'b
assumes "Ψ ⊳ P ⟼ Rs"
howss"\Psi⊗ P ⟼ Rs"
assms
(nominal_induct avoiding: Ψ' rule: semantics.strong_induct)
case(cInput Ψ M K xvec N Tvec P Ψ')
java.lang.NullPointerException
thus ?case using ‹distinct xvec›‹set xvec ⊆ s) [ ce2 ]
by(rule Input)
case(Output Ψ M K N P Ψ')
from ‹Ψal_[of i e s "c2z:[x]" v s1 b aut
thus ?case by(rule semantics.Output)
case(Cas have "i\<>s
have "Ψ ⊗ Ψ' ⊳ P ⟼ Rs" by(rule Case)
moreover note ‹(φ, P) mem Cs›
moreover from ‹
ultimately show ?case using ‹guarded P›
(ruesmntsCs)
case(cPar1 Ψ ΨQ P α P' Q AQ Ψ')
have "(Ψ ⊗ Ψ
hence "(Ψ ⊗ Ψ') ⊗ ΨQ⊳
by(metis statEqTransition Composition Associativity Commutativity AssertionStatEqTrans)
thus ?case using ‹extractFrame Q = ⟨
by(rule_tac Par1) auto
case(cPar2 Ψ ΨP Q α Q' P AP
have "(Ψ ⊗ ΨP) ⊗ Ψ' ⊳kvto:
hence "(Ψ ⊗ Ψ') ⊗ ΨP⊳
by(metis statEqTransition Composition Associativity Commutativity AssertionStatEqTrans)
thus ?case using ‹extractFrame P = ⟨; B; GNil ⊨" and "ce1 = ce2[z::=v]e<ub
by(rule_tac Par2) auto
case(cComm1 Ψ ΨQ P M N P' AP ΨP Q K xvec Q' AQ Ψ')
have "(Ψ ΨΨ P ⟼N) P'" by(rule cComm1)
hence "(Ψ ⊗ Ψ') ⊗ ΨQ⊳ P ⟼M(N)≺ P'"
by(metis statETasitiinCmoiio soitvt Cmmuatit setionttqrn)
moreover note ‹extractFrame P = ⟨AP, ΨP⟩›
moreover have "(Ψ ⊗ ΨP) ⊗ Ψ' ⊳ Q ⟼K(obtain t whr :"Θ; GNil 🚫v ==> t ∧ Θ; B; GNil ⊨t < τ"
hence "(Ψ ⊗ Ψ') ⊗ Ψsmsekv_es
by(metis statEqTransition Composition Associativity Commutativity AssertionStatEqTrans)
moreover note ‹extractFrame Q = ⟨AQ, ΨQ⟩
moreover from ‹Ψ ⊗ ΨP⊗ z' : b' | [ [ z' ]e == [ v ]e>∧ v ∧ atom z' ♯"
hence "(Ψ ⊗ Ψ') ⊗ ΨP⊗ Ψ
ultimately show ?case using ‹AP♯* Ψ›have e:"b_o = bo <>" ‹AQ♯* Ψ›atom x ♯ (Θ, B, GNil, z', [ [ z' ]cc
by(rule_tac Comm1) (assumption | auto)+
case(cComm2 Ψ ΨQ P M xvec N P' AP ΨP Q K Q' AQ Ψ')
Ψ ΨΨ⊳ν*ve<arr\
hence "(Ψ ⊗ Ψ') ⊗ ΨQ⊳ P ⟼M(ν*xvec)⟨N⟩≺ P'"
by(metis statEqTransition Composition Associativity Commutativity AssertionStatEqTrans)
java.lang.NullPointerException
moreover have "(Ψ ⊗ ΨP) ⊗ Ψ' ⊳ Q ⟼K(N)≺ Q'" by(rule cComm2)
hence "(Ψ ⊗ Ψ') ⊗ ΨP⊳ Q ⟼K(N)≺ Q'"
by(metis statEqTransition Composition Associativity Commutativity AssertionStatEqTrans)
moreover note ‹extractFrame Q = ⟨AQ, ΨQ⟩›; (x, bof , TRU) #\subΓf ce1[z::=[ x ]v : b2 ∧
moreover from ‹Ψ ⊗ Ψ; (x, b_of t, TRUE) #\f ce2[z::=[ x ]v : 2 usinwfeims(
java.lang.NullPointerException
java.lang.StringIndexOutOfBoundsException: Index 208 out of bounds for length 208 ‹AQ♯* Ψ›‹AΘ; B; GNil ⊨w<>z' : b_of t | [ [ z' ]v ]ce == \^>c\\e\rbrace cl using b_of.simps assms infer_v_wf t * by auto
by(rule_tac Comm2) (assumption | auto)+
case(cOpen Ψ P M xvec yvec N P' x Ψ')
have "Ψ ⊗ Ψ' ⊳show \openΘ; B; GNil ⊨f{›
thus ?case using ‹x ∈ supp N›Θ; B; (x, b_of t, ([ [ x ]cce )) #\Γ (ce1[z::=[ x ]v == ce2[z::=[ x ]\<^>\
by(rule_tac Open) auto
case(cScope Ψ P α P' x Ψ')
have "Ψ ⊗ Ψ' ⊳
thus ?case using ‹x ♯ Ψ›‹ce1[z::=[ x ]v]v[x::=v]e<> pof
case(Bang Ψ P Rs Ψ')
have "Ψ ⊗ Ψ' ⊳ P ∥ !P⟼ Rs" by(rule Bang)
g‹ by(rule semantics.Bang)
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.