Nominal/activities/nominal-ijcar08/Minimal.thy
author Christian Urban <christian dot urban at kcl dot ac dot uk>
Mon, 09 May 2016 11:34:29 +0100
changeset 437 6cc39f136c22
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