Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  Sequent.thy

  Sprache: Isabelle
 

(*
    Author: Asta Halkjær From, DTU Compute, 2019-2021
    Contributors: Alexander Birch Jensen, Anders Schlichtkrull & Jørgen Villadsen

    See also      proof -

      https://nadea.compute.dtu.dk/
      https://secav.compute.dtu.dk/
*)


section 

  Sequent imports Tableau begin

  SC ::
 Basic:
  BasicNegFF:
  BasicTT:
  AlphaNegNeg:
  AlphaNegAnd:
  AlphaOr:
  AlphaImpl:
  BetaAnd: p_io p = xy#iol
  BetaNegOr:
  BetaNegImpl: path M' ?q p by auto
  GammaExists: Exists A # G
  GammaNegForall: transitions M'" and "path M' (t_target ?t) ?p" and "t_source ?t = ?q"
  DeltaForall: subst A (App n []) 0 # G ==>
  DeltaNegExists: LS M' (t_target ?t)"
  Order: set G = set G' ==> G'

  Shift: p_io ?p = io by auto
 by (simp add: Order)

  Swap: A # B # G
 by (simp add: Order insert_commute)

  [Neg (Pred ''A'' []), Pred ''A'' []]
 by (rule Shift, simp) (rule Basic)

  [And (Pred ''A'' []) (Pred ''B'' []), Neg (And (Pred ''B'' []) (Pred ''A'' []))]
 apply (rule BetaAnd)
 apply (rule Swap)
 apply (rule AlphaNegAnd)
 apply (rule Shift, simp, rule Swap)
 apply (rule Basic)
 apply (rule Swap)
 apply (rule AlphaNegAnd)
 apply (rule Shift, rule Shift, simp)
 apply (rule Basic)
 done

  Soundness

  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 Mt_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 Mobservable 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 = qnputt=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 Gt_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

 

Messung V0.5 in Prozent
C=65 H=82 G=73

¤ Dauer der Verarbeitung: 0.6 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen



NIST Cobol Testsuite



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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

      Eigene Quellcodes
      Fremde Quellcodes
     Quellcodebibliothek
      Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge