# HG changeset patch # User wenzelm # Date 1451503842 -3600 # Node ID 133a8a888ae89d72e1e91ec80bd7117aaf1ae823 # Parent 89206877f0ee1f3cc7121989aaf25431aa4a2a3d clarified print modes; more symbols; diff -r 89206877f0ee -r 133a8a888ae8 src/HOL/MicroJava/BV/JVMType.thy --- a/src/HOL/MicroJava/BV/JVMType.thy Wed Dec 30 20:24:43 2015 +0100 +++ b/src/HOL/MicroJava/BV/JVMType.thy Wed Dec 30 20:30:42 2015 +0100 @@ -38,29 +38,22 @@ "sup S maxs maxr == snd(snd(sl S maxs maxr))" definition sup_ty_opt :: "['code prog,ty err,ty err] \ bool" - ("_ |- _ <=o _" [71,71] 70) where + ("_ \ _ <=o _" [71,71] 70) where "sup_ty_opt G == Err.le (subtype G)" definition sup_loc :: "['code prog,locvars_type,locvars_type] \ bool" - ("_ |- _ <=l _" [71,71] 70) where + ("_ \ _ <=l _" [71,71] 70) where "sup_loc G == Listn.le (sup_ty_opt G)" definition sup_state :: "['code prog,state_type,state_type] \ bool" - ("_ |- _ <=s _" [71,71] 70) where + ("_ \ _ <=s _" [71,71] 70) where "sup_state G == Product.le (Listn.le (subtype G)) (sup_loc G)" definition sup_state_opt :: "['code prog,state_type option,state_type option] \ bool" - ("_ |- _ <=' _" [71,71] 70) where + ("_ \ _ <=' _" [71,71] 70) where "sup_state_opt G == Opt.le (sup_state G)" -notation (xsymbols) - sup_ty_opt ("_ \ _ <=o _" [71,71] 70) and - sup_loc ("_ \ _ <=l _" [71,71] 70) and - sup_state ("_ \ _ <=s _" [71,71] 70) and - sup_state_opt ("_ \ _ <=' _" [71,71] 70) - - lemma JVM_states_unfold: "states S maxs maxr == err(opt((\{list n (types S) |n. n <= maxs}) \ list maxr (err(types S))))" diff -r 89206877f0ee -r 133a8a888ae8 src/HOL/MicroJava/BV/Typing_Framework_JVM.thy --- a/src/HOL/MicroJava/BV/Typing_Framework_JVM.thy Wed Dec 30 20:24:43 2015 +0100 +++ b/src/HOL/MicroJava/BV/Typing_Framework_JVM.thy Wed Dec 30 20:30:42 2015 +0100 @@ -182,7 +182,7 @@ by (induct n, auto) lemma lesubstep_type_simple: - "a <=[Product.le (op =) r] b \ a <=|r| b" + "a <=[Product.le (op =) r] b \ a \|r| b" apply (unfold lesubstep_type_def) apply clarify apply (simp add: set_conv_nth) @@ -202,7 +202,7 @@ lemma eff_mono: "\p < length bs; s <=_(sup_state_opt G) t; app (bs!p) G maxs rT pc et t\ - \ eff (bs!p) G p et s <=|sup_state_opt G| eff (bs!p) G p et t" + \ eff (bs!p) G p et s \|sup_state_opt G| eff (bs!p) G p et t" apply (unfold eff_def) apply (rule lesubstep_type_simple) apply (rule le_list_appendI) diff -r 89206877f0ee -r 133a8a888ae8 src/HOL/MicroJava/DFA/LBVComplete.thy --- a/src/HOL/MicroJava/DFA/LBVComplete.thy Wed Dec 30 20:24:43 2015 +0100 +++ b/src/HOL/MicroJava/DFA/LBVComplete.thy Wed Dec 30 20:30:42 2015 +0100 @@ -69,7 +69,7 @@ lemma (in lbv) merge_mono: - assumes less: "ss2 <=|r| ss1" + assumes less: "ss2 \|r| ss1" assumes x: "x \ A" assumes ss1: "snd`set ss1 \ A" assumes ss2: "snd`set ss2 \ A" @@ -131,7 +131,7 @@ assumes s2: "s2 \ A" shows "wti c pc s2 <=_r wti c pc s1" (is "?s2' <=_r ?s1'") proof - - from mono pc s2 less have "step pc s2 <=|r| step pc s1" by (rule monoD) + from mono pc s2 less have "step pc s2 \|r| step pc s1" by (rule monoD) moreover from cert B_A pc have "c!Suc pc \ A" by (rule cert_okD3) moreover diff -r 89206877f0ee -r 133a8a888ae8 src/HOL/MicroJava/DFA/Semilat.thy --- a/src/HOL/MicroJava/DFA/Semilat.thy Wed Dec 30 20:24:43 2015 +0100 +++ b/src/HOL/MicroJava/DFA/Semilat.thy Wed Dec 30 20:30:42 2015 +0100 @@ -20,12 +20,12 @@ "lesssub" :: "'a \ 'a ord \ 'a \ bool" "plussub" :: "'a \ ('a \ 'b \ 'c) \ 'b \ 'c" (*<*) -notation +notation (ASCII) "lesub" ("(_ /<='__ _)" [50, 1000, 51] 50) and "lesssub" ("(_ /<'__ _)" [50, 1000, 51] 50) and "plussub" ("(_ /+'__ _)" [65, 1000, 66] 65) (*>*) -notation (xsymbols) +notation "lesub" ("(_ /\\<^bsub>_\<^esub> _)" [50, 0, 51] 50) and "lesssub" ("(_ /\\<^bsub>_\<^esub> _)" [50, 0, 51] 50) and "plussub" ("(_ /\\<^bsub>_\<^esub> _)" [65, 0, 66] 65) diff -r 89206877f0ee -r 133a8a888ae8 src/HOL/MicroJava/DFA/SemilatAlg.thy --- a/src/HOL/MicroJava/DFA/SemilatAlg.thy Wed Dec 30 20:24:43 2015 +0100 +++ b/src/HOL/MicroJava/DFA/SemilatAlg.thy Wed Dec 30 20:30:42 2015 +0100 @@ -10,8 +10,8 @@ begin definition lesubstep_type :: "(nat \ 's) list \ 's ord \ (nat \ 's) list \ bool" - ("(_ /<=|_| _)" [50, 0, 51] 50) where - "x <=|r| y \ \(p,s) \ set x. \s'. (p,s') \ set y \ s <=_r s'" + ("(_ /\|_| _)" [50, 0, 51] 50) where + "x \|r| y \ \(p,s) \ set x. \s'. (p,s') \ set y \ s <=_r s'" primrec plusplussub :: "'a list \ ('a \ 'a \ 'a) \ 'a \ 'a" ("(_ /++'__ _)" [65, 1000, 66] 65) where "[] ++_f y = y" @@ -25,14 +25,14 @@ definition mono :: "'s ord \ 's step_type \ nat \ 's set \ bool" where "mono r step n A == - \s p t. s \ A \ p < n \ s <=_r t \ step p s <=|r| step p t" + \s p t. s \ A \ p < n \ s <=_r t \ step p s \|r| step p t" lemma pres_typeD: "\ pres_type step n A; s\A; pset (step p s) \ \ s' \ A" by (unfold pres_type_def, blast) lemma monoD: - "\ mono r step n A; p < n; s\A; s <=_r t \ \ step p s <=|r| step p t" + "\ mono r step n A; p < n; s\A; s <=_r t \ \ step p s \|r| step p t" by (unfold mono_def, blast) lemma boundedD: @@ -40,11 +40,11 @@ by (unfold bounded_def, blast) lemma lesubstep_type_refl [simp, intro]: - "(\x. x <=_r x) \ x <=|r| x" + "(\x. x <=_r x) \ x \|r| x" by (unfold lesubstep_type_def) auto lemma lesub_step_typeD: - "a <=|r| b \ (x,y) \ set a \ \y'. (x, y') \ set b \ y <=_r y'" + "a \|r| b \ (x,y) \ set a \ \y'. (x, y') \ set b \ y <=_r y'" by (unfold lesubstep_type_def) blast diff -r 89206877f0ee -r 133a8a888ae8 src/HOL/MicroJava/DFA/Typing_Framework_err.thy --- a/src/HOL/MicroJava/DFA/Typing_Framework_err.thy Wed Dec 30 20:24:43 2015 +0100 +++ b/src/HOL/MicroJava/DFA/Typing_Framework_err.thy Wed Dec 30 20:30:42 2015 +0100 @@ -86,7 +86,7 @@ lemma map_snd_lessI: - "x <=|r| y \ map_snd OK x <=|Err.le r| map_snd OK y" + "x \|r| y \ map_snd OK x \|Err.le r| map_snd OK y" apply (induct x) apply (unfold lesubstep_type_def map_snd_def) apply auto @@ -95,7 +95,7 @@ lemma mono_lift: "order r \ app_mono r app n A \ bounded (err_step n app step) n \ - \s p t. s \ A \ p < n \ s <=_r t \ app p t \ step p s <=|r| step p t \ + \s p t. s \ A \ p < n \ s <=_r t \ app p t \ step p s \|r| step p t \ mono (Err.le r) (err_step n app step) n (err A)" apply (unfold app_mono_def mono_def err_step_def) apply clarify diff -r 89206877f0ee -r 133a8a888ae8 src/HOL/MicroJava/J/Conform.thy --- a/src/HOL/MicroJava/J/Conform.thy Wed Dec 30 20:24:43 2015 +0100 +++ b/src/HOL/MicroJava/J/Conform.thy Wed Dec 30 20:30:42 2015 +0100 @@ -9,41 +9,32 @@ type_synonym 'c env' = "'c prog \ (vname \ ty)" -- "same as @{text env} of @{text WellType.thy}" -definition hext :: "aheap => aheap => bool" ("_ <=| _" [51,51] 50) where - "h<=|h' == \a C fs. h a = Some(C,fs) --> (\fs'. h' a = Some(C,fs'))" +definition hext :: "aheap => aheap => bool" ("_ \| _" [51,51] 50) where + "h\|h' == \a C fs. h a = Some(C,fs) --> (\fs'. h' a = Some(C,fs'))" definition conf :: "'c prog => aheap => val => ty => bool" - ("_,_ |- _ ::<= _" [51,51,51,51] 50) where - "G,h|-v::<=T == \T'. typeof (map_option obj_ty o h) v = Some T' \ G\T'\T" + ("_,_ \ _ ::\ _" [51,51,51,51] 50) where + "G,h\v::\T == \T'. typeof (map_option obj_ty o h) v = Some T' \ G\T'\T" definition lconf :: "'c prog => aheap => ('a \ val) => ('a \ ty) => bool" - ("_,_ |- _ [::<=] _" [51,51,51,51] 50) where - "G,h|-vs[::<=]Ts == \n T. Ts n = Some T --> (\v. vs n = Some v \ G,h|-v::<=T)" + ("_,_ \ _ [::\] _" [51,51,51,51] 50) where + "G,h\vs[::\]Ts == \n T. Ts n = Some T --> (\v. vs n = Some v \ G,h\v::\T)" -definition oconf :: "'c prog => aheap => obj => bool" ("_,_ |- _ [ok]" [51,51,51] 50) where - "G,h|-obj [ok] == G,h|-snd obj[::<=]map_of (fields (G,fst obj))" +definition oconf :: "'c prog => aheap => obj => bool" ("_,_ \ _ \" [51,51,51] 50) where + "G,h\obj \ == G,h\snd obj[::\]map_of (fields (G,fst obj))" -definition hconf :: "'c prog => aheap => bool" ("_ |-h _ [ok]" [51,51] 50) where - "G|-h h [ok] == \a obj. h a = Some obj --> G,h|-obj [ok]" +definition hconf :: "'c prog => aheap => bool" ("_ \h _ \" [51,51] 50) where + "G\h h \ == \a obj. h a = Some obj --> G,h\obj \" definition xconf :: "aheap \ val option \ bool" where "xconf hp vo == preallocated hp \ (\ v. (vo = Some v) \ (\ xc. v = (Addr (XcptRef xc))))" -definition conforms :: "xstate => java_mb env' => bool" ("_ ::<= _" [51,51] 50) where - "s::<=E == prg E|-h heap (store s) [ok] \ - prg E,heap (store s)|-locals (store s)[::<=]localT E \ +definition conforms :: "xstate => java_mb env' => bool" ("_ ::\ _" [51,51] 50) where + "s::\E == prg E\h heap (store s) \ \ + prg E,heap (store s)\locals (store s)[::\]localT E \ xconf (heap (store s)) (abrupt s)" -notation (xsymbols) - hext ("_ \| _" [51,51] 50) and - conf ("_,_ \ _ ::\ _" [51,51,51,51] 50) and - lconf ("_,_ \ _ [::\] _" [51,51,51,51] 50) and - oconf ("_,_ \ _ \" [51,51,51] 50) and - hconf ("_ \h _ \" [51,51] 50) and - conforms ("_ ::\ _" [51,51] 50) - - subsection "hext" lemma hextI: