src/HOL/Predicate_Compile_Examples/Hotel_Example.thy
changeset 67414 c46b3f9f79ea
parent 63167 0909deb8059b
child 67613 ce654b0e6d69
equal deleted inserted replaced
67413:2555713586c8 67414:c46b3f9f79ea
    50 primrec roomk :: "event list \<Rightarrow> room \<Rightarrow> key"
    50 primrec roomk :: "event list \<Rightarrow> room \<Rightarrow> key"
    51 where
    51 where
    52   "roomk [] r = initk r"
    52   "roomk [] r = initk r"
    53 | "roomk (e#s) r = (let k = roomk s r in
    53 | "roomk (e#s) r = (let k = roomk s r in
    54     case e of Check_in g r' c \<Rightarrow> k
    54     case e of Check_in g r' c \<Rightarrow> k
    55             | Enter g r' (x,y) \<Rightarrow> if r' = r (*& x = k*) then y else k
    55             | Enter g r' (x,y) \<Rightarrow> if r' = r \<^cancel>\<open>\<and> x = k\<close> then y else k
    56             | Exit g r \<Rightarrow> k)"
    56             | Exit g r \<Rightarrow> k)"
    57 
    57 
    58 primrec isin :: "event list \<Rightarrow> room \<Rightarrow> guest set"
    58 primrec isin :: "event list \<Rightarrow> room \<Rightarrow> guest set"
    59 where
    59 where
    60   "isin [] r = {}"
    60   "isin [] r = {}"