author | Christian Urban <urbanc@in.tum.de> |
Thu, 19 Apr 2018 13:58:22 +0100 | |
branch | Nominal2-Isabelle2016-1 |
changeset 3246 | 66114fa3d2ee |
parent 3235 | 5ebd327ffb96 |
permissions | -rw-r--r-- |
theory FiniteType imports "../Nominal2" begin typedef ('a::pt, 'b::fs) ffun = "{f::'a => 'b. finite (supp f)}" apply(rule_tac x="\<lambda>_. undefined::'b::fs" in exI) apply(auto) apply(rule_tac S="supp (undefined::'b::fs)" in supports_finite) apply(simp add: supports_def) apply(perm_simp) apply(simp add: fresh_def[symmetric]) apply(simp add: swap_fresh_fresh) apply(simp add: finite_supp) done end