src/HOL/Prolog/HOHH.thy
author paulson
Tue, 29 Mar 2005 12:30:48 +0200
changeset 15635 8408a06590a6
parent 14981 e73f8140af78
child 17311 5b1d47d920ce
permissions -rw-r--r--
converted HOL-Subst to tactic scripts
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
965f95a3abd9 added the usual file headers
oheimb
parents: 9015
diff changeset
     5
higher-order hereditary Harrop formulas 
965f95a3abd9 added the usual file headers
oheimb
parents: 9015
diff changeset
     6
*)
9015
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
     7
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
     8
HOHH = HOL +
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
     9
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    10
consts
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    11
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    12
(* D-formulas (programs):  D ::= !x. D | D .. D | D :- G | A		*)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    13
  "Dand"	:: [bool, bool] => bool		(infixr ".." 28)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    14
  ":-"		:: [bool, bool] => bool		(infixl 29)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    15
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    16
(* G-formulas (goals):     G ::= A | G & G | G | G | ? x. G 
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    17
			       | True | !x. G | D => G			*)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    18
(*","           :: [bool, bool] => bool		(infixr 35)*)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    19
  "=>"		:: [bool, bool] => bool		(infixr 27)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    20
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    21
translations
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    22
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    23
  "D :- G"	=>	"G --> D"
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    24
  "D1 .. D2"	=>	"D1 & D2"
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    25
(*"G1 , G2"	=>	"G1 & G2"*)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    26
  "D => G"	=>	"D --> G"
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    27
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    28
end
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    29