Nominal/activities/nominal-ijcar08/Minimal.thy
author Christian Urban <urbanc@in.tum.de>
Fri, 16 Jun 2017 21:39:27 +0100
changeset 470 12f493dd6089
parent 418 18a6039148df
permissions -rw-r--r--
updated

theory Minimal
imports "Nominal"
begin

atom_decl name

nominal_datatype lam =
  Var "name"
| App "lam" "lam" 
| Lam "\<guillemotleft>name\<guillemotright>lam" ("Lam [_]._")

lemma alpha_test:
  shows "Lam [x].Var x = Lam [y].Var y"
  by (simp add: lam.inject alpha swap_simps fresh_atm)

thm lam.inject[no_vars]
thm alpha[no_vars]
thm swap_simps[no_vars]
thm fresh_atm[no_vars]

end