Nominal/activities/Minimal.thy
author Christian Urban <christian dot urban at kcl dot ac dot uk>
Fri, 23 Sep 2016 15:07:05 +0100
changeset 457 3feaf8bc3e48
parent 415 f1be8028a4a9
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