(* Title: State based hotel key card system with "new card" Author: Tobias Nipkow, TU Muenchen Like State.thy but with additional features: cards can be lost and new ones can be issued. Cannot build on State.thy because record state needs to be extended with a new field. This would require explaining Isabelle's record inheritance. An interesting project, but not now. *) (*<*) theory NewCard imports Main begin abbreviation "SomeFloor" (‹(⌊_⌋)›) where "⌊x⌋ ≡ Some x" declare if_split_asm[split] typedecl guest typedecl key type_synonym card = "key * key" typedecl room