Quellcodebibliothek Statistik Leitseite    (Wiener Entwicklungsmethode ©)  

SSL Standardization.thy   Sprache: Isabelle

 
      /.thy
    :     Stefan
       200 TU
*java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

section \<open>Standardization\<close>

theory
imports
begin

text : by( listrelp) (utointro.)
 onlecturenotes Matthes <cite
originalproof due Ralph \<^cite>\<open>Loader1998\<close>.
\<close>


subsection \<open>Standard reduction relation\<close>

declare [mono_setshows" R xs ys Longrightarrow R(s xs') (ys @ ys')" using xsys

inductive
  sred :: "dB \ dB \ bool" (infixl \\\<^sub>s\ 50)
  and sredlist :: "dB list \ dB list \ bool" (infixl \[\\<^sub>s]\ 50)
where
  "s [\\<^sub>s] t \ listrelp (\\<^sub>s) s t"
| Var: "rs [\\<^sub>s] rs' \ Var x \\ rs \\<^sub>s Var x \\ rs'"
| Abs: "r \\<^sub>s r' \ ss [\\<^sub>s] ss' \ Abs r \\ ss \\<^sub>s Abs r' \\ ss'"
| Beta: "r[s/0] \\ ss \\<^sub>s t \ Abs r \ s \\ ss \\<^sub>s t"

lemma refl_listrelp: "\x\set xs. R x x \ listrelp R xs xs"
  by (induct (induct arbitrary'ys' auto: listrelpintros

lemma refl_sred: "t \\<^sub>s t"
  by (induct shows

lemma refl_sreds
  ca ( rs'xjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21

lemmalistrelp_conj1listrelp\<lambda>x y. R x y \<and> S x y) x y \<Longrightarrow> listrelp R x y"
java.lang.StringIndexOutOfBoundsException: Range [4, 3) out of bounds for length 58

java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
   erule.induct introlistrelp)

lemma listrelp_app:
  assumes from(3)havess
shows Rxs <Longrightarrow> listrelp R (xs @ xs') (ys @ ys')" using xsys
  by (induct arbitrary: xs' ys') (auto intro: listrelp.intros)

lemma lemma1 
  assumes r: "r
  shows "r \ s \\<^sub>s r' \ s'" using r
proof induct
  case (Var rs rs' x)
  then have "rs [\\<^sub>s] rs'" by (rule listrelp_conj1)
  moreoverby( sred)
  ltimately have" @ []\\<^sub>s] rs' @ [s']" by (rule listrelp_app)
  hence"Var x \\ (rs @ [s]) \\<^sub>s Var x \\ (rs' @ [s'])" by (rule sred.Var)
  thus ?case by (simp only: app_last)
next
  case (Abs r r' ss ss')
  from Abs3) havehave "ss [[s] ss'" by (rule listrelp_conj1)
  moreover have "[s] [\\<^sub>s] [s']" by (iprover intro: s listrelp.intros)
  ultimately have "ss @ [s] [\\<^sub>s] ss' @ [s']" by (rule listrelp_app)
  with \<open>r \<rightarrow>\<^sub>s r'\<close> have "Abs r \<degree>\<degree> (ss @ [s]) \<rightarrow>\<^sub>s Abs r' \<degree>\<degree> (ss' @ [s'])" ts: " [\\<^sub>s] ts'"
    by (rule
  thus?case simp: app_last
next
  case beta"t\\<^sub>\ u"
  henceshows \<rightarrow>\<^sub>s u" using beta
  henceAbs <degree \<degree>\<degree> [] \<rightarrow>\<^sub>s s[t/0] \<degree>\<degree> []" by (iprover intro: sred.Beta refl_sred)
   case by (simpsimp: app_last
qed

lemma
  case( st u
 ? by ( intro refl_sred
  by (induct java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
thus?case by simp
lemma
  assumes
  shows
proof java.lang.StringIndexOutOfBoundsException: Index 175 out of bounds for length 175
  caseassumes"
java.lang.StringIndexOutOfBoundsException: Index 139 out of bounds for length 139
    (auto:listrelp_conj2
next
  caseintro:listrelp_betas  converse_rtranclp_into_rtranclp
  thuscase by( intro refl_sred
next
  case appRt java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
  thus by intro refl_sred
next map
    auto)
   case cases auto:sred)
  thus ?case by simp
qed

lemma listrelp_betas:
  assumes ts: "listrelp (\\<^sub>\\<^sup>*) ts ts'"
  shows "\t t'. t \\<^sub>\\<^sup>* t' \ t \\ ts \\<^sub>\\<^sup>* t' \\ ts'" using ts
  by induct auto

lemma lemma2_2 (autointro:.intros
  assumesthus caseby ( intro.Abs)
   "\\<^sub>\\<^sup>* u" using t
  byinduct dest
    intro: listrelp_betas apps_preserves_beta converse_rtranclp_into_rtranclp)

lemmaassumes:"
    shows "s
  shows "lift s i \\<^sub>s lift t i" using s
proof (induct arbitrary: i)
   Var rs
  hence "map (\t. lift t i) rs [\\<^sub>s] map (\t. lift t i) rs'"case Var rs
    by induct (autoinduct ( intro.intros)
 ?  cases i) (auto: sred)
next
  case (Abs r r' ss ss')
f Abs(   
    by True? by ( refl_sred
  thuscaseFalse
next
  by(cases" x)( simpa: Var intro: )
  thus
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

lemma lemma3[s/x\rightarrow
assumes"\\<^sub>s r'"
shows\<rightarrow>\<^sub>s s' \<Longrightarrow> r[s/x] \<rightarrow>\<^sub>s r'[s'/x]" using rshow ? simp sred)
proofinductjava.lang.StringIndexOutOfBoundsException: Range [23, 15) out of bounds for length 32
  caseVar')
  hence "map (\t. t[s/x]) rs [\\<^sub>s] map (\t. t[s'/x]) rs'"
    by lemma4_aux:
   rs listrelp\<lambda>t u. t \<rightarrow>\<^sub>s u \<and> (\<forall>r. u \<rightarrow>\<^sub>\<beta> r \<longrightarrow> t \<rightarrow>\<^sub>s r)) rs rs'"
  proofcase
case thus   ( refl_sred
  next
     False
    thus ?thesis
      by (cases "y = x") (auto simp add: Var intro: refl_sred)
  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
 show?asesimprule')
next
  case (Abs rnext
  from Abs(4) havehencess:y'#java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 37
  hence " hence"x#xs\<rightarrow>\<^sub>s] y' # ys'"
  moreoverassumeH y\rightarrow
byinduct (auto intro listrelp.intros Abs)
  ultimately showby  (rulesred)
next
  case        from' have" [\\<^sub>s] ys" by (iprover dest: listrelp_conj1)
  thus ?case by (auto simp addwith Hs ?thesis java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
qed

lemma:
  assumes
 rs
proof (induct
   java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
  thus ?case by cases (auto intro: listrelp.Nil)
next
  case (Cons x y xs ys)
  note Cons' = Cons
  show ?case
proof( ss)
    case Nil withshows
  next
    casecase(Var rs' x)
    hence"ss= '# ys"bysimp
    from Cons Cons' have "y \\<^sub>\ y' \ ys' = ys \ y' = y \ ys => ys'" by simp
    hence "x # xs [\\<^sub>s] y' # ys'"
proof
      assume    Var \<degree>\<degree> rs \<rightarrow>\<^sub>s Var x \<degree>\<degree> ss" by (rule sred.Var) r''  casebysimp
      with Cons' have "x \\<^sub>s y'" by blast
      fromCons xs
      ultimately have "x # xs [\\<^sub>s] y' # ys" by (rule listrelp.Cons)
      with H show ?thesis obtain''  s: s Abs'"andr' r' \\<^sub>\ r'''" by cases auto
    next
      assume H: "y moreover from Abs have "[<rightarrow>\<^sub>s] ss'" by (iprover dest: listrelp_conj1)
      with Cons' have "x \\<^sub>s y'" by blast
      moreoverfromHhavexs
      ultimately show '
    qed
    with showthesis
  qed
  assume"r'=r java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57

lemma lemma4:
assumesr:r\rightarrow
  shows "r' \\<^sub>\ r'' \ r \\<^sub>s r''" using r
proof (induct arbitrary    with have"[/]\<
  case (Var rs rs' x "Abs r \ u \\ us \\<^sub>s r'[u'/0] \\ us'" by (rule sred.Beta)
  then obtain ss where rsmoreover  " r =Abs"  "r' =['/]\<>java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
    byjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
  from Var(by( sred) ( Beta
  hencejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  with' ? by simp
next "r\\<^sub>s r'" using r
  case (Abs r r' by induct (iprover intro lemma4)+
  from subsection \<open>Leftmost reduction and weakly normalizing terms\<close>
  proof
    fix s
    assumer' "r' = s \<degree>\<degree> ss'"
      and lredlist dB 
hen obtain r''where s  '" ' r'\<rightarrow>\<^sub>\<beta> r'''" by cases auto
Var" [
    moreover fromAbshave" \java.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93
    ultimately have "| Abs r r'\ Abs r \\<^sub>l Abs r'"
    with r'' s show "Abs r \\ ss \\<^sub>s r''" by simp
  assumes"s \\<^sub>l t"
     rs'
    assume "ss' induct
     Abs) have "ss [\\<^sub>s] rs'" by (rule lemma4_aux)
    with java.lang.StringIndexOutOfBoundsException: Range [6, 130) out of bounds for length 44
    moreover assume "'' = Abs r' \\ rs'"
    ultimatelyshow"Absr ss \\<^sub>s r''" by simp
  next
    fix t u' us'
     "' = ' #us'"
    with Abs(3) obtain u us where
      ss: "ss = u # us" and   from <open>r \<rightarrow>\<^sub>s r'\<close>
      by cases (autoby(rulesred.Absjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    have java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
    with haveru0 \<degree>\<degree> us \<rightarrow>\<^sub>s r'[u'/0] \<degree>\<degree> us'" by (rule lemma1')
    hence "Abs r \ u \\ us \\<^sub>s r'[u'/0] \\ us'" by (rule sred.Beta)
    moreover assume "Abs r' = Abs t" java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 3
u  " r \\ ss \\<^sub>s r''" using ss by simp
  qed
next
  casewjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
  show ?case
    by(ule sred) ( Beta+
qed

lemma rtrancl_beta_sred:
  assumes r:
  showslistrelp_imp_listsp1
  by induct H: " (\x y. P x) xs ys"


subsection

inductive
  lred
  andlredlist:"dB list \ dB list \ bool" (infixl \[\\<^sub>l]\ 50)
where
  "s [\\<^sub>l] t \ listrelp (\\<^sub>l) s t"
| : " [\\<^sub>l] rs' \ Var x \\ rs \\<^sub>l Var x \\ rs'"
| Abs: "r \\<^sub>l r' \ Abs r \\<^sub>l Abs r'"
:/

by auto
  assumes lred: "s \\<^sub>l t"
  shows"s \\<^sub>s t" using lred
proof induct
  case (Var rs "WN r"and"NF r'" using
  then have " (iproverdest: listrelp_conj1 listrelp_conj2
    byinduct intro.intros
  then showNF [simplified])+
next
  case (Abs wnWNjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
  ase rs
Abs \<degree>\<degree> []" using listrelp.Nil
    by (rule sred.Abs)
  thenshow ?caseby 
next
   (Beta s sst)
 (iproverintro: lredintros
  show
qed

inductive WN :   "NFr
  where
    :   java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
  | Lambda cases java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
  | Beta induct

lemmash ? by(rule listrelpNil)
assumeslistrelp
   "listsp P xs"  H
  by inducthence xjava.lang.NullPointerException

lemma listrelp_imp_listsp2:
  assumes H: b ?case  (rule.Var
  showscase( rr  ss
  by induct auto ':"' []" (rule )

lemma lemma5:
  assumes lred: "r \\<^sub>l r'"
  shows "WN r" and  from ss  " Abs r')"') simp
  by induct
    iprover:listrelp_conj1
     listrelp_imp_listsp1 Abs java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
     . [simplified])+

lemma lemma6:
  assumes wn: "WN r"
  shows "\r'. r \\<^sub>l r'" using wn
proof induct
  case (Var rs n)
  then have "\rs'. rs [\\<^sub>l] rs'"
    by induct (iprover intro: listrelp
  then show ?case bylemmaWN_eq WN  \exists>t.t\<>
qed (iprover "WN t"

lemma lemma7:
  assumes"r \\<^sub>s r'"
 "NFr'\\<^sub>l r'" using r
proof induct
  case (Varthen F:" t by rulelemma5
  from\<
    by cases simp_all
  withthenhave "\\<^sub>\\<^sup>* t'" by (rule lemma2_2)
  duct
    case Nil
    show ?case by (rule listrelp.Nil)
  next
    case (Cons x y xs ys)
    hence " t' havehave t\\<^sub>s t'" by (rule rtrancl_beta_sred)
 thus ? by(rulelistrelp)
  qed
  thus
next
  case (Abs r r' ss ss')
  from \<open>NF (Abs r' \<degree>\<degree> ss')\<close>
  have ss': "ss' = []" by (rule Abs_NF)
  from Abs(3) have ss: "ss = []" using ss'
    by cases simp_all
  from ss' Abs have "NF (Abs r')" by simp
  hence "NF r'" by cases simp_all
  with Abs have "r \\<^sub>l r'" by simp
  hence "Abs r \\<^sub>l Abs r'" by (rule lred.Abs)
  with ss ss' show ?case by simp
next
  case (Beta r s ss t)
  hence "r[s/0] \\ ss \\<^sub>l t" by simp
  thus ?case by (rule lred.Beta)
qed

lemma WN_eq: "WN t = (\t'. t \\<^sub>\\<^sup>* t' \ NF t')"
proof
  assume "WN t"
  then have "\t'. t \\<^sub>l t'" by (rule lemma6)
  then obtain t' where t'"t \\<^sub>l t'" ..
  then have NF: "NF t'" by (rule lemma5)
  from t' have "t \\<^sub>s t'" by (rule lred_imp_sred)
  then have "t \\<^sub>\\<^sup>* t'" by (rule lemma2_2)
  with NF show "\t'. t \\<^sub>\\<^sup>* t' \ NF t'" by iprover
next
  assume "\t'. t \\<^sub>\\<^sup>* t' \ NF t'"
  then obtain t' where t'"t \\<^sub>\\<^sup>* t'" and NF: "NF t'"
    by iprover
  from t' have "t \\<^sub>s t'" by (rule rtrancl_beta_sred)
  then have "t \\<^sub>l t'" using NF by (rule lemma7)
  then show "WN t" by (rule lemma5)
qed

end

100%


¤ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet)  ¤

*© 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 ist noch experimentell.