src/HOL/Library/Extended_Nonnegative_Real.thy
changeset 62376 85f38d5f8807
parent 62375 670063003ad3
child 62378 85ed00c1fe7c
equal deleted inserted replaced
62375:670063003ad3 62376:85f38d5f8807
    75 
    75 
    76 
    76 
    77 
    77 
    78 lemma ennreal_zero_less_one: "0 < (1::ennreal)"
    78 lemma ennreal_zero_less_one: "0 < (1::ennreal)"
    79   by transfer auto
    79   by transfer auto
       
    80 
       
    81 instance ennreal :: dioid
       
    82 proof (standard; transfer)
       
    83   fix a b :: ereal assume "0 \<le> a" "0 \<le> b" then show "(a \<le> b) = (\<exists>c\<in>Collect (op \<le> 0). b = a + c)"
       
    84     unfolding ereal_ex_split Bex_def
       
    85     by (cases a b rule: ereal2_cases) (auto intro!: exI[of _ "real_of_ereal (b - a)"])
       
    86 qed
    80 
    87 
    81 instance ennreal :: ordered_comm_semiring
    88 instance ennreal :: ordered_comm_semiring
    82   by standard
    89   by standard
    83      (transfer ; auto intro: add_mono mult_mono mult_ac ereal_left_distrib ereal_mult_left_mono)+
    90      (transfer ; auto intro: add_mono mult_mono mult_ac ereal_left_distrib ereal_mult_left_mono)+
    84 
    91