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-- |
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