Nominal/activities/Minimal.thy
author Christian Urban <christian.urban@kcl.ac.uk>
Sun, 09 Jul 2023 08:54:31 +0100
changeset 636 96a3723d5f70
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