src/HOLCF/IOA/meta_theory/Pred.thy
author mueller
Thu, 26 Nov 1998 16:37:56 +0100
changeset 5976 44290b71a85f
parent 4559 8e604d885b54
child 6340 7d5cbd5819a0
permissions -rw-r--r--
tuning to assimiliate it with PhD;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5976
44290b71a85f tuning to assimiliate it with PhD;
mueller
parents: 4559
diff changeset
     1
(*  Title:      HOLCF/IOA/meta_theory/Pred.thy
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     2
    ID:         $Id$
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     3
    Author:     Olaf M"uller
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     4
    Copyright   1997  TU Muenchen
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     5
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     6
Logical Connectives lifted to predicates.
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     7
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     8
*)   
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     9
	       
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    10
Pred = Arith +  
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    11
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    12
default term
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    13
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    14
types
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    15
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    16
'a predicate      = "'a => bool"
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    17
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    18
consts
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    19
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    20
satisfies    ::"'a  => 'a predicate => bool"    ("_ |= _" [100,9] 8)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    21
valid        ::"'a predicate => bool"           (*  ("|-") *)         
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    22
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    23
NOT          ::"'a predicate => 'a predicate"  (".~ _" [40] 40)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    24
AND          ::"'a predicate => 'a predicate => 'a predicate"    (infixr ".&" 35)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    25
OR           ::"'a predicate => 'a predicate => 'a predicate"    (infixr ".|" 30)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    26
IMPLIES      ::"'a predicate => 'a predicate => 'a predicate"    (infixr ".-->" 25)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    27
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    28
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    29
syntax ("" output)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    30
  "NOT"     ::"'a predicate => 'a predicate" ("~ _" [40] 40)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    31
  "AND"     ::"'a predicate => 'a predicate => 'a predicate"    (infixr "&" 35)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    32
  "OR"      ::"'a predicate => 'a predicate => 'a predicate"    (infixr "|" 30)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    33
  "IMPLIES" ::"'a predicate => 'a predicate => 'a predicate"    (infixr "-->" 25)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    34
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    35
syntax (symbols output)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    36
  "NOT"    ::"'a predicate => 'a predicate" ("\\<not> _" [40] 40)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    37
  "AND"    ::"'a predicate => 'a predicate => 'a predicate"    (infixr "\\<and>" 35)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    38
  "OR"     ::"'a predicate => 'a predicate => 'a predicate"    (infixr "\\<or>" 30)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    39
  "IMPLIES" ::"'a predicate => 'a predicate => 'a predicate"    (infixr "\\<midarrow>\\<rightarrow>" 25)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    40
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    41
syntax (symbols)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    42
  "satisfies"  ::"'a => 'a predicate => bool"    ("_ \\<Turnstile> _" [100,9] 8)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    43
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    44
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    45
defs
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    46
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    47
satisfies_def
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    48
   "s |= P  == P s" 
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    49
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    50
(* priority einfuegen, da clash mit |=, wenn graphisches Symbol *)
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    51
valid_def
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    52
   "valid P == (! s. (s |= P))"
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    53
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    54
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    55
NOT_def
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    56
  "NOT P s ==  ~ (P s)"
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    57
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    58
AND_def
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    59
  "(P .& Q) s == (P s) & (Q s)"
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    60
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    61
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    62
OR_def
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    63
  "(P .| Q) s ==  (P s) | (Q s)"
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    64
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    65
IMPLIES_def
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    66
  "(P .--> Q) s == (P s) --> (Q s)"
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    67
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    68
end