src/HOL/TLA/Stfun.thy
changeset 60588 750c533459b1
parent 60587 0318b43ee95c
child 60590 479071e8778f
--- a/src/HOL/TLA/Stfun.thy	Fri Jun 26 11:44:22 2015 +0200
+++ b/src/HOL/TLA/Stfun.thy	Fri Jun 26 14:53:15 2015 +0200
@@ -12,7 +12,7 @@
 typedecl state
 instance state :: world ..
 
-type_synonym 'a stfun = "state => 'a"
+type_synonym 'a stfun = "state \<Rightarrow> 'a"
 type_synonym stpred  = "bool stfun"
 
 
@@ -30,14 +30,14 @@
      identifies (tuples of) "base" state variables in a specification via the
      "meta predicate" basevars, which is defined here.
   *)
-  stvars    :: "'a stfun => bool"
+  stvars    :: "'a stfun \<Rightarrow> bool"
 
 syntax
-  "_PRED"   :: "lift => 'a"                          ("PRED _")
-  "_stvars" :: "lift => bool"                        ("basevars _")
+  "_PRED"   :: "lift \<Rightarrow> 'a"                          ("PRED _")
+  "_stvars" :: "lift \<Rightarrow> bool"                        ("basevars _")
 
 translations
-  "PRED P"   =>  "(P::state => _)"
+  "PRED P"   =>  "(P::state \<Rightarrow> _)"
   "_stvars"  ==  "CONST stvars"
 
 defs
@@ -50,13 +50,13 @@
   basevars_def:  "stvars vs == range vs = UNIV"
 
 
-lemma basevars: "\<And>vs. basevars vs ==> \<exists>u. vs u = c"
+lemma basevars: "\<And>vs. basevars vs \<Longrightarrow> \<exists>u. vs u = c"
   apply (unfold basevars_def)
   apply (rule_tac b = c and f = vs in rangeE)
    apply auto
   done
 
-lemma base_pair1: "\<And>x y. basevars (x,y) ==> basevars x"
+lemma base_pair1: "\<And>x y. basevars (x,y) \<Longrightarrow> basevars x"
   apply (simp (no_asm) add: basevars_def)
   apply (rule equalityI)
    apply (rule subset_UNIV)
@@ -65,7 +65,7 @@
   apply auto
   done
 
-lemma base_pair2: "\<And>x y. basevars (x,y) ==> basevars y"
+lemma base_pair2: "\<And>x y. basevars (x,y) \<Longrightarrow> basevars y"
   apply (simp (no_asm) add: basevars_def)
   apply (rule equalityI)
    apply (rule subset_UNIV)
@@ -74,7 +74,7 @@
   apply auto
   done
 
-lemma base_pair: "\<And>x y. basevars (x,y) ==> basevars x & basevars y"
+lemma base_pair: "\<And>x y. basevars (x,y) \<Longrightarrow> basevars x & basevars y"
   apply (rule conjI)
   apply (erule base_pair1)
   apply (erule base_pair2)
@@ -89,7 +89,7 @@
   apply auto
   done
 
-lemma baseE: "[| basevars v; \<And>x. v x = c ==> Q |] ==> Q"
+lemma baseE: "\<lbrakk> basevars v; \<And>x. v x = c \<Longrightarrow> Q \<rbrakk> \<Longrightarrow> Q"
   apply (erule basevars [THEN exE])
   apply blast
   done
@@ -99,7 +99,7 @@
    The following shows that there should not be duplicates in a "stvars" tuple:
 *)
 
-lemma "\<And>v. basevars (v::bool stfun, v) ==> False"
+lemma "\<And>v. basevars (v::bool stfun, v) \<Longrightarrow> False"
   apply (erule baseE)
   apply (subgoal_tac "(LIFT (v,v)) x = (True, False)")
    prefer 2