src/HOL/Prolog/HOHH.thy
author oheimb
Tue, 11 Jun 2002 16:43:17 +0200
changeset 13208 965f95a3abd9
parent 9015 8006e9009621
child 14981 e73f8140af78
permissions -rw-r--r--
added the usual file headers
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13208
965f95a3abd9 added the usual file headers
oheimb
parents: 9015
diff changeset
     1
(*  Title:    HOL/Prolog/HOHH.thy
965f95a3abd9 added the usual file headers
oheimb
parents: 9015
diff changeset
     2
    ID:       $Id$
965f95a3abd9 added the usual file headers
oheimb
parents: 9015
diff changeset
     3
    Author:   David von Oheimb (based on a lecture on Lambda Prolog by Nadathur)
965f95a3abd9 added the usual file headers
oheimb
parents: 9015
diff changeset
     4
    License:  GPL (GNU GENERAL PUBLIC LICENSE)
965f95a3abd9 added the usual file headers
oheimb
parents: 9015
diff changeset
     5
965f95a3abd9 added the usual file headers
oheimb
parents: 9015
diff changeset
     6
higher-order hereditary Harrop formulas 
965f95a3abd9 added the usual file headers
oheimb
parents: 9015
diff changeset
     7
*)
9015
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
     8
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
     9
HOHH = HOL +
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    10
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    11
consts
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    12
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    13
(* D-formulas (programs):  D ::= !x. D | D .. D | D :- G | A		*)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    14
  "Dand"	:: [bool, bool] => bool		(infixr ".." 28)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    15
  ":-"		:: [bool, bool] => bool		(infixl 29)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    16
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    17
(* G-formulas (goals):     G ::= A | G & G | G | G | ? x. G 
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    18
			       | True | !x. G | D => G			*)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    19
(*","           :: [bool, bool] => bool		(infixr 35)*)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    20
  "=>"		:: [bool, bool] => bool		(infixr 27)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    21
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    22
translations
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    23
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    24
  "D :- G"	=>	"G --> D"
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    25
  "D1 .. D2"	=>	"D1 & D2"
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    26
(*"G1 , G2"	=>	"G1 & G2"*)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    27
  "D => G"	=>	"D --> G"
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    28
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    29
end
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    30