src/HOL/HOLCF/IOA/meta_theory/Pred.thy
author wenzelm
Wed, 30 Dec 2015 21:57:52 +0100
changeset 62002 f1599e98c4d0
parent 62000 8cba509ace9c
child 62005 68db98c2cd97
permissions -rw-r--r--
isabelle update_cartouches -c -t;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
42151
4da4fc77664b tuned headers;
wenzelm
parents: 41476
diff changeset
     1
(*  Title:      HOL/HOLCF/IOA/meta_theory/Pred.thy
40945
b8703f63bfb2 recoded latin1 as utf8;
wenzelm
parents: 40774
diff changeset
     2
    Author:     Olaf Müller
17233
41eee2e7b465 converted specifications to Isar theories;
wenzelm
parents: 14981
diff changeset
     3
*)
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     4
62002
f1599e98c4d0 isabelle update_cartouches -c -t;
wenzelm
parents: 62000
diff changeset
     5
section \<open>Logical Connectives lifted to predicates\<close>
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
     6
17233
41eee2e7b465 converted specifications to Isar theories;
wenzelm
parents: 14981
diff changeset
     7
theory Pred
41eee2e7b465 converted specifications to Isar theories;
wenzelm
parents: 14981
diff changeset
     8
imports Main
41eee2e7b465 converted specifications to Isar theories;
wenzelm
parents: 14981
diff changeset
     9
begin
41eee2e7b465 converted specifications to Isar theories;
wenzelm
parents: 14981
diff changeset
    10
36452
d37c6eed8117 renamed command 'defaultsort' to 'default_sort';
wenzelm
parents: 35355
diff changeset
    11
default_sort type
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    12
41476
0fa9629aa399 types -> type_synonym
huffman
parents: 40945
diff changeset
    13
type_synonym
17233
41eee2e7b465 converted specifications to Isar theories;
wenzelm
parents: 14981
diff changeset
    14
  'a predicate = "'a => bool"
4559
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
consts
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    17
62000
8cba509ace9c more symbols;
wenzelm
parents: 61378
diff changeset
    18
satisfies    ::"'a  => 'a predicate => bool"    ("_ \<Turnstile> _" [100,9] 8)
17233
41eee2e7b465 converted specifications to Isar theories;
wenzelm
parents: 14981
diff changeset
    19
valid        ::"'a predicate => bool"           (*  ("|-") *)
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    20
62000
8cba509ace9c more symbols;
wenzelm
parents: 61378
diff changeset
    21
NOT          ::"'a predicate => 'a predicate"  ("\<^bold>\<not> _" [40] 40)
8cba509ace9c more symbols;
wenzelm
parents: 61378
diff changeset
    22
AND          ::"'a predicate => 'a predicate => 'a predicate"    (infixr "\<^bold>\<and>" 35)
8cba509ace9c more symbols;
wenzelm
parents: 61378
diff changeset
    23
OR           ::"'a predicate => 'a predicate => 'a predicate"    (infixr "\<^bold>\<or>" 30)
8cba509ace9c more symbols;
wenzelm
parents: 61378
diff changeset
    24
IMPLIES      ::"'a predicate => 'a predicate => 'a predicate"    (infixr "\<^bold>\<longrightarrow>" 25)
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    25
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    26
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    27
defs
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    28
17233
41eee2e7b465 converted specifications to Isar theories;
wenzelm
parents: 14981
diff changeset
    29
satisfies_def:
62000
8cba509ace9c more symbols;
wenzelm
parents: 61378
diff changeset
    30
   "s \<Turnstile> P  == P s"
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    31
17233
41eee2e7b465 converted specifications to Isar theories;
wenzelm
parents: 14981
diff changeset
    32
valid_def:
62000
8cba509ace9c more symbols;
wenzelm
parents: 61378
diff changeset
    33
   "valid P == (! s. (s \<Turnstile> P))"
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    34
17233
41eee2e7b465 converted specifications to Isar theories;
wenzelm
parents: 14981
diff changeset
    35
NOT_def:
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    36
  "NOT P s ==  ~ (P s)"
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    37
17233
41eee2e7b465 converted specifications to Isar theories;
wenzelm
parents: 14981
diff changeset
    38
AND_def:
62000
8cba509ace9c more symbols;
wenzelm
parents: 61378
diff changeset
    39
  "(P \<^bold>\<and> Q) s == (P s) & (Q s)"
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    40
17233
41eee2e7b465 converted specifications to Isar theories;
wenzelm
parents: 14981
diff changeset
    41
OR_def:
62000
8cba509ace9c more symbols;
wenzelm
parents: 61378
diff changeset
    42
  "(P \<^bold>\<or> Q) s ==  (P s) | (Q s)"
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    43
17233
41eee2e7b465 converted specifications to Isar theories;
wenzelm
parents: 14981
diff changeset
    44
IMPLIES_def:
62000
8cba509ace9c more symbols;
wenzelm
parents: 61378
diff changeset
    45
  "(P \<^bold>\<longrightarrow> Q) s == (P s) --> (Q s)"
4559
8e604d885b54 added files containing temproal logic and abstraction;
mueller
parents:
diff changeset
    46
7661
8c3190b173aa depend on Main;
wenzelm
parents: 6340
diff changeset
    47
end