src/HOLCF/Cont.thy
changeset 25131 2c8caac48ade
parent 18092 2c5d5da79a1e
child 25779 ae71b21de8fb
equal deleted inserted replaced
25130:d91391a8705b 25131:2c8caac48ade
    18 
    18 
    19 defaultsort po
    19 defaultsort po
    20 
    20 
    21 subsection {* Definitions *}
    21 subsection {* Definitions *}
    22 
    22 
    23 constdefs
    23 definition
    24   monofun :: "('a \<Rightarrow> 'b) \<Rightarrow> bool"  -- "monotonicity"
    24   monofun :: "('a \<Rightarrow> 'b) \<Rightarrow> bool"  -- "monotonicity"  where
    25   "monofun f \<equiv> \<forall>x y. x \<sqsubseteq> y \<longrightarrow> f x \<sqsubseteq> f y"
    25   "monofun f = (\<forall>x y. x \<sqsubseteq> y \<longrightarrow> f x \<sqsubseteq> f y)"
    26 
    26 
    27   contlub :: "('a::cpo \<Rightarrow> 'b::cpo) \<Rightarrow> bool"  -- "first cont. def"
    27 definition
    28   "contlub f \<equiv> \<forall>Y. chain Y \<longrightarrow> f (\<Squnion>i. Y i) = (\<Squnion>i. f (Y i))"
    28   contlub :: "('a::cpo \<Rightarrow> 'b::cpo) \<Rightarrow> bool"  -- "first cont. def" where
    29 
    29   "contlub f = (\<forall>Y. chain Y \<longrightarrow> f (\<Squnion>i. Y i) = (\<Squnion>i. f (Y i)))"
    30   cont    :: "('a::cpo \<Rightarrow> 'b::cpo) \<Rightarrow> bool"  -- "secnd cont. def"
    30 
    31   "cont f    \<equiv> \<forall>Y. chain Y \<longrightarrow> range (\<lambda>i. f (Y i)) <<| f (\<Squnion>i. Y i)"
    31 definition
       
    32   cont :: "('a::cpo \<Rightarrow> 'b::cpo) \<Rightarrow> bool"  -- "secnd cont. def" where
       
    33   "cont f = (\<forall>Y. chain Y \<longrightarrow> range (\<lambda>i. f (Y i)) <<| f (\<Squnion>i. Y i))"
    32 
    34 
    33 lemma contlubI:
    35 lemma contlubI:
    34   "\<lbrakk>\<And>Y. chain Y \<Longrightarrow> f (\<Squnion>i. Y i) = (\<Squnion>i. f (Y i))\<rbrakk> \<Longrightarrow> contlub f"
    36   "\<lbrakk>\<And>Y. chain Y \<Longrightarrow> f (\<Squnion>i. Y i) = (\<Squnion>i. f (Y i))\<rbrakk> \<Longrightarrow> contlub f"
    35 by (simp add: contlub_def)
    37 by (simp add: contlub_def)
    36 
    38