src/HOL/Prolog/HOHH.thy
author wenzelm
Wed, 02 Aug 2000 19:40:14 +0200
changeset 9502 50ec59aff389
parent 9015 8006e9009621
child 13208 965f95a3abd9
permissions -rw-r--r--
adapted deriv;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9015
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
     1
(* higher-order hereditary Harrop formulas *)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
     2
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
     3
HOHH = HOL +
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
     4
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
     5
consts
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
     6
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
     7
(* D-formulas (programs):  D ::= !x. D | D .. D | D :- G | A		*)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
     8
  "Dand"	:: [bool, bool] => bool		(infixr ".." 28)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
     9
  ":-"		:: [bool, bool] => bool		(infixl 29)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    10
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    11
(* G-formulas (goals):     G ::= A | G & G | G | G | ? x. G 
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    12
			       | True | !x. G | D => G			*)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    13
(*","           :: [bool, bool] => bool		(infixr 35)*)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    14
  "=>"		:: [bool, bool] => bool		(infixr 27)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    15
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    16
translations
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    17
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    18
  "D :- G"	=>	"G --> D"
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    19
  "D1 .. D2"	=>	"D1 & D2"
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    20
(*"G1 , G2"	=>	"G1 & G2"*)
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    21
  "D => G"	=>	"D --> G"
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    22
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    23
end
8006e9009621 added HOL/Prolog
oheimb
parents:
diff changeset
    24