src/HOL/IMP/Abs_Int1_ivl.thy
changeset 46039 698de142f6f9
parent 46028 9f113cdf3d66
child 46063 81ebd0cdb300
--- a/src/HOL/IMP/Abs_Int1_ivl.thy	Thu Dec 29 14:44:44 2011 +0100
+++ b/src/HOL/IMP/Abs_Int1_ivl.thy	Thu Dec 29 17:43:40 2011 +0100
@@ -8,7 +8,7 @@
 
 datatype ivl = I "int option" "int option"
 
-definition "rep_ivl i = (case i of
+definition "\<gamma>_ivl i = (case i of
   I (Some l) (Some h) \<Rightarrow> {l..h} |
   I (Some l) None \<Rightarrow> {l..} |
   I None (Some h) \<Rightarrow> {..h} |
@@ -26,14 +26,14 @@
 definition "num_ivl n = {n\<dots>n}"
 
 definition
-  [code_abbrev]: "contained_in i k \<longleftrightarrow> k \<in> rep_ivl i"
+  [code_abbrev]: "contained_in i k \<longleftrightarrow> k \<in> \<gamma>_ivl i"
 
 lemma contained_in_simps [code]:
   "contained_in (I (Some l) (Some h)) k \<longleftrightarrow> l \<le> k \<and> k \<le> h"
   "contained_in (I (Some l) None) k \<longleftrightarrow> l \<le> k"
   "contained_in (I None (Some h)) k \<longleftrightarrow> k \<le> h"
   "contained_in (I None None) k \<longleftrightarrow> True"
-  by (simp_all add: contained_in_def rep_ivl_def)
+  by (simp_all add: contained_in_def \<gamma>_ivl_def)
 
 instantiation option :: (plus)plus
 begin
@@ -56,8 +56,8 @@
   (case l of Some l \<Rightarrow> (case h of Some h \<Rightarrow> h<l | None \<Rightarrow> False) | None \<Rightarrow> False)"
 by(auto split:option.split)
 
-lemma [simp]: "is_empty i \<Longrightarrow> rep_ivl i = {}"
-by(auto simp add: rep_ivl_def split: ivl.split option.split)
+lemma [simp]: "is_empty i \<Longrightarrow> \<gamma>_ivl i = {}"
+by(auto simp add: \<gamma>_ivl_def split: ivl.split option.split)
 
 definition "plus_ivl i1 i2 = (if is_empty i1 | is_empty i2 then empty else
   case (i1,i2) of (I l1 h1, I l2 h2) \<Rightarrow> I (l1+l2) (h1+h2))"
@@ -154,9 +154,9 @@
 definition "minus_ivl i1 i2 = (if is_empty i1 | is_empty i2 then empty else
   case (i1,i2) of (I l1 h1, I l2 h2) \<Rightarrow> I (l1-h2) (h1-l2))"
 
-lemma rep_minus_ivl:
-  "n1 : rep_ivl i1 \<Longrightarrow> n2 : rep_ivl i2 \<Longrightarrow> n1-n2 : rep_ivl(minus_ivl i1 i2)"
-by(auto simp add: minus_ivl_def rep_ivl_def split: ivl.splits option.splits)
+lemma gamma_minus_ivl:
+  "n1 : \<gamma>_ivl i1 \<Longrightarrow> n2 : \<gamma>_ivl i2 \<Longrightarrow> n1-n2 : \<gamma>_ivl(minus_ivl i1 i2)"
+by(auto simp add: minus_ivl_def \<gamma>_ivl_def split: ivl.splits option.splits)
 
 
 definition "filter_plus_ivl i i1 i2 = ((*if is_empty i then empty else*)
@@ -170,26 +170,26 @@
          I (max_option False (l1 + Some 1) l2) h2)
    else (I (max_option False l1 l2) h1, I l2 (min_option True h1 h2)))"
 
-interpretation Val_abs rep_ivl num_ivl plus_ivl
+interpretation Val_abs \<gamma>_ivl num_ivl plus_ivl
 defines aval_ivl is aval'
 proof
   case goal1 thus ?case
-    by(auto simp: rep_ivl_def le_ivl_def le_option_def split: ivl.split option.split if_splits)
+    by(auto simp: \<gamma>_ivl_def le_ivl_def le_option_def split: ivl.split option.split if_splits)
 next
-  case goal2 show ?case by(simp add: rep_ivl_def Top_ivl_def)
+  case goal2 show ?case by(simp add: \<gamma>_ivl_def Top_ivl_def)
 next
-  case goal3 thus ?case by(simp add: rep_ivl_def num_ivl_def)
+  case goal3 thus ?case by(simp add: \<gamma>_ivl_def num_ivl_def)
 next
   case goal4 thus ?case
-    by(auto simp add: rep_ivl_def plus_ivl_def split: ivl.split option.splits)
+    by(auto simp add: \<gamma>_ivl_def plus_ivl_def split: ivl.split option.splits)
 qed
 
-interpretation Val_abs1_rep rep_ivl num_ivl plus_ivl
+interpretation Val_abs1_gamma \<gamma>_ivl num_ivl plus_ivl
 proof
   case goal1 thus ?case
-    by(auto simp add: rep_ivl_def meet_ivl_def empty_def min_option_def max_option_def split: ivl.split option.split)
+    by(auto simp add: \<gamma>_ivl_def meet_ivl_def empty_def min_option_def max_option_def split: ivl.split option.split)
 next
-  case goal2 show ?case by(auto simp add: bot_ivl_def rep_ivl_def empty_def)
+  case goal2 show ?case by(auto simp add: bot_ivl_def \<gamma>_ivl_def empty_def)
 qed
 
 lemma mono_minus_ivl:
@@ -202,19 +202,19 @@
 
 
 interpretation
-  Val_abs1 rep_ivl num_ivl plus_ivl filter_plus_ivl filter_less_ivl
+  Val_abs1 \<gamma>_ivl num_ivl plus_ivl filter_plus_ivl filter_less_ivl
 proof
   case goal1 thus ?case
     by(auto simp add: filter_plus_ivl_def)
-      (metis rep_minus_ivl add_diff_cancel add_commute)+
+      (metis gamma_minus_ivl add_diff_cancel add_commute)+
 next
   case goal2 thus ?case
     by(cases a1, cases a2,
-      auto simp: rep_ivl_def min_option_def max_option_def le_option_def split: if_splits option.splits)
+      auto simp: \<gamma>_ivl_def min_option_def max_option_def le_option_def split: if_splits option.splits)
 qed
 
 interpretation
-  Abs_Int1 rep_ivl num_ivl plus_ivl filter_plus_ivl filter_less_ivl
+  Abs_Int1 \<gamma>_ivl num_ivl plus_ivl filter_plus_ivl filter_less_ivl
 defines afilter_ivl is afilter
 and bfilter_ivl is bfilter
 and step_ivl is step'
@@ -226,7 +226,7 @@
 text{* Monotonicity: *}
 
 interpretation
-  Abs_Int1_mono rep_ivl num_ivl plus_ivl filter_plus_ivl filter_less_ivl
+  Abs_Int1_mono \<gamma>_ivl num_ivl plus_ivl filter_plus_ivl filter_less_ivl
 proof
   case goal1 thus ?case
     by(auto simp: plus_ivl_def le_ivl_def le_option_def empty_def split: if_splits ivl.splits option.splits)