changeset 415 | f1be8028a4a9 |
414:05e5d68c9627 | 415:f1be8028a4a9 |
---|---|
1 theory Minimal |
|
2 imports "Nominal" |
|
3 begin |
|
4 |
|
5 atom_decl name |
|
6 |
|
7 nominal_datatype lam = |
|
8 Var "name" |
|
9 | App "lam" "lam" |
|
10 | Lam "\<guillemotleft>name\<guillemotright>lam" ("Lam [_]._") |
|
11 |
|
12 lemma alpha_test: |
|
13 shows "Lam [x].Var x = Lam [y].Var y" |
|
14 by (simp add: lam.inject alpha swap_simps fresh_atm) |
|
15 |
|
16 thm lam.inject[no_vars] |
|
17 thm alpha[no_vars] |
|
18 thm swap_simps[no_vars] |
|
19 thm fresh_atm[no_vars] |
|
20 |
|
21 end |