src/FOL/ex/IffOracle.ML
author wenzelm
Fri, 04 Aug 2000 22:59:33 +0200
changeset 9536 b79b002f32ae
parent 6391 0da748358eff
child 16063 7dd4eb2c8055
permissions -rw-r--r--
added dummy_patternN, no_dummy_patterns, replace_dummy_patterns;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3817
f20f193d42b4 removed declIffOracle;
wenzelm
parents: 1847
diff changeset
     1
(*  Title:      FOL/ex/IffOracle.ML
1537
3f51f0945a3e Example of declaring oracles
paulson
parents:
diff changeset
     2
    ID:         $Id$
3f51f0945a3e Example of declaring oracles
paulson
parents:
diff changeset
     3
    Author:     Lawrence C Paulson, Cambridge University Computer Laboratory
3f51f0945a3e Example of declaring oracles
paulson
parents:
diff changeset
     4
    Copyright   1996  University of Cambridge
3f51f0945a3e Example of declaring oracles
paulson
parents:
diff changeset
     5
3f51f0945a3e Example of declaring oracles
paulson
parents:
diff changeset
     6
Example of how to use an oracle
3f51f0945a3e Example of declaring oracles
paulson
parents:
diff changeset
     7
*)
3f51f0945a3e Example of declaring oracles
paulson
parents:
diff changeset
     8
3817
f20f193d42b4 removed declIffOracle;
wenzelm
parents: 1847
diff changeset
     9
fun iff_oracle n =
6391
0da748358eff Theory.sign_of;
wenzelm
parents: 3817
diff changeset
    10
  invoke_oracle IffOracle.thy "iff" (Theory.sign_of IffOracle.thy, IffOracleExn n);
3817
f20f193d42b4 removed declIffOracle;
wenzelm
parents: 1847
diff changeset
    11
f20f193d42b4 removed declIffOracle;
wenzelm
parents: 1847
diff changeset
    12
f20f193d42b4 removed declIffOracle;
wenzelm
parents: 1847
diff changeset
    13
iff_oracle 2;
f20f193d42b4 removed declIffOracle;
wenzelm
parents: 1847
diff changeset
    14
iff_oracle 10;
1537
3f51f0945a3e Example of declaring oracles
paulson
parents:
diff changeset
    15
#der(rep_thm it);
3f51f0945a3e Example of declaring oracles
paulson
parents:
diff changeset
    16
1847
58ab3b74a344 Modified to reject certain inputs -- illustrates error handling
paulson
parents: 1537
diff changeset
    17
(*These oracle calls had better fail*)
58ab3b74a344 Modified to reject certain inputs -- illustrates error handling
paulson
parents: 1537
diff changeset
    18
3817
f20f193d42b4 removed declIffOracle;
wenzelm
parents: 1847
diff changeset
    19
(iff_oracle 5; raise ERROR)
f20f193d42b4 removed declIffOracle;
wenzelm
parents: 1847
diff changeset
    20
  handle IffOracleExn _ => writeln"Failed, as expected";
1847
58ab3b74a344 Modified to reject certain inputs -- illustrates error handling
paulson
parents: 1537
diff changeset
    21
3817
f20f193d42b4 removed declIffOracle;
wenzelm
parents: 1847
diff changeset
    22
(iff_oracle 0; raise ERROR)
f20f193d42b4 removed declIffOracle;
wenzelm
parents: 1847
diff changeset
    23
  handle IffOracleExn _ => writeln"Failed, as expected";