| author | nipkow |
| Wed, 08 Jan 2025 05:38:13 +0100 | |
| changeset 81745 | 2f70c60cdbb2 |
| parent 74287 | f79dfc7656ae |
| permissions | -rw-r--r-- |
|
74287
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
1 |
(* Title: Pure/ex/Def_Examples.thy |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
2 |
Author: Makarius |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
3 |
|
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
4 |
Some examples for primitive definitions. |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
5 |
*) |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
6 |
|
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
7 |
theory Def_Examples |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
8 |
imports Def |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
9 |
begin |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
10 |
|
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
11 |
section \<open>Global definitions\<close> |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
12 |
|
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
13 |
def "I x \<equiv> x" |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
14 |
def "K x y \<equiv> x" |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
15 |
def "S x y z \<equiv> (x z) (y z)" |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
16 |
|
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
17 |
lemma "I (I x) \<equiv> x" |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
18 |
by simp |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
19 |
|
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
20 |
lemma "K a x \<equiv> K a y" |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
21 |
by simp |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
22 |
|
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
23 |
lemma "S K K \<equiv> I" |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
24 |
by simp |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
25 |
|
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
26 |
|
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
27 |
section \<open>Locale definitions\<close> |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
28 |
|
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
29 |
locale const = |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
30 |
fixes a :: 'a |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
31 |
begin |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
32 |
|
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
33 |
def "fun b \<equiv> a" |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
34 |
|
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
35 |
lemma "fun x \<equiv> fun y" |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
36 |
by simp |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
37 |
|
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
38 |
end |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
39 |
|
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
40 |
lemma "const.fun a x \<equiv> const.fun a y" |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
41 |
by simp |
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
42 |
|
|
f79dfc7656ae
miscellaneous examples and experiments for Isabelle/Pure;
wenzelm
parents:
diff
changeset
|
43 |
end |