1595
|
1 |
theory TestMorePerm
|
1773
|
2 |
imports "../Parser"
|
1595
|
3 |
begin
|
|
4 |
|
1793
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
5 |
text {*
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
6 |
"Weirdo" example from Peter Sewell's bestiary.
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
7 |
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
8 |
In case of deep binders, it is not coverd by our
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
9 |
approach of defining alpha-equivalence with a
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
10 |
single permutation.
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
11 |
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
12 |
Check whether it works with shallow binders as
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
13 |
defined below.
|
1595
|
14 |
|
1793
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
15 |
*}
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
16 |
ML {* val _ = cheat_equivp := true *}
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
17 |
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
18 |
atom_decl name
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
19 |
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
20 |
nominal_datatype foo =
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
21 |
Foo_var "name"
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
22 |
| Foo_pair "foo" "foo"
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
23 |
| Foo x::"name" y::"name" p1::"foo" p2::"foo" p3::"foo"
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
24 |
bind x in p1, bind x in p2,
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
25 |
bind y in p2, bind y in p3
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
26 |
|
33f7201a0239
check whether the "weirdo" example from the binding bestiary works with shallow binders
Christian Urban <urbanc@in.tum.de>
diff
changeset
|
27 |
thm alpha_foo_raw.intros[no_vars]
|
1595
|
28 |
|
|
29 |
thm permute_weird_raw.simps[no_vars]
|
|
30 |
thm alpha_weird_raw.intros[no_vars]
|
|
31 |
thm fv_weird_raw.simps[no_vars]
|
|
32 |
|
|
33 |
|
|
34 |
end
|
|
35 |
|
|
36 |
|
|
37 |
|