author | Christian Urban <christian dot urban at kcl dot ac dot uk> |
Mon, 11 Mar 2013 16:33:52 +0000 | |
branch | Nominal2-Isabelle2013 |
changeset 3211 | 41e205fcb21e |
parent 3208 | da575186d492 |
permissions | -rw-r--r-- |
theory LetRec2 imports "../Nominal2" begin atom_decl name nominal_datatype trm = Vr "name" | Ap "trm" "trm" | Lm x::"name" t::"trm" binds (set) x in t | Lt a::"lts" t::"trm" binds "bn a" in a t and lts = Lnil | Lcons "name" "trm" "lts" binder bn where "bn Lnil = []" | "bn (Lcons x t l) = (atom x) # (bn l)" thm trm_lts.fv_defs thm trm_lts.eq_iff thm trm_lts.bn_defs thm trm_lts.perm_simps thm trm_lts.induct thm trm_lts.distinct end