Nominal/Ex/FiniteType.thy
author Christian Urban <urbanc@in.tum.de>
Thu, 19 Apr 2018 13:58:22 +0100
branchNominal2-Isabelle2016-1
changeset 3246 66114fa3d2ee
parent 3235 5ebd327ffb96
permissions -rw-r--r--
updated to Isabelle 2016-1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3109
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     1
theory FiniteType
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     2
imports "../Nominal2"
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     3
begin
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     4
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     5
typedef ('a::pt, 'b::fs) ffun = "{f::'a => 'b. finite (supp f)}"
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     6
apply(rule_tac x="\<lambda>_. undefined::'b::fs" in exI)
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     7
apply(auto)
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     8
apply(rule_tac S="supp (undefined::'b::fs)" in supports_finite)
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     9
apply(simp add: supports_def)
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    10
apply(perm_simp)
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    11
apply(simp add: fresh_def[symmetric])
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    12
apply(simp add: swap_fresh_fresh)
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    13
apply(simp add: finite_supp)
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    14
done
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    15
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    16
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    17
d79e936e30ea commented out parts of TypeScheme1 in order to run all tests
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    18
3235
5ebd327ffb96 changed nominal_primrec into the more appropriate nominal_function
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 3109
diff changeset
    19
end