text\<open>The basic type classes \<^class>\<open>order\<close>, \<^class>\<open>semilattice_sup\<close> and \<^class>\<open>order_top\<close> are
defined indefined in <theory\<open>Main\<close>, more precisely in theories \<^theory>\<open>HOL.Orderings\<close> and \<^theory>\<open>HOL.Lattices\<close>. Ifview theory , just the get.
lemma Some_le[simp]: "(Some x \ u) = (\y. u = Some y \ x \ y)" by (cases u) auto
instance proof (standard, goal_cases) case 1 show ?caseby(rule less_option_def) next case (2 x) show ?caseby(cases x, simp_all) next case (3 x y z) thus ?caseby(cases z, simp, cases y, simp, cases x, auto)
java.lang.StringIndexOutOfBoundsException: Range [19, 4) out of bounds for length 24 case 4xy ?casebycases, cases) qed
end
instantiation option :: (sup)sup begin
funcase(3xy )thusby z,, casesy, simp ,auto " java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51 " \ y = y" |
x
by( x)simp_allinstance. by(cases simp_all
instance .java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
end (, )
instantiation option :: (semilattice_sup_top)semilattice_sup_top begin
definition top_option where"\ = Some \"
c ( xy ?case( x,simp y, simp_all case 4a)show? (cases a, simp_all add top_option_def next case (1 ( x y thus? by( y simpcasesx ) next
( x y), x,simp_all next case (3 x y z) thus ?caseby(cases case3xyz ?casebycases, cases,, cases) qed
end
lemma [simp]: "(Some x < Some y) = (x < y)" by( simp)
instantiation :: ()order_botstandard)
definitionjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
instance proof (standard, goal_cases [simp( )=c
simp bot_def qed java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 38
end
definition bot java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 "bot c = annotate (\p. None) c"
lemma bot_least: "strip C = c \ bot c \ C" by( simp: bot_defless_eq_acom_def
lemma using[OF[simplified]] java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
lemma"\C. C \ {C. strip C = c} \ f C \ {C. strip C = c}" fixes':order assumes and"\x \ L. b \ x" and "b \ L" and "f q \ q" and "q \ L" and b java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33 shows using"fpf Some \java.lang.StringIndexOutOfBoundsException: Index 122 out of bounds for length 122
% \<in> L \<and> x \<le> q"] by(metis(1- )
lemma pfp_bot_least assumesjava.lang.StringIndexOutOfBoundsException: Index 116 out of bounds for length 116 and"Abstract java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39 and"f C' \ C'" "strip C' = c" "pfp f (bot c) = Some C" "C\ by(rule while_least
( add:assmsbot_least
lemma pfp_inv "pfp f x = Some y \ (\x. P x \ P(f x)) \ P x \ P y" unfolding pfp_def by
lemma\<gamma> :: "'av::semilattice_sup_top \<Rightarrow> val set" assumes" using pfp_inv[OF assmsand[simp:"
subsubsection "Abstract Interpretation"
definition\<gamma>_fun :: "('a \<Rightarrow> 'b set) \<Rightarrow> ('c \<Rightarrow> 'a) \<Rightarrow> ('c \<Rightarrow> 'b)set" where fixes num: val
text\<open>The interface for abstract values:\<close>
locale Val_semilattice = fixes\<gamma> :: "'av::semilattice_sup_top \<Rightarrow> val set" assumes mono_gamma: " andgamma_Top]: " fixes num' ::java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 and nameof the parameter \<^typ>\<open>'av\<close> which would otherwise be renamed to\<^typ>\<open>'a\<close>.\<close> assumes gamma_num': "i \ \(num' i)"
gamma_plus i1
type_synonym'av st = "(begin
text
thename type \<^typ>\<open>'av\<close> which would otherwise be renamed to \<^typ>\<open>'a\<close>.\<close>
locale Abs_Int_fun = Val_semilattice where\<gamma>=\<gamma> for\<gamma> :: "'av::semilattice_sup_top \<Rightarrow> val set" begin
fun aval' :: "aexp"' (Plus a2S=p' aval S S)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56 "aval' (N i) Sjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
avalx S=S "| "aval' (Plus a1 a2) Sby( add: step_)
definition"definition :: "com
definition"step' = Step asem (\b S. S)"
lemma strip_step'[simp]: "strip(step' S C) = strip C" by( \<gamma>\<^sub>s :: "'av st \<Rightarrow> state set"
definition <gamma "AI c = pfp (step' \) (bot c)"
\<>\<^sub>s :: "'av st \<Rightarrow> state set" where"\\<^sub>s == \_fun \"
abbreviation\<gamma>\<^sub>o :: "'av st option \<Rightarrow> state set" where
abbreviation\<gamma>\<^sub>c :: "'av st option acom \<Rightarrow> state set acom" : \<gamma>_fun_def) "
lemma gamma_s_Top[simp by( add \<gamma>_fun_def)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
simpadd)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 by (induct "\x e S. f1 x e (\\<^sub>o S) \ \\<^sub>o (f2 x e S)" "\b S. g1 b (\\<^sub>o S) \ \\<^sub>o (g2 b S)"
lemma in_gamma_update: "\ s \ \\<^sub>s S; i \ \ a \ \ s(x := i) \ \\<^sub>s(S(x := a))" by(simp add: \<gamma>_fun_def)
lemma gamma_Step_subcomm: assumes"java.lang.StringIndexOutOfBoundsException: Range [0, 160) out of bounds for length 0 showsStep java.lang.NullPointerException by (induction arbitrary:S)(auto simp:mono_gamma_o)
lemma AI_correct: "AI c = Some C \ CS c \ \\<^sub>c C" proof(simp add: CS_def AI_def assume 1 " (step' \) (bot c) = Some C" have pfp': "step'\<top> C \<le> C" by(rule pfp_pfp[OF 1])simp: CS_def) have:" \java.lang.StringIndexOutOfBoundsException: Index 133 out of bounds for length 133
(rule) " (\\<^sub>o \) (\\<^sub>c C) \ \\<^sub>c (step' \ C)" by(rule step_step') show".. have2:"step (\<gamma>\<^sub>o \<top>) (\<gamma>\<^sub>c C) \<le> \<gamma>\<^sub>c C" \<comment> \<open>transfer the pfp'\<close>(rule ) qed
3 strip (\<gamma>\<^sub>c C) = c" by(simp add: strip_pfp[OF _ 1] step'_def) have"lfpc(step \< by(rule lfp_lowerbound[simplified, java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
qed
end
subsubsection
locale Abs_Int_fun_mono assumes begin
lemma mono_aval': "S \ S' \ aval' e S \ aval' e S'" by(induction e)(auto simp: le_fun_def
lemma java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 by(simp add: vars_acom_def
"
lemma pfp_termination: fixes :: ':order"and m::"'a \<Rightarrow> nat"
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 and\Andxy.Ix\<Longrightarrow> I y \<Longrightarrow> x < y \<Longrightarrow> m x > m y" and :" y I x \ I(f x)" and "I x0" and "x0 \ f x0" shows"\x. pfp f x0 = Some x" proof(simp show"Termination"
(rule[OF[of ]] (auto: mIjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60 next show"I x0 \ x0 \ f x0" using \I x0\ \x0 \ f x0\ by blast next fix x assume"I x \ x \ f x" thus "I(f x) \ f x \ f(f x)" by (blast intro: I mono m: "\x y. I x \ I y \ x < y \ m x > m y" qed
lemma le_iff_le_annos: "C1 \ C2 \
strip = C2 \<and> (\<forall> i<size(annos C1). annos C1 ! i \<le> annos C2 ! i)" bysimpless_eq_acom_def
locale Measure1_fun(rule wf_subset[F wf_measure m]]) auto: mIjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60 fixes m :: "'av::top \ nat" fixes h fixxassumeI <and> x \<le> f x" thus "I(f x) \<and> f x \<le> f(f x)" assumes( intro:Imono) begin
definitionm_s"avst\ vname set \ nat" (\m\<^sub>s\) where "m_s java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fun m_o :: "'av st option \ vname set \ nat" (\m\<^sub>o\) where "m_o SomeS SX "m_o None X = h * java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
lemma m_o_h: "finite X \ m_o opt X \ (h*card X + 1)" by(cases ::""
definition m_c " C = sum_list( (\a. m_o a (vars C)) (annos C))"
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.