| author | paulson <lp15@cam.ac.uk> | 
| Fri, 22 Nov 2024 16:05:42 +0000 | |
| changeset 81473 | 53e61087bc6f | 
| 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 |