Nominal/activities/nominal-ijcar08/Minimal.thy
author Christian Urban <urbanc@in.tum.de>
Thu, 13 Sep 2018 13:09:24 +0100
changeset 539 5eaec0f9980f
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