1 (* Title: test/Tools/isac/ADDTESTS/file-depend
5 header {* Test file dependencies analogous to ISAC
7 $ cd /usr/local/Isabelle/test/Tools/isac/ADDTESTS/file-depend
8 $ /usr/local/Isabelle/bin/isabelle emacs Build_Test.thy &
10 (*----------------------------------------------------------------------------
14 "1language/Foo_Language"
15 "3knowledge/Foo_KnowALL"
17 ----------------------------------------------------------------------------*)
23 use "0foolibrary.ML" ML {* foolibrhs *}
24 use_thy "1language/Foo_Language" (*ML {* @{const fooprog} *}*)
25 use "2interpreter/2foointerpreter.ML" ML {* foointerpret *}
27 text {* The top 'theory ... begin' can be outcommended and done stepwise:
29 use "2interpreter/2foointerpreter.ML"
30 use_thy "3knowledge/Foo_Know111"
31 use_thy "3knowledge/Foo_Know222"
32 use_thy "3knowledge/Foo_KnowALL"
35 text {* the different theories of knowledge are recognized, Const bar*: *}
37 val trm = Syntax.read_term_global @{theory Foo_Know111}
38 "fooprog (foo111 = bar111)";
39 val Const ("Foo_Know111.bar111", _) = foointerpret trm;
41 val trm = Syntax.read_term_global @{theory Foo_Know222}
42 "fooprog (foo222 = bar222)";
43 val Const ("Foo_Know222.bar222", _) = foointerpret trm;
46 text {* the different theories of knowledge are recognized, Free bar*: *}
48 val trm = Syntax.read_term_global @{theory Foo_Know111}
49 "fooprog (foo222 = bar222)";
50 (*Const ("Foo_Language.fooprog", "bool => Foo_Language.foosource") $
51 (Const ("op =", "'a => 'a => bool") $ Free ("foo222", "'a") $
52 Free ("bar222", "'a"))
55 val trm = Syntax.read_term_global @{theory Foo_Know222}
56 "fooprog (foo111 = bar111)";
58 Const ("Foo_Language.fooprog", "bool => Foo_Language.foosource") $
59 (Const ("op =", "'a => 'a => bool") $ Free ("foo111", "'a") $
60 Free ("bar111", "'a"))
64 text {* dir structure reflects ISAC, see Build_Isac.thy:
65 /file-depend/0foolibrary.ML
66 /file-depend/Build_Test.thy
69 /file-depend/1language/Foo_Language.thy
71 /file-depend/2interpreter/2foointerpreter.ML
73 /file-depend/3knowledge/Foo_Know111.thy
74 /file-depend/3knowledge/Foo_Know222.thy
75 /file-depend/3knowledge/Foo_KnowALL.thy