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

Benutzer

SSL ContextFacts.thy

  Sprache: Isabelle
 

subsection

  ContextFacts
 
 Reduction
 Types
 

 , we may wonder when instantiating the hole in a con is type-preserving.
 To assess this, we define a typing judgement for contexts.
imReduction

  typing_ctxt : "(nat \Rightarrow> type) ==> type) ==> type ==> bool"
 (
 
 type_ctxtEmpty [intro!]: "Γ, \elta> ctxt : T <== T" |
 type_ctxtApp [intro!]: "[ Γ, Δ<><xT2) <==Gamma>, Δ\rbrkk> \<Longrightarrow\Γ, Δ cx>t): T <==

  typing_ctxt_elims [elim!]:
 "Γ, Δ c: "(nat ==> (nat ==>)\Rightarrow ctxt \Rightarrow type ==> bool"
 "\, Δtt (E t) : T <==

  typing_ctxt_correct1:
 shows "Γ, Δ !]:"\<Gamma,>\^>x\^subt
 by(induction E arbitrary: Γ Δ T r; force)

  typing_ctxt_correct2:
 shows "Γ, Δ ctxt E : T <== U ==> Γ, Δ T r : U ==> Γ, Δ T (ctxt_subst E r) : T"
 by(induction arbitrary: r rule: typ [intro!]: "\lbrakk🚫

  ctxt_subst_basecase:
 "n. c[n = n ]C = c"
 "n. t[n = n ]T = t"
 by(induct c and t) (auto)

  ctxt_subst_caseApp:
 "n E s. (c[n=n (liftM_ctxt E n)]C)[n=n ( \ (liftM_trm s n))]C = c[n=n ((liftM_ctxt E n) \ (liftM_trm s n))]C"
 "n E s. (t[n=n (liftM_ctxt E n)]T)[n=n ( \ (liftM_trm s n))]T = t[n=n ((liftM_ctxt E n) \ (liftM_trm s n))]T"
 by (induction c and t) (auto simp add: liftLM_comm_ctxt liftLM_comm liftMM_comm_ctxt liftMM_comm liftM_ctxt_struct_subst)

  ctxt_subst:
 assumes "Γ, Δ ctxt E : U <== T"
 shows "(ctxt_subst E (μ T : c)) <----* μ U : (c[0 = 0 (liftM_ctxt E 0)]C)"
  assms proof(induct E arbitrary: U T Γ Δ c)
 case ContextEmpty
 have ctxtEmpty_inv: "Γ, Δ ctxt : U <== T ==> U = T"
 by(cases Γ Δ "" rule: typing_ctxt.cases, fastforce, simp)
 show ?case
 using ContextEmpty by (clarsimp dest!: ctxtEmpty_inv simp: ctxt_subst_basecase)
 
 case (ContextApp E x)
 then show ?case
 by clarsimp (rule rtc_term_trans, rule rtc_appL, assumption, rule step_term, force, clarsimp simp add: ctxt_subst_caseApp(1))
 
 
 

Messung V0.5 in Prozent
C=87 H=86 G=86

¤ Dauer der Verarbeitung: 0.2 Sekunden  ¤

*Bot Zugriff






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

letze Version der Autor Authoringsoftware

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge