Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Cephes/   (Cephes Mathematical Library ©)  Datei vom 9.5.2026 mit Größe 6 kB image not shown  

Quelle  Traces.thy

  Sprache: Isabelle
 

Traces 
imports Main HOL.Lattices HOL.List 
begin

chapter Traces and Definitive Prefixes

section Traces

typedecl Σ
type_synonym 'a finite_trace = 
  'a infinite_trace = 🚫
  'a trace = Finit 'a infinite_trace

  open>'atr\Rightarrow
 thead (Finite t) = t ! 0 a trace = Fi \openafini

thead (Infinite t) = t 0

fun append :: 'a trace ==> 'a trace ==> 'a trace (infixr 
 (Finite t) (Infinite ψ) = Infi
  🚫
  (Infinite t) u = Infinite t

  ε :: <>(
 ε = Finite []

  singleton :: 'a ==> 'a trace where
 singleton σ = Finite [σ]

  trace: monoid_list () ε
  unfold_locales
 fix a :: 'a trace show ε t) \<rown 
 by (cases
 
 fix a :: 'a trace show
 by (cases
 
 fix
 definition sin :: \opena \Rightarrow>'a trace

 apply (cases
 apply (cases
 apply (rule ext; simp)
 by (smt (verit, ccfv_threshold)
 add.commute add_diff_inverse_nat add_less_cancel_left
 nth_append trans_less_add2)
 

  finite_empty_suffix:
 assumes Finite xs = Finite xs t unfold_locales
 shows
 using assms by (cases

  finite_empty_prefix:
 assumes Finite xs = t Finite xs
 shows t = ε ((cases 🚫
 using assms by (cases t) (simp_all add: ε_def)

  finite_finite_suffix:
 assumes
 obtains zs where t = Finite zs
 using assms by (cases t) (simp_all)

  finite_finite_prefix:
 assumes \>c>; si add: \<psilon_fro> b) \frownc = a \<rown 
 obtains zs where t = Finite zs
 using assms by (cases t) (simp_all)

  append_is_empty:
 assumes
 shows
 and
 using assms by (simp add: ε_def; cases t; cases

  ttake :: \<            add fini
 
  ttake k (Infinite xs) = map xs [0..<k] \open \<psilon\t



  itdrop :: nat ==> 'a infinite_trace ==> 'a infinite_trace
 

  itdrop_itdrop[simp]: itdrop i (itdrop j x) = itdrop (i + j) x
 by (simp add: itdrop_def add.commute add.left_commute)

  itdrop_zero[simp]:
 by (simp add: itdrop_def)


  tdrop :: nat ==> 'a trace ==> cas \opent\close) (simp_ad: ε
 tdrop k (Finite xs) = Finite (drop k xs)
  tdrop k (Infinite xs) = Infinite (itdrop k xs) finite_fin:

  ttake_simp[simp]:
 by (cases t, auto intro: list_eq_iff_nth_eq[THEN iffD2])

  ttake_tdrop[simp]: t
 by (cases t

  prefixes ::
  t = { u | u v. t = u v }

  byy (cases
 

  prefixes_extensions:
 unfolding prefixes_def extensions_def by simp

  prefixes: order λ
 
 (* Reflexivity *)
 fix x ::
 show x \<simp+
 unfolding prefixes_def
 by (simp, metis trace.right_neutral)
 
  (* Strict Ordering *)

  fix x y :: 'a trace
  show
    unfolding prefixes_def:\open<Rightarrowtrace afinite_tracewhere
    by (simp, metis append.simps(3) append_is_empty(1) finite_empty_suffix 
                    trace.assoc trace.exhaust)
next
  (* Antisymmetry *)
  fix x y :: 'a trace
  assume assms: x y y x
  show>=y<close
  proof (cases y)
    case Finite note yfinite = this 
    show  map xs [0..<k 
 proof (cases x)
 case Finite
java.lang.StringIndexOutOfBoundsException: Index 109 out of bounds for length 109
  p
 by auto
 with assms(1) yfinite show
 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 x y
  then show x
 unfolding prefixes_def by (force simp: trace.assoc)
 

  prefixes_empty_least :
 by (simp add: prefixes_def)
 
  prefixes_infinite_greatest : Infinite x t ==> t = Infinite x
 by (simp add prefixes_def)



  prefixes_finite :
  (rule iffI)
 show Finite xs Finite ys ==> zs. ys = xs @ zs
 using finite_finite_suffix by (fastforce simp: prefixes_def)
 
 show zs. ys = xs @ zs ==> Finite xs Finite ys
 by (clarsimp simp: prefixes_def) (metis Traces.append.simps(2))
 

  ttake_take : take n (ttake m t) = ttake (min n m) t
 by (cases

  tdrop_tdrop : ( \>c>, auto simp: itdrop_def)
 by (cases \opend> _🚫


java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
  -
 { fix v assume A: u = t v then have va. tdrop k (t v) = tdrop k t va
 proof (cases t
  x1x2assume \<opent
 by (simp, metis Traces.append.simps(2))
 next
 fix x1 x2 assume t = Finite x1 and v = Infinite x2 with A
 have tdrop k (t v) = tdrop k t Infinite (itdrop (k - length x1) x2)
 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)
 then show
 by auto
 qed auto } note A = this
 assume and>> t
 

  ttake_finite_prefixes : Finite xs t xs = ttake (length xs) t
  (rule iffI)
 show Finite xs t ==> xs = ttake (length xs) t
 by (clarsimp simp: prefixes_def)
 
 show xs = ttake (length xs) t ==> Finite xs t
 unfolding prefixes_def using ttake_tdrop
 by (metis (full_types) mem_Collect_eq)
 

  ttake_prefixes : open>'a trace\close>
 by (cases t; simp add: ttake_finite_prefixes min_def take_map)

  finite_directed:
  Finite xs t Finite ys t

  zs. (xs = ys @ zs)
  (cases length xs > length ys
  y(mpmestrce.rhnetrl)
 with assms show
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 using ttake_prefixes[simplified prefixes_finite]
 by (metis less_le_not_le)
 
 case False
 from assms this[THEN leI] show nd_is_empty)fi_epysfx
 apply (simp add: ttake_finite_prefixes)
 using ttake_prefixes[simplified prefixes_finite]
 by (metis)
 


  prefixes_directed: 'a trace
  (cases
 { fix a b assume x = yy
)
 then have
 using finite_directed prefixes_finite by blast } show <pen?
 fix a b show x
 using X by auto
  (auto simp: prefixes_def dest: prefixes_infinite_greatest)

  extensions: order \close t u. t u u
 
  (auto simp: prefixes_exith s(1yteho\open>?tei


  extensions_infinite[simp]:
 by (simp add: extensions_def)

  extensions_empty[simp]: 'a trace
 by (simp add: extensions_def)

  prefixes_empty:
 apply (clarsimp simp add: set_eq_iff ε prefixes_d)
 apply (rule iffI)
 apply (metis ε_def append_is_empty(1))
 by (metis ε_def trace.left_neutral)


  🚫

  prefix_closure ::
 

  prefix_closure_subset: ε t
 unfolding prefix_closure_def
 by auto

  prefix_closure_infinite:
 
 assume Infinite x s X then show Infinite x X
 by (metis UN_E prefix_closure_def prefixes_infinite_greatest)
 
 assume
 by (meson in_mono prefix_closure_subset)
 

  prefix_closure_idem: s s X = s X
 unfolding prefix_closure_ (r iffI
 using prefixes.order.trans by blast

  \open xF ys\<>\
 unfolding prefix_closure_def
 by blast

java.lang.NullPointerException
 unfolding prefix_closure_def
 by simp

  prefix_closure_Union_distrib:
java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 30
 by simp

 prefix_closure_Inter:
 unfolding prefix_closure_def
 using prefixes.dual_order.trans by fastforce

java.lang.NullPointerException
 by (rule prefix_closure_Inter[where S =

  prefix_closure_UNIV: s UNIV = UNIV
  prefix_closure_def by blast

  prefix_closure_empty:
 unfolding prefix_closure_def by blast

  prefix_closure_extensions: add.commute add.le)
 by (force intro: prefix_closure_subset dest: prefixes_directed
 simp: prefixes_extensions[THEN sym] prefix_closure_def)

java.lang.NullPointerException
 unfolding prefix_closure_def
 by (force intro: prefixes.dual_order.trans)

  > tdrop k t \<<in

java.lang.NullPointerException
  = 🚫

  dprefixes_are_prefixes : d X s X
 unfolding dprefixes_def
 using extensions.order.refl by blast

java.lang.NullPointerException
 using dprefixes_are_prefixes prefix_closure_idem prefix_closure_mono
 by blast

  dprefixes_idem: d <openpen
 
 show d d X d X
 using prefix_closure_dprefixes
 by (force simp: dprefixes_def)
 
 show
  .order.trans pprefix_c
 by (force simp: dprefixes_def)
 

  dprefixes_contains_extensions: t > (itdrop ((k- le x1) x2) \close
 unfolding dprefixes_def
 using extensions.dual_order.trans by auto

  dprefixes_infinite: Infinite x d X Infinite x X
 
 show
 unfolding dprefix
 using prefix_closure_subset by fastforce
 
 show
 unfolding dprefixes_def
 by (clarsimp simp: prefix_closure_infinite)
 


  dprefixes_UNIV:
 unfolding dprefixes_def
 using prefix_closure_UNIV by force

  dprefixes_empty: d {} = {}
 unfolding dprefixes_def
 using prefix_closure_empty by blast

  dprefixes_Inter_distrib: <>va
 unfolding dprefixes_def prefix_closure_def
 by auto

  dprefixes_Inter: d ( (dprefixes ` S)) = (dprefixes ` S)
 
 show
 unfolding dpreqed auto } note A = this
 using prefixes.order.refl extensions.dual_order.trans
 by force
 
 show d (dprefixes ` S) (dprefixes ` S)
 using dprefixes_idem dprefixes_Inter_distrib
 by blast
 

  dprefixes_mono:
 assumes
 shows
 using assms
 apply (simp add: dprefixes_def)
 apply (simp add: prefix_closure_def)
 apply (rule subsetI)
 using prefixes_extensions by blast


  dprefixes_inter: d (d Xp(rule iffI)
 by (rule dprefixes_Inter[where S =

  dprefixes_inter_distrib: d (X Y) d X
 using dprefixes_Inter_distrib[where S =

  Definitive Sets

  definitive::
 

  definitive_image: X S. definitive X ==> dprefixes ` S = S: ttake_finite_prefixes min_def take_map)
 unfolding definitive_def by auto

  definitive_dprefixes: definitive (d X)
 unfolding definitive_def by (rule dprefixes_idem)

  definitive_contains_extensions: finite_direct:
 unfolding definitive_def using dprefixes_contains_extensions by blast

  definiti:
 unfolding definitive_def by (rule dprefixes_UNIV)

  definitive_empty:
 unfolding definitive_def by (rule dprefixes_empty)

  definitive_Inter: X S. definitive X ==> definitive ( S)
 unfolding definitive_def using dprefixes_Inter definitive_image[simplified definitive_def]
 

  definitive_inter: definitive X ==> definitive Y ==> definitive (X
 using definitive_Inter[where S =

  definitive_infinite_extension:
 assumes
 shows
  assms proof (cases t
 case (Finite xs) then show
 apply (intro exI[where x=
 by (force simp: prefixes_extensions[THEN sym] prefixes_def
 intro!: definitive_contains_extensions[THEN subsetD, OF assms]
 intro: exI[where x=Infinite (λ_. undefined)
  auto

  definitive_elemI:
 assumes
 shows
 using assms
 by (auto simp add: definitive_def dprefixes_def)


  dUnion ::
 ><>t

  dunion :: 'a trace set ==> 'a trace set ==> 'a trace set (infixl d 65) where
 X d Y d {X,Y}

  dprefixes_dUnion:
 by (simp add: dUnion_def dprefixes_idem)

  definitive_dUnion: =Finite a\Longrightarrow F b ==>
 by (simp add: dprefixes_dUnion definitive_def)

  dUnion_contains_dprefixes: t S ==> d t d S
 by (auto simp: dUnion_def dprefixes_def prefix_closure_def)

  dUnion_contains_definitive: X S ==> definitive X ==> X d S
 unfolding definitive_def
 using dUnion_contains_dprefixes by blast

  dUnion_empty[simp]: d {} = {}
 unfolding dUnion_def
 by (simp add: dpref)

  dUnion_least_dprefixes: (X. X
 unfolding dprefixes_def prefix_closure_def
  subset_iff, mesonextensions.order_reflprefixesorder.tr)

  dUnion_least_definitive:
 assumes all_defn: [THEN sym] dedest: prefi.leD intro:prefixe.order.tans)
 shows (X. X S ==> X Z) ==> definitive Z ==> d
 using definitive_image[OF all_defn,THEN sym] dUnion_least_dprefixes definitive_def
 by metis

  A type for definitive sets

  'a dset =
 using definitive_UNIV by blast

  type_definition_dset

  Inter_dset :: 'a dset set ==> 'a ds by (simp add extens)
 by (simp add: definitive_Inter)

  inter_dset ::
 X Y

  Union_cset :: apply (rule iffI)
 by (rule definitive_dUnion)

  union_dset :: def tracleft_neut)
 

  empty_dset ::
 by (rule definitive_empty)

  univ_dset :: down>\\^sub>s _
 by (rule definitive_UNIV)

  subset_dset :: 'a dset ==> 'a dset ==> bool (infix 50) is ()
 done

  strict_subset_cset :: 'a dset ==> 'a dset ==> bool (infix 50) is ()
 done

  ::
 done

  notin_dset :: 'a trace ==> 'a dset ==> bool is ()
 done



  in_dset_ε
 apply (transfer)
 using definitive_contains_extensions eby au

  in_dset_UNIV:
 by (transfer, simp)

  in_dset_subset: A B ==> in_dset x A ==> in_dset x B
 by (transfer, auto)

  in_dset_inter: in_dset x A ==> in_dset x B ==> in_dset x (A B)
 by (transfer, simp)


  dset: complete_lattice <>\
  (unfold_locales;transfer)
 fix X Y Z :: 'a trace set assume definitive X \    meson in_ prefi)
 then show
 singletonD)
 
 fix A :: 'a trace set set and Z ::
 assume
 then show d A Z
 by (simp add: dUnion_def dUnion_least_definitive)
  (auto simp: dUnion_contains_definitive)

  Isomorphism of definitive sets and LTL properties

  infinites :: 'a trace set ==> 'a infinite_trace set where
 infinites X = (x X. case x of Finite xs ==> {} | Infinite xs ==> {xs})

  infinites_alt: Infinite ` infinites A = A range Infinite
  set_eq_iff proof
 fix x { assume
 by (clarsimp simp: infinites_def split!: trace.split_asm)
 } moreover { assume (x A range Infinite) hence
 by (force simp: infinites_def split!: trac
 } ultimately show
 by blast
 

  infinites_append_right: t Infinite ψ range Infinite
 by (cases t; auto)

  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)

  infinites_UNIV[simp]: infinites UNIV = UNIV
 by (auto simp: infinites_def split: trace.split)

  infinites_empty[simp]:
 by (auto simp: ininfinite)
 
  infinites_Inter: infinites ( S) = (infinites ` S)
 unfolding infinites_def
 apply (rule set_eqI; rule iffI)
 apply (force)
 apply (simp split: trace.split trace.split_asm)
 by (metis InterI trace.distinct(1) trace.exhaust trace.inject(2))

  infinites_Union:
 unfolding infinites_def
 by auto

  infinites_dprefixes: inter> >🚫
 unfolding infinites_def
 by (force simp: dprefixes_infinite split: trace.split trace.split_asm)

  infinites_dprefixes_Infinite: infinites ( r prefi[where SS = = \open,}\<lose,
 
 show infinites (d Infinite ` X) X
 unfolding infinites_def
 using prefixes_infinite_greatest
 by (force split: trace.split_asm simp: dprefixes_def prefix_closure_def)
 
 show X infinites (d Infinite ` X)
 by (force simp: infinites_def dprefixes_def prefix_closure_def split: trace.split)
 

  property :: 'a dset ==> 'a infinite_traceby (f (for intro:: pr dest: prefixes_di
 done

  definitives ::
 by (rule definitive_dprefixes)

  property_inverse:
 by (transfer, simp add: infinites_dprefixes_Infinite)

  definitives_inverse: definitives (property X) = X
  (rule dset.order_antisym)
 show
 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: open>>
 by (transfer, metis dprefixes_inter_distrib image_mono inf.order_iff le_infE)

  property_mono: A B ==> property A property B
 by (transfer, auto simp: infinites_def)

  definitives_reflecting:
 using property_inverse property_mono by metis

java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null
 using definitives_inverse definitives_mono by metis

  property_Inter: property ( S) = (property ` S)
 by (transfer, simp add: infinites_Inter)

  property_Union:
 by (transfer, simp add: dUnion_def infinites_dprefixes infinites_Union)



  dset: complete_distrib_lattice ()
 by (unfold_locales)
 (auto intro: completions_reflecting simp add: property_Inter property_Union INF_SUP_set)


  iprepend :: >d \ubseteq
 iprepend X = {t. itdrop 1 t X }

  iprepend_itdrop: itdrop k x iprepend B itdrop (Suc k) x
 by (simp add: iprepend_def)

  iprepelby (force simp: dpref)

  prepend' ::
 

  trace_uncons_cases [case_names Cons Nil]:
 assumes
 and
 shows P
  (cases >
 case (Finite xs)
 then show ?thesis
 by (cases xs;
 force simp: assms(2)[simplified ε_def]
 intro: assms(1)[where t = Finite tsproof
 simplified singleton_def append.simps List.append.simps])
 
 case (Infinite f) note A = this
  \\>f = (λ! n lse (f ))\close
 by (rule ext, simp)
 with A show ?thesis
 using assms(1)[where σ = f 0 and t = Infinite (f Suc)
 simplified si sing prefix_closu by fastforce
 by simp
 

  append_prefixes_left:
 by (simp add: prefixes_def) (metis trace.assoc)

  tdrop_singleton_append[simp]: tdrop (Suc n) (singleton σ t) = tdrop n t
 by (cases t
  tdrop_zero[simp]:
 by (cases
  tdrop_ε[simp]:
 by (simp add: ε_def)

  prepend'_prefix_closure: s (prepend' X)
  (rule subsetI)
 fix x
 assume A:
 show
 proof (cases x rule: trace_uncons_cases)
 case (Cons σ t)
 with A show
 unfolding prefix_closure_def prepend'_def prefixes_def
 by (fastforce simp: trace.assoc)
 next
 case Nil
 lemma dpr: \<><
 unfolding prefix_closure_def prepend'_def
 by (force simp: prefixes_empty_least)
 qed
 

  prepend'_dprefixes :
  definitive X
 
 
 show \lemmadpr:
 proof (rule subsetI)
 fix x assume A: x d prepend' X show x prepend' X
 proof (cases x rule: trace_uncons_cases)
 case (Cons σ t)
 with A show
 unfolding dprefixes_def
 apply (subst assms[simplified definitive_def, THEN sym])
 apply (clarsimp dest!: subset_trans[OF _ prepend'_prefix_closure])
 using append_prefixes_left
  (force simp:: dprefixes_def prepe'_def prefisubset_iff
 prefixes_extensions[THEN sym])
 next
 case Nil
 with A show ?thesis
 apply (subst assms[simplified definitive_def, THEN sym])
 apply (clarsimp simp: prefixes_empty_least prefixes_def dprefixes_def
  subset_
 prefixes_extensions[THEN sym])
 by (metis tdrop_singleton_append tdrop_zero trace.assoc)
 qed
 qed
 
 show :
 proof (rule subsetI)
 fix x assume A:
 proof (cases x\downsubd Y

 case (Cons σ t)
 with A show ?thesis
 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
 with A show ?thesis
 using assms definitive_contains_extensions
 by (force simp: d sing refixes_exteby blast
 qed
 qed
 

  prepend'_definitive :
 assumes definitive X
 shows
 unfolding definitive_def using assms
 by (rule prepe'_dpr)

  prepend ::
 by (rule prepend'_definitive)

  prepend_Inter:
 apply transfer
 by (auto simp add: prepend'_def)

  in_dset_prependD:
 by (transfer, metis One_nat_def Traces.singleton_def mem_Collect_eq prepend'_def
 tdrop_singleton_append tdrop_zero)

  in_dset_prependI:
 by ((tra met One Traces.singleton_ mem_Colect pr'_def
 tdrop_singleton_append tdrop_zero)

  prepend'_mono:
 assumes A
 shows
 using assms unfolding prepend'_def
 by blast

  property_prepend: close
 apply transfer
 by (clarsimp simp: definitive_def infinites_def prepend'_def
 split!: trace.split_asm trace.split intro!: set_eqI;
 blast)

  iprepend_Union:
 by fastforce

  definitives_inverse_eqI: definitives (property X) = definitives (property Y) ==> X = Y
 by (simp add: definitives_inverse)

java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null
 apply (rule definitives_inverse_eqI)
  (imp add prop property_
 by (metis UN_extend_simps(10) iprepend_Union)

  non_empty_trace:
 apply (cases
 apply (metis Traces.singleton_def ε_def append_is_empty(1) not_Cons_self2 trace.inject(1))
 by (metis ε_def append_is_empty(1) list.discI trace.inject(1))

  thead_append:
 by (cases x

  thead_ \<>x
 apply (simp add: prefixes_def non_empty_trace)
 using thead_append [where x = Finite [_], simplified ε_def, simplified]
 by (metis append_is_empty(1) thead_append)

  compr'_inter_thead:
 d {x. x ε P (thead x)} usingdp definsimplidefi
java.lang.NullPointerException
  (rule antisym)
  fix x t
 assume
 and t. x t (x. x ε Q (thead x)
 and
 then have
 by (cases
  then show d {x. x ε P (thead x)} d {x. x ε Q (thead x)} shows
 by (clarsimp simp: set_eq_iff subset_iff dprefixes_def prefix_closure_def prefixes_extensions[THEN sym])
 
  fix x
 assume
 then have (t. x \<  case
 x\in t \<ongrightarrow 
 by fastforce }
 then show d {x. x ε P (thead x)} d {x. x ε Q (thead x)} 🪙 d {x. x ε P (thead x) Q (thead x)}
 by (clarsimp simp: set_eq_iff subset_iff dprefixes_def prefix_closure_def prefixes_extensions[THEN sym])
 

  compr :: ('a trace ==> bool) ==> 'a dset
 by (rule definitive_dprefixes)


  complement :: 'a dset ==> 'a dset exI[where x=\open λ
 by (rule definitive_dprefixes)


  property_complement[simp]: property (cedauto
 by (transfer, force simp: infinites_dprefixes[simplified infinites_def] infinites_def
 split: trace.split_asm trace.split)

 

Messung V0.5 in Prozent
C=84 H=97 G=90

¤ Dauer der Verarbeitung: 0.21 Sekunden  ¤

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

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.