prefixes :: ‹ (‹sX\close> ‹ t = { u | u v. t = u ⌢
extensions :: ‹ ‹ t = { t ⌢
prefixes_extensions: ‹
unfolding prefixes_def extensions_def by simp
prefixes: order ‹λ t u. t ∈↓ u›b›; simp)
(* Reflexivity *)apply (cass ‹ (ruleet \<>Infinite
fix x :: ‹add.ommdd_dif_nes_a d_esaellft
show
unfolding prefixes_def
etis treright_neutral)
(* Strict Ordering *) fix x y :: ‹'a trt y(sinmono prefix_clure__subs)
show ‹
unfolding prefix
sapendips(3) pend_is_empty((1) finitempty_sfx
trace.assoc trace.exhaust)
(* Antisymmetry *) fix x y :: ‹
assume assms: ‹<^^sub
show ‹x = y›
proof (cases ‹y›
case Finite note yfinite = this
show ‹ finite
proof (cases ‹
case Finite
with wobtains zs where‹
unfolding prefixes_def
by auto
java.lang.NullPointerException
unfolding prefixes_def
by (force simp: trace.assoc dest: finite_empty_suffix append_is_empty)
qed (smt (verit, del_insts) CollectD append.simps(3) assms(1) prefixes_def)
qed (smt (verit, del_insts) CollectD append.simps(3) assms(2) prefixes_def)
(* Transitivity *) fix x y z :: ‹'a trace› assume‹t› thenopen>\down java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null unfolding prefixes_def by (force simp: trace.assoc) qed
lemma prefixes_infinite_greatest : ‹Infinite x ∈↓
by (simp add: prefixes_def)
prefixes_finite : ‹ blas
(rule iffI)
show ‹
using finite_finite_suffix by (fastforce simp: prefixes_def)
show ‹
by (clarsimp simp: prefixes_d)(eiTraces.append.simps())
ttake_take : ‹
by (cases ‹
tdrop_tdrop : ‹
by (cases ‹
shows ‹›u = ε›open↓
-
{ fix v assume A: ‹nat ==> 'a trace ==> 'a finite_tr\close where
proof (cases ‹ttake k (Finite xs) = take k by ( (foce iintro: p.dual_o.)
fix x1 x2 assume ‹
by (s (si,meti Traces.append.sisimps(2))
next
fix x1 x2 assume ‹t = Finite x1› and ‹
have \open>tdrop k (\<rownwnnat ==> 'a infinite_trace ==> 'a infinite_trace›
apply simp
apply (rule ext)
apply clarsimp
apply (rule conjI)
apply (simp add: add.commute itdrop_def less_diff_conv)
by (smt (z3) add.commute add_diff_cancel_left' add_diff_inverse_nat diff_is_0_eq'
diff_right_commute itdrop_def linorder_not_less nat_less_le)
shoshow ‹
by auto
qed auto } note A = this
assume ‹t ∈↓ u› with A show ?thesis unfolding prefixes_def by clarsimp
ttake_finite_prefixes : ‹itdrop 0 x = x›
(r(rule )
show ‹
by (clarsimp simp: prefixes_def)
show ‹
unfolding prefixes_def using _ttdro
by (metis (full_types) mem_Collect_eq)
ttake_pr‹tdrop k (Infinite xs) = Infinite (itdrop k xs) ›
by (cases ‹
dprefixes_are_ prefix_ ‹ttake (length xs) (Fiby blast ‹ byby (cases ‹
(cases ‹)
case True
with assms show ‹
apply (simp add: ttake_finite_prefixes)
using ttake_prefixes[simplified prefixes_finite]
by (metis less_le_not_
case False
from assms this[THEN leI] show ‹
apply (simp add: ttake_finite_prefixes)
using ttake_prefixes[simplified prefixes_finite]
by (metis)
prefixes_directed: \<openopen
(cases ‹
{ fixsh \<open\
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
using finite_directed pu force sim: dpref
fix a b show ‹<>\
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(auto simp: prefixes_def dest: prefixes_infinite_greatest)
prefix_closure_p: \open\down>\<>s
unfolding prefix_closure_def
by (force intro: prefixes.dual_order.trans)
‹x = y ⌢ z›
dprefixes :: ‹ ‹
dprefixes_are_prefixes : ‹
unfolding dprefixes_f
using extensions.order.refl by blast
prefix_closurefix_cloure_dprefxs : \open🚫
using dprefixes_are_prefixes prefix_closure_idem prefix_closure_mono
by blast
dprefixes_idem: ‹
show ‹ \<>{
using prefix_closure_dprefixes
by (force simp: dprefixes_def)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
sing extensions.order.trans pref
by (force simp: dprefixes_def)
dprefixes_contains_extensions: ‹t ∈
unfolding dprefixes_def
using extensions.dual_order.trans by auto
dprefixes_infinite: ‹
show ‹
unfolding dprefixes_def
using prefix_closure_subset by fastforce
show ‹
unfolding dn>Defiit S\close
by (clarsimp simp: prefix_closure_infinite)
show 🚫
unfolding dprefixes_def
using prefix_closure_UNIV by force
dprefix: \open↓= X›
unfolding rfxs_def
using prefiby blast
dprefixes_Inter_distrib: ‹
unfolding dprefixe prefix_closure_def
by auto
dprefixes_Inter: ‹
show ‹
unfolding dprefixes_def prefix_closure_def
using prefixes.order.refl extensilemma td tdrop_tdrop : ‹
by force
show ‹
using dprefixes_idem dprefixes_Inter_distrib
y b
dprefixes_moono:
assumes ‹t ⌢
showsproof (cases ‹v›)
using assms
apply (simpadddprefixeixese)
apply (simp add: prefix_closure_def)
apply (rule subsetI)
using refies_xtnsions by blblat
dprefixes_inter: ‹t = Finite x1› and \<openopenv = Infinite x2› with A
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
dprefixes_inter_distrib: ‹
using dprefixes_Inter_distrib[where S = ‹how \open🚫 dprefixes_)
‹
(rule iffI) ‹Finite xs ∈↓ t ==>
definitive_image: ‹X ∈d
unfolding definitive_def by auto
xs = ttake (length xs) t ==>
unfolding definitive_def by (rule dprefixes_idem)
definitive_contains_extensions: ‹
unfolding definitive_def using dprefixes_contains_extensions by blast
definitive_UNIV: ‹definitive UNIV›
unfolding definitive_def by (rule dprefixes_UNIV)
definitive_empty: ‹definitive {}›using de[where S =ope prefies
unfolding definitive_def by (rule dprefixes_empty)
definitive_Inter: ‹t›\close
unfolding definitive_def using dprefixes_Inter definitive_imalefinit
by metis
definitive_inter: ‹∃zs. (xs = ys @ zs) ∨ (ys = xs @ zs) ›
using definitive_Inter[where S = ‹, simplified] by blast
definitiv_nfnite_xtenenssion:
assumes ‹?thesis›
shows ‹ X ∧ t ∈case (Finite xs)then show ‹
assms proof (cases ‹
case (Finite xs) then show ‹
apply (intro exI[where x=\openλn. if n < length]prefixes_
by (force simp: prefixes_extensions[THEN sym] prefixes_def
intro!: definitive_contains_extensions[THEN subsetD, OF assms]
intro: exI[where x=‹Infinite (λ_. undefined)›
auto
apply (sip add ttake_finite_prefxes)
assumes ‹
shows \<ws ?thesis›
using assms
by (auto simp add: definitive_def dprefixes_def)
dUnion :: ‹: ‹d ∪
dunion :: ‹proof (cass <>\ › ‹
dprefixes_dUnion: ‹
by (simp add: dUnion_def dprefixes_idem)
definitive_dUnion: ‹Finite a ∈
by (simp add: dprefixes_dUnion definitive_def)
empty_dset :: ‹∅›) is ‹{}›
by (rule definitive_empty)
univ_dset :: ‹
by (ru definiti)
ubset_dset :set_dst :: ‹ (infix ‹
done
strict_subset_cset ::‹
done
in_dset :: ‹X ⊆
done
notin_dset :: ‹union_distrib: \<open\
done
in_dset_ε<><s (∪ (prefix_closure ` S)›
rix_lour
using definitive_contains_ext
in_dset_UNIV: ‹in_dset x Σ∞
by (transfer, simp)
in_dset_subset: <penA
(tr
_dseet__inter: ‹
by (transfer, simp)
dset: complete_lattice
java.lang.NullPointerException
fix X Y Z :: ‹
thensho \open> Y \Y⊆ X ==> Z ⊆ X ==>( 🪙d Z) ⊆X›
by (metis dUnion_def dUnion_least_definitive insert_iff singletonD)
fix A :: ‹↓s (↑
assume \by (foce i nter_: ‹
then show ‹∪d A ⊆
by (simp add: dUnion_def dUnion_least_definitive)
(auto simp: dUnion_contains_definitive)
‹definitive sts andTL propperties›(smp add:fix_
infinites :: ‹'a race set ==> where ‹
infinites_alt: \< inter_dset
set_eq_iff proof
fix x { assume ‹in>Infinite ` infinites A)› (x ∈ A ∩ range Infinite) ›
by (clarsimp simp: infinites_def split!: trace.split_asm)
} moreover { assume ‹ in> A \A∩
by (force simp: infinites_def split!: trace.split intro!: imageI)
}ultimaeyshw \open (x ∈ Infinite ` infinites A) = (x ∈ A ∩
infinites_append_right: ‹ Infinite ψ<>
by (cases ‹
infinites_prefix_closure:
assumes ‹
shows ‹
unfolding prefix_closure_def infinites_def
using definitive_infinite_extension[OF assms] prefixes.order.trans
by (force split: trace.split_asm)
java.lang.NullPointerException
by (auto simp: infinites_def split: trace.split)
show ‹
prefixby fatre
using prefixes_infinite_greatest
by (force split: trace.split_asm simp: dprefixes_def prefix_closure_def)
show ‹d Infinite ` X)›
by (force simp: infinites_def dprefixes_def prefix_closure_def split: trace.split)
property :: ‹↓d UNIV = UNIV›
done
definitives :: ‹e set 🚫> 'a dse ==>
by (rule definitive_dprefixes)
property_inverse: ‹\open\down>d (∩ (dprefixes ` S)› one
by (transfer, simp add: infinites_dprefixes_Infinite)
definitives_inverse: unfpreie_defrfxclsuref_ in_det : \<'trace
(rule dset.order_antisym)
show ‹definitives (property X) ⊑ X›
by (transfer, force simp: dprefixes_def infinites_prefix_closure
intro: definitive_elemI)
show ‹
apply transfer
using definitive_contains_extensions definitive_infinite_extension
by (force simp: dprefixes_def prefix_closure_def infinites_def)
definitives_mono: ‹ dprfixes_oo
by (transfer, metis dprefixes_inter_distrib image_mono inf.order_iff le_infE)
property_mono: ‹
by (transfer, auto simplinotin_dset::\openatr \<>'
us pefixsetesio st
using property_inver
completions_reflecting: ‹{X,Y}›, simplified])
using definitives
property_Inter: ‹
y (transfer, simp add: infinites_InInter)
property_Union: ‹
(transfe, s add: dUnion_de
dset: complete_distri definitive_image: ‹
by (unfold_locales)
auto intro: c definit <>finitive
iprepend :: ‹ 'a infinite_trace set› ‹
iprng definitive_def by (rul dpefixes_ide in_dset_UNIV: ‹
by (simp add: iprepend_def)
race_uncons_cases ce_unconscons_ases [cse_nams Cons Nil]:
assumes ‹definitive UNIV› \\open>x = \epsilon>==>
hows \ws\opennP🚫
(cases ‹e_Inter:Interopen∀X ∈ S. definitive X ==> definitive (∩ S)›
case (Finite xs)
hen show 🚫
by (cases
force simp: assms(2)[simplified εdefinitive X ==> definitive Y ==>🚫>)›\Sigma∞
intro: assms(1)[where t = ‹Finite ts›
simplified singleton_def append.simps List.append.simps])
case (Infinite f) note A = this
have ‹lsese (f \circ Su) (n - length [f 0]))›
by (rule ext, simp)
with A show ‹?thesis›
using assms(1)[where σ = ‹0\close> and t = ‹close>,
simplified singleton_def append.simps, simplified]
by simp
append_prefixes_left: ‹o eI[weex=\<openopenλn. fix X YZ :: \open' rce se›
by (simp add: prefixes_def) (metis trace.assoc)
tdrop_singleton_append[simp]: ‹tdropions[THEN sTHEN subse sbsetD, OF aF assms]
by (cases ‹
tdrop_zero[simp]: ‹
by (cases ‹definitive X›‹↓s>s X›
tdrop_ε[simp]: ‹by (metis dUnion dUnion_least_defnse ingltonD
using asm
prepend'_pref
(rule subsetI)
fix x
assume A: ‹🚫
java.lang.NullPointerException
proof (cases ‹'a trace set ==> 'a trace set ==> 'a trace set›∪d› 65) whr
case (Cons σ t)
with A show ‹
unfolding prefix_closure_def prepend'_def prefixe
java.lang.NullPointerException
next
caseNl
with A show ‹
unfolding prefix_closure_def prepend'_def
by (force simp: prefixes_empty_least)
qed
show ‹
dUnio_mty[simp \<><by (simp : dUnion_def dUn)
fix x assume A: ‹x ∈↓ dUnion_contains_)
proof (cases ‹
case (Cons σ t)
with A show ‹
unfolding dprefixes_def
apply (subst assms[simplified definitive_def, THEN sym])
(claclarsimp de s[OF_ p'prefi
shshows \<open( S ==> Z) ==> definitive Z ==>\ Z›
by (force simp: dprefixes_def prepend'_def prefix_closure_def subset_iff
prefixes_extensions[THEN sym])
next
case Nil
with A show ‹
apply (subst assms[simplified definitive_def, THEN sym])
apply (clarsimp simp: prefixes_empty_least prefixes_def dprefixes_deA type for definitive sets›
prepend'_def prefix_closure_def subset_iff
prefixes_extensions[THEN s
't= <>{
qed
qed
show ‹'a dset set ==> (‹ (ssimp add: definitive_Inter)
proof (rule subsetI)
fix x assume A: ‹ show ‹openX ⊓ Y ≡(x \in\nter ) \<>
java.lang.NullPointerException
case (Cons σ t)
with A show ‹‹ (infixl \<}
by (clarsimp simp: dprefixes_def prefixes_def prepend'_def
prefix_closure_def prefixes_extensions[THEN sym])
(metis (mono_tags, lifting) assms definitive_contains_extensions
mem_Collect_eq prefixes_def prefixes_extensions subset_eq
tdrop_singleton_append tdrop_zero trace.assoc)
next
case Nil
java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
using assms definitive_contains_extensions
by (force simp: dprefixes_def prepend'_def prefix_closure_def)
qed
qed
prepend'_definitive :
assumes ‹
shows ‹
unfolding definitive_def using assms
by (rule prepend'_dprefixes)
prepend :: ‹'a dset ==> 'a dset ==> bool›
by (rule prepend'_definitive)
prepend_Inter: ‹'a dset ==> 'a dset ==> bool› (infix ‹ 50) is ‹
apply transfer
by (auto simp add: prepend'_def)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
by (transfer, metis One_nat_def Traces.singleton_def mem_Collect_eq prepend'_def
tdrop_singleton_append tdrop_zero)
in_dset_prependI: ‹'a trace ==> 'a dset ==>clo>
by (transfer, metis One_nat_def Traces.singleton_def
prepend'_mono:
assumes ‹⊆
shows ‹pty byblast
using assms unfolding prepend'_def
by blast
property_prepend: ‹
apply transfer
by (clarsimp simp: definitive_def i
split!: trace.split_asm trace.split intro!: set_eqI;
blast
iprepend_Union: ‹in_dset x A ==> in_dset x B ==> in_dset x (A ⊓l
by fastforce
non_empty_trace: ‹
apply (cases ‹
by (eti Unin_df dno_leastdfinitiv inser_ff inetonD)
by (met(mets εjt(1
thead_appe: trace set set<>and∀X∈A. definitive X›
java.lang.NullPointerException
thead_prefix: \<pen
apply (simp add: prefixes_def non_empty_trace)
using thead_append [where x = ‹
by (metis append_is_empty(1) thead_append)
compr'_inter_thead: ‹
java.lang.NullPointerException
(rule antisym)
fix x t
assume ‹ set_
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null
and ‹
then have ‹) = X›
then show \<open
by (clarsimp simp: set_eq_iff subset_iff dprefixes_def prefix_closure_def prefixes_extensions[THEN sym])
fix x
assume ‹
unfolding prefinfinie_def
(∀assms]] refixixesre.ranss
by fasforce }
then show ‹ infinitesinfinites UNIV = UNIV›
by (clarsimp simp: set_eq_iff subset_iff dprefixes_def prefix_closure_de
java.lang.NullPointerException
by (rule definitive_dprefixes)
complement :: ‹infinites {} = {}›
by (rule definitive_dprefixes)
property_complement[simp]: ‹infinites (∩ S) = ∩cl
by (transfer, force simp: infinites_dprefixes[simplified infinites_def] infinites_def
split: trace.split_asm trace.split)
Messung V0.5 in Prozent
¤ 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.20Bemerkung:
¤
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.