equal
deleted
inserted
replaced
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 = {}" |