src/HOLCF/FOCUS/Stream_adm.thy
author wenzelm
Tue, 10 Jan 2006 19:33:37 +0100
changeset 18638 e135f6a1b76c
parent 18075 43000d7a017c
child 19759 2d0896653e7a
permissions -rw-r--r--
Specification.pretty_consts ctxt;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
     1
(*  Title:      HOLCF/ex/Stream_adm.thy
11355
wenzelm
parents: 11350
diff changeset
     2
    ID:         $Id$
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
     3
    Author:     David von Oheimb, TU Muenchen
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
     4
*)
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
     5
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
     6
header {* Admissibility for streams *}
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
     7
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
     8
theory Stream_adm
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
     9
imports Stream Continuity
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
    10
begin
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    11
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    12
constdefs
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
    13
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
    14
  stream_monoP  :: "(('a stream) set \<Rightarrow> ('a stream) set) \<Rightarrow> bool"
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
    15
  "stream_monoP F \<equiv> \<exists>Q i. \<forall>P s. Fin i \<le> #s \<longrightarrow>
18075
43000d7a017c changed iterate to a continuous type
huffman
parents: 17293
diff changeset
    16
                    (s \<in> F P) = (stream_take i\<cdot>s \<in> Q \<and> iterate i\<cdot>rt\<cdot>s \<in> P)"
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
    17
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
    18
  stream_antiP  :: "(('a stream) set \<Rightarrow> ('a stream) set) \<Rightarrow> bool"
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
    19
  "stream_antiP F \<equiv> \<forall>P x. \<exists>Q i.
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
    20
                (#x  < Fin i \<longrightarrow> (\<forall>y. x \<sqsubseteq> y \<longrightarrow> y \<in> F P \<longrightarrow> x \<in> F P)) \<and>
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
    21
                (Fin i <= #x \<longrightarrow> (\<forall>y. x \<sqsubseteq> y \<longrightarrow>
18075
43000d7a017c changed iterate to a continuous type
huffman
parents: 17293
diff changeset
    22
                (y \<in> F P) = (stream_take i\<cdot>y \<in> Q \<and> iterate i\<cdot>rt\<cdot>y \<in> P)))"
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
    23
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    24
  antitonP :: "'a set => bool"
17293
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
    25
  "antitonP P \<equiv> \<forall>x y. x \<sqsubseteq> y \<longrightarrow> y\<in>P \<longrightarrow> x\<in>P"
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
    26
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
    27
ML {* use_legacy_bindings (the_context ()) *}
ecf182ccc3ca converted to Isar theory format;
wenzelm
parents: 14981
diff changeset
    28
11350
4c55b020d6ee added FOCUS including the One-Element Buffer by Manfred Broy
oheimb
parents:
diff changeset
    29
end