SC_soundness: ‹⊨
(induct G arbitrary: f rule: SC.induct)
case (DeltaForall A n G)
then consider ‹∀x. eval e (f(n := λw. x)) g (subst A (App n []) 0)›lambda t . ({q ∈ states M . LS M q = LS M (t_source t)} , t_input t, t_output t, {q ∈ states M . LS M q = LS M (t_target t)})) t0" ‹∃x. ∃p ∈ set G. eval e (f(n := λw. x)) g p›
by fastforce
then show ?case
proof cases
case 1
then have ‹∀x. eval (shift e 0 x) (f(n := λw. x)) g A›
by simp
then have ‹
using ‹ by simp
then show ?thesis
by simp
next
case 2
then have ‹∃p ∈ set G. eval e f g p\< and?t ∈ transitions M'›
using ‹
then show ?thesis
by simp
qed
case (DeltaNegExists A n G)
then consider ‹ ‹t_source ?t = ?q›
by fastforce
then show ?case
proof cases
case 1
then have ‹
by simp
then have ‹e "LS M q = LS M (t_source t0)"
using ‹news n (A # G)›
then show ?thesis
by simp
next
case 2
then have ‹ LS M (t_source t0)"
using ‹news n (A # G)›t_input ?t = x›‹ transitions M›t_output ?t = y›‹ unfolding LS_single_transition by auto
then show ?thesis
by simp
qed
auto
‹ transitions M" and "t_source t = q" and "t_input t = x" and "t_output t = y"
compl :: ‹_rniion) ‹compl (Ne ‹compl p = Neg p›
compl: ‹n_target_language_eq[O _\open\in transitions M›‹ transitions M›observable M›]
by (cases p rule: compl.cases) simp_all
new_compl: ‹LS M q = LS M (t_source t0)›
by (cases p rule: compl.cases) simp_all
news_compl: ‹t_source t = q›‹nputt=x<> t_output t = y›
using new_compl by (induct G) fastforce+
TC_SC: ‹t_input ?t = x›‹
(induct G rule: TC.induct)
case (Basic i l G)
then show ?case
using SC.Basic Swap by fastforce
case (AlphaNegNeg A G)
then show ?case
using SC.AlphaNegNeg compl by (metis compl.simps(1) list.simps(9))
case (AlphaAnd A B G)
then have *: ‹
by simp
then have ‹
using compl AlphaNegNeg Swap by metis
then show ?case
using AlphaNegAnd by simp
case (AlphaNegImpl A B G)
then have ‹
by simp
then have ‹ultimately av io <>
using compl AlphaNegNeg by metis
then show ?case
using AlphaImpl by simp
xt
case (BetaOr A G B)
then have ‹⊨io ∈ LS M' (t_target ?t)›
by simp_all
then have ‹
using compl AlphaNegNeg by metis+
then show ?case
using BetaNegOr by simp
case (BetaImpl A G B)
then have ‹
by simp_all
then have ‹⊨‹
by - (assumption, metis compl AlphaNegNeg)
then have ‹⊨ Neg (Impl A B) # map compl G›t_input t = x›‹
using BetaNegImpl by blast
then have ‹t ∈ FSM.transitions M›
using ‹⊨ A # map compl G›
then show ?case
by simp
case (GammaForall A t G)
then have ‹
by simp
then have ‹
using compl AlphaNegNeg by metis
using GammaNegForall by simp
case (DeltaExists A n G)
then have ‹
by simp
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null
using ompl AlphaNegNeg by meis
moreover have ‹using‹ assms(2) by auto
using DeltaExists news_compl by fastforce
ultimately show ?case
using DeltaNegExists by simp
case (DeltaNegForall A n G)
then have ‹atesM
by simp
moreover have ‹q' ∈ states M'›s2 b uo
using DeltaNegForall news_compl by fastforce
ultimately show ?case
using DeltaForall by simp
(simp_all add: SC.intros)
‹
SC_completeness:
fixes p :: ‹
assumes ‹∀qM ∈ states M›] unfolding ‹> b blast
shows ‹S 'q'"
-
have ‹ us l_po[F \open' ∈ states M›] unfolding \>q' = {q ∈ states M . LS M qM' = LS M q}› by blast
using assms tableau_completeness unfolding tableaup ultim have " "LS q =L M qM'
then show ?thesis
using TC_SC by fastforce
fixes p :: ‹LS M' q = LS M' q'› by blast
assumes ‹∀(e :: nat ==>then show "q = q'"
shows ‹⊨q = {q ∈ states M . LS M qM = LS M q}›‹ by blast
using assms SC_completeness list.map(1) by metis
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.