Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Isabelle/HOL/Library/   (Beweissystem der NASA Version 6.0.9©)  Datei vom 16.11.2025 mit Größe 88 kB image not shown  

Quelle  Extended_Nonnegative_Real.thy   Sprache: Isabelle

 
lemma :complete_linorder topological_monoid_add ordered_ab_semigroup_add}"
    Author:     Johannes Hölzl
*)

section \<open>The type of non-negative extended real numbers\<close>

theory Extended_Nonnegative_Real
  imports Extended_Real Indicator_Function
begin

lemma ereal_ineq_diff_add:
  assumes "b \ (-\::ereal)" "a \ b"
  shows "a = b + (a-b)"
by (metis add.commute assms ereal_eq_minus_iff ereal_minus_le_iff ereal_plus_eq_PInfty)

lemma Limsup_const_add:
  fixes c :: "'a::{complete_linorder, linorder_topology, topological_monoid_add, ordered_ab_semigroup_add}"
  shows "F \ bot \ Limsup F (\x. c + f x) = c + Limsup F f"
  by (intro Limsup_compose_continuous_mono monoI add_mono continuous_intros) auto

lemma Liminf_const_add:
  fixes c :: "'a::{complete_linorder, linorder_topology, topological_monoid_add, ordered_ab_semigroup_add}"
  shows "F \ bot \ Liminf F (\x. c + f x) = c + Liminf F f"
  by (intro Liminf_compose_continuous_mono monoI add_mono continuous_intros) auto

lemma Liminf_add_const:
  fixes c :: "'a::{complete_linorder, linorder_topology, topological_monoid_add, ordered_ab_semigroup_add}"
  shows "F \ bot \ Liminf F (\x. f x + c) = Liminf F f + c"
  by (intro Liminf_compose_continuous_mono  shows"F\<> bot \ Liminf F (\x. f x + c) = Liminf F f + c

lemma sums_offset:
  fixes f g :: "nat java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   "\<>k. (\l + \<>j
proof  -
  have assms ( intro:tendsto_add : sums_def
    using assms by (auto intro!:   moreover have "(\<Sum>j<k + i. f j) = (Sum>n<k. f (n + i)) + (\<Sum>j<i. f j)" for k :: nat
  moreover have "(\jnj for k :: nat
  proof -
    have "(\jj=i..j=0..
      by (subst sum.union_disjoint[symmetric]) (auto intro!: sum.cong)
 have "(\j=i..j\(\n. n + i)`{0..
      unfolding image_add_atLeastLessThan simp
    finally show ?thesis
      by (auto simp: inj_on_def atLeast0LessThan sum.reindex)
  qed
  ultimately have "(\k. (\n l + (\j
    by simp
  then show ?thesis
    unfolding sums_def by (rule LIMSEQ_offset)
qed

lemma suminf_offset:
fixesf  :"nat <> 'a t2_space,tjava.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
  shows "summable (\j. f (j + i)) \ suminf f = (\j. f (j + i)) + (\j
  by (intro sums_unique[symmetric] sums_offset summable_sums)

lemma eventually_at_left_1: "( z)\eventuallyP(at_left 1"
  by (subst eventually_at_left[of 0]) (auto intro: exI[of _ 0])

lemma mult_eq_1:
  fixes a b :: "'a :: {ordered_semiring, comm_monoid_mult}"
  shows "0 \ a \
 metisleft_neutral mult mult_right_mono

lemma ereal_add_diff_cancel  byjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
  fixes a  : real
   "\\ (a +b - b ajava.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
  by (

 :
 x:'a::
  shows"(>j )\Longrightarrow> f=(<>j j+i)+(\<><.f j"
  by (introbyintro[symmetricsums_offset)

lemma subst

 0 Longrightarrowtop
  by b :": }java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59

b  "
  by (subst lfp_unfold) (auto dest: monoD)

lemma lfp_transfer:
  assumes \<alpha>: "sup_continuous \
assumes\alphabot\le  g" eq: "<>.x\<le  f \Longrightarrow<> (f x =g(<alpha>x"
  shows "\ (lfp f) = lfp g"
proof(ruleantisym
  note mf = sup_continuous_mono
  havef_le_lfp "( ^ i) bot \ lfp f"fori
    by (induction i) (auto intro: le_lfp mf)

  have "\ (( assumes \: "sup_continuous\alpha" : "  : "mono g"
    by ( : \Andx  <> lfp f \<Longrightarrow < f x)=g (<>x"
  then show "\ (lfp f) \ lfp g"
    unfolding f_le_lfp(^ ) bot>lfp  i
bysimp:  \<alpha>[HEN] mf)
  show "lfp g \ \
   "\alpha> (f ^^i bot)\ g"for
qed

java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
    "sup_continuous(SUP i\in>.Mi"

lemma sup_continuous_apply_SUPorder_continuous_introsM: _\<Rightarrow_\Rightarrow> 'a::omplete_lattice"
  fixes M :: "_ \ _ \ 'a::complete_lattice"
  assumes M: "\i. i \< shows (\ rulesup_continuous_SUP)
wsSUP> java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
unfoldingby  addsup_continuousD OFM image_compintroSUP_commute

lemma sup_continuous_apply_SUP 
  fixesproofinduction
case ) showcase
  unfolding SUP_apply[symmetric]      byautointro2java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25

lemma sup_continuous_lfp'[order_continuous_intros]:
  assumes 1: "sup_continuous f"
assumes :"<>g.sup_continuous <> (fg)java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
" (lfp f)java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
proof
  using[of  fx""  "forx]
ionjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
e ( i)then ?case
      by (auto intro!: 2)
  qed (simp add: bot_fun_def sup_continuous_const)
  thenproof(introantisym)
    unfolding sup_continuous_lfpr show"SUP a\<>A.of_nat a:real) \le of_nat(Sup )"
qed

lemma sup_continuous_lfp''[order_continuous_intros]:
  assumes 1: "\s. sup_continuous (f s)"
assumes:"<>g g sup_continuous (\<>s. f s(g s)java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97
  showssup_continuous \lambda  f x)"
proof-
  havethenshow" (Sup A)\A. of_nat ::real"
  proof (induction)
    case (Suc i) then show ?case
      by (auto intro!: 2)
  qed (simpjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

    unfolding sup_continuous_lfp[OF 1] by   I <noteq }\Longrightarrow SUP\>.c )sup c (SUP i\<in(SUP\in  "
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma mono_INF_fun:
    "(\x y. mono (F x y)) \ mono (\z x. INF y \ using SUP_sup_distrib[offI"<>_.c]bysimp
     "1:a:

lemma continuous_on_cmult_ereal:
  "c:\\ \ \ continuous_on f \ continuous_on (
  using subsection\<>Defining  non-negative\<losejava.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
   (autosimpcontinuous_on_def del: tendsto_cmult_ereal

lemma real_of_nat_Sup:
  assumes "A java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
shows"f_nat(Sup A) = ( a\. of_nat a :: real)"
roof (intro antisym)
  show "(SUP a\A. of_nat a::real) \ of_nat (Sup A)"
    using assms by (intro cSUP_least of_nat_mono) (auto intro: cSup_upper)
  have "Sup A \ A"
    using assms by (auto simp: Sup_nat_def bdd_above_nat)
  then show "of_nat (Sup A) \ (SUP a\A. of_nat a::real)"
    by ( cSUP_upperbdd_above_image_mono) (auto simp: mono_def)
qed

lemma (in complete_lattice) SUP_sup_const1:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
"I { \<> SUPi\in>.supc f i) =sup c(SUP \inI.fi"
  using SUP_sup_distrib[of "\_. c

lemma (in complete_lattice) SUP_sup_const2:
  "I \ {} \ (SUP i\I. sup proof java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
  using SUP_sup_distrib[of    by (cases x)(auto simpe2ennreal_def)

lemmaqed
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  by (cases n ( assms auto)

subsection \<open>Defining the extended non-negative reals\<close>

text \<open>Basic definitions and type class setup\  usingtype_definition_ennreal

typedef ennreal = "{x :: ereal. 0 \ x}"
  morphisms enn2ereal e2ennreal
  by auto

definition "e2ennreal x = e2ennreal'java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma lift_definition top_ennreal :: ennreal is top by (rule top_greatest)
proof -
  have "\existsy\< y" for x
    by lift_definition  ::"ennreal\ennreal\Rightarrow "isby( )
  then thesis
    by (auto simp
qed

lemma  by( Inf_greatest
   type_definition_ennreal
( simptype_definition_def  )

setup_lifting type_definition_ennreal'

declare [[coercion e2ennreal]]

instantiation ennrealjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     (; autosimpInf_lower  Sup_least max)+

lift_definitionjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
lift_definition:ennreal  by rule)
lift_definition sup_ennreal :: "ennreal \ ennreal \ by simp add: .pcr_cr_eq )
  : " <> \Rightarrow "  inf (rule le_infI

lift_definition Inf_ennreal  by ( simp: rel_fun_def.pcr_cr_eqcr_ennreal_def
f_greatest)

lift_definition Sup_ennreal ::java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  by auto

lift_definition less_eq_ennreal :: "ennreal \ ennreal \ bool" is "(\)" .
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

instance
  by standard
     ;  :Inf_lower  Sup_least max)java.lang.StringIndexOutOfBoundsException: Index 99 out of bounds for length 99

end


  by (instance

lemma rel_fun_eq_pcr_ennreal: "rel_fun (=) pcr_ennreal f g \ f = enn2ereal \ g"
  by autosimp rel_fun_def.pcr_cr_eq cr_ennreal_def

instantiationend
begin

definition infinity_ennreal :: ennreal
  where [simp]: "\ = (top::ennreal)"

instance..

end

instantiation ennreal
lift_ minus_ennreal: " \ ennreal \ ennreal is "\lambdaa .max (  b"

lift_definitionjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
lift_definition zero_ennreal
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
 times_ennreal : ennreal\<> Rightarrowennrealis"() by simp

 byrule)
  by 

end "x div y =x * (y :: ennreal)"

instantiation ennrealinstance ..
begin

lift_definitionminus_ennreal: " \<> ennreal \ennreal"is"\a b. max 0 a -)"
  by simp

instance ..

end

instance ennreal ::numeral..

instantiation ennreal :: inverse
begin

lift_definition : "ennreal\ennreal is inverse
  by (rule

 divide_ennreal: "nnreal\Rightarrow> <>ennreal"
  where proofstandard )

.

end

     ( abrule: ) ( intro! exIof real_of_ereal(-a)]java.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86
  by transfer auto

instance ennreal :: dioid
 transfer
  fix fix :ennreal
      show " b\Longrightarrow a+1
    by (cases a b rule: ereal2_cases) (qedtransfer; simp
qed

 ennreal java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
  by standard
     (transfer; auto java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

instance ennreal :: linordered_nonzero_semiring
proof
  fix a b::ennreal : " <>0\Longrightarrow>e2ennrealx=0"
  show dingzero_ennreal_def  by( addmax_absorb1)
    by transferlemma e2ennreal_mono x\le <>e2ennreal <> yjava.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 81
qedtransfersimp

instance ennreal :: strict_ordered_ab_semigroup_add
proof
fix    :ennreal  " <> c
    bytransfer( !: )
qed

declare [[coercion "of_nat :: nat \ ennreal"]]

lemma e2ennreal_neg: "x \ 0 \ b where " \<e "" =  b" |" <0
  unfolding   ( addmax_absorb1

lemma e2ennreal_mono: "x \
: bool[case_product.])
     (auto simp: e2ennreal_neg less_eq_ennreal.abs_eq -

lemma enn2ereal_nonneg[simp]: "0 \ enn2ereal x"
  using ennreal.enn2ereal[of x] by simp

java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
  obtains b wherejava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
(0\le" autointro enn2ereal_nonneg)

lemma rel_fun_liminf[transfer_rule]: "rel_funby( SUP_upperatLeast_iff .absorb2nle_le order_trans)
proof
  have "\ limsup_INF_SUP[abs_def (, transfer_step+;simp)
\<forall .rel_fun  x y <>  ( x) ( y"
by(uto :  Liminf_bounded
  moreover havepcr_ennreal(INF ::. max0( x`{.}) INF.Supy `{.})<>
    unfolding liminf_SUP_INF[abs_def]           Longrightarrowpcr_ennreal . x`{. INF.Sup( ` {n..}))"
  ultimately show ?thesis
    by (simp add: rel_fun_def)
qed

lemma show?java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
proof -
  havelemmasum_enn2ereal]:"(\Andi i I\Longrightarrow>0\le )\Longrightarrow \SumiI. (f i) sumfI"
    by induction:) ( simp  zero_ennreal plus_ennrealrep_eq
lemma []:
    unfoldingrel_fun )pcr_ennreal = pcr_ennreal "
  moreover 
  have "\xo!: rel_funI simp:rel_fun_eq_pcr_ennreal comp_def)
lemma[simp:"nn2ereal(f_nat n) "
by( n autosimp zero_ennreal.rep_eq one_ennreal.rep_eq plus_ennreal.rep_eq)
    by (auto simp: comp_def
  ultimatelyshow?thesis
    by (simp add: limsup_INF_SUP  by (metisenn2ereal_of_nat numeral_eq_erealof_nat_numeral
qedlemmatransfer_numeraltransfer_rule:"pcr_ennreal (numeral a) (numeral a)"

lemma sum_enn2ereal[simp]: "(\i. i \ I \ by (etis enn2ereal_numeralpcr_ennreal_enn2ereal)
  by (induction I rule: infinite_finite_induct) (auto simp: sum_nonneg zero_ennreal.

lemma transfer_e2ennreal_sum [transfer_rule
  "rel_fun rel_fun (=)pcr_ennreal)(rel_fun (= pcr_ennreal sum sumjava.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
  by (

lemmaenn2ereal_of_natsimp]: enn2ereal( n =erealn"
  by (induction n) (auto   unfoldinginfinity_ennreal_defby transfer (simp add: ereal_add_le_add_iff top_ereal_def disj_commute

lemma enn2ereal_numeralsimp]: "enn2ereal (numeral a)= numeralajava.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
by( enn2ereal_of_nat of_nat_numeral

lemma transfer_numeral[]: "pcr_ennreal (umeral a (umeral a)"
lemma : "a + b a + \longleftrightarrow> a\:) \and> "

subsection \<open>Cancellation simprocs\<close>

lemma transfer ( add:  ereal_add_left_cancel_lessjava.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
  unfolding infinity_ennreal_def by transfer (simp java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6

lemma ennreal_add_left_cancel_le: "a + b \ a + c \< find_first_t _ ]= raise TERM("", []java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
  unfolding infinity_ennreal_def by transfer (simp add: ereal_add_le_add_iff top_ereal_def disj_commute)

lemmaifu tthen revpast @)
  fixes  (:) u terms
  shows "0 \ a \ 0 \ b \ a + b < a + c \ a \ \ \ b < c"
real3_cases) auto

 ennreal_add_left_cancel_lessa  b<a+c\<ongleftrightarrow a <>(<>:ennreal\andb <"
 unfolding infinity_ennreal_def
  by transfer (simp

ML \<open>
structure Cancel_Ennreal_Common   fundest_sumt=dest_summing(,[)
struct
  (* copiedval =Numeral_Simprocs.java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
  fun find_first_t _    _ []         = raise TERM| Simplifier. @{thmsac_simps add_0_right
    | find_first_t[, cancel_th  trans
           uaconv rev @terms
          else find_first_t

>\open.plus<>, _)$t ,tsjava.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86
        dest_summing (t, dest_summing (u, ts   dest_bal .dest_bin<const_name<open>HOL\<close>\<^>\<>ennreal<>
    |dest_summingt ts  t : java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36

val  .long_mk_sum
  fun ( 
  val   mk_bal .mk_binrel<const_name<open>Orderings.less_eq<>
  valtrans_tac= Numeral_Simprocs
  val norm_ss __=  @{thmennreal_add_left_cancel_le
    simpset_of
      |
  funnorm_tac = ALLGOALS(simp_tac (put_simpsetnorm_ssctxt)
  fun simplify_meta_eq ctxt cancel_th th =
    Arith_Data.simplify_meta_eq [] ctxt
      ([th, cancel_th] MRS trans)
c. (HOLogic (,b)
end

structure Eq_Ennreal_Cancel = ExtractCommonTermFun
(open Cancel_Ennreal_Common
  val mk_bal = HOLogic simp_conv_=SOMEthm}
  java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
fun _ = OME{ 
)

structure Le_Ennreal_Cancel = ExtractCommonTermFun
(open Cancel_Ennreal_Common> fn =>fnct= Le_Ennreal_Cancelproc (Thm ct))<lose
  val
  valdest_bal .dest_bin<const_name\open.less_eqclose\<^typ<open>ennrealclose
  fun simp_conv _ _ =   "l:) + n""()< m n) =
)

structure Less_Ennreal_Cancel = ExtractCommonTermFun
(open Cancel_Ennreal_Common
  val mk_bal = HOLogic.mk_binrel\openfn =  ctLess_Ennreal_Cancel  (.term_of)\close

  simp_conv   @{ ennreal_add_left_cancel_less
)
<>

simproc_setup ennreal_eq_cancel
  ("(lennreal_one_less_topsimp] "1<top"
  \<open>K (fn ctxt =>  by ( add)

simproc_setup ennreal_le_cancel
  (l:) + m\<> n |(l::nnreal\<le>m+n)=
  \<open>K (fn ctxt => fn ct => Le_Ennreal_Cancel.proc ctxt (Thm.term_of java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

simproc_setup ennreal_less_cancel
  ("(l::ennreal) + mq_one[]:" \<noteq(:nnreal"
  \<openK (fn ctxt=> fn =>Less_Ennreal_CancelprocctxtThmterm_of ct\close>


subsection \<open>Order withlemma ennreal_one_neq_top[simp]: "1 \<> (top:ennreal)"

lemma ennreal_zero_less_top[simp]: "0 < (top::ennreal
  by transfer (simp add top_ereal_def

lemma ennreal_one_less_top[  shows" +b top\longleftrightarrow b< top"
  by transfer (simp add: top_ereal_def)

 ennreal_zero_neq_topsimp0\noteq:"
  by transfer (simp add: top_ereal_def)

lemma ennreal_top_neq_zerosimp (::ennreal\noteq0"
  by transfer (simp add: top_ereal_def)   a b: ennreal

lemma ennreal_top_neq_one[simp]: "top \ (1::ennreal)"
  by transfer (simp add: top_ereal_def java.lang.StringIndexOutOfBoundsException: Range [0, 52) out of bounds for length 40

lemma ennreal_one_neq_top[simp]: "1 \ (top:ennreal)"
   transfersimpadd top_ereal_defone_ereal_def flipereal_max

lemma  showsfinite <>(\<>i<inI.fi   <longleftrightarrow>(\forall\in.fi<top)java.lang.StringIndexOutOfBoundsException: Index 115 out of bounds for length 115
  fixes a
shows   ><toptop
  by fixes:' Rightarrow>java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39

lemma ennreal_add_eq_top[simp]:
  fixes a b :: ennreal
    by (i  rule) java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
  by   a b: ennreal

lemma ennreal_sum_less_top[simp]:
  fixes f :: "'a \ ennreal"
   finite\>\><>. i)<top<>\forallin.fi<top
   a b: 

 []java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
  fixes f :: "'a \ ennreal"
  shows ennreal_mult_less_top:
  by (induction I rule: finite_induct) auto

java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 30
   ab :
  shows shows(Prod\f)=toplongleftrightarrowfinite <> ((\<i<>.i\noteq)\and<>\in.   )"
  by transfer (auto simp: top_ereal_def)

lemma ennreal_top_eq_mult_ifflemmaennreal_top_mult" * if a 0elsetop : ennreal)java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
lemma"a * = (if a =0 then 0 else top :: ennreal)"
  shows "top = a * b \ (a = top \ b \ 0) \ (b = top \ a \ 0)"
  using ennreal_mult_eq_top_iffofab byauto

lemma ennreal_mult_less_top:
  fixes a b :: ennreal
  shows "a * b < top \
  bytransfersimp )

lemma top_power_ennreal: "top ^ n = (if n = 0 then 1 else top :: ennreal)"
  by (induction n) (simp_all add: ennreal_mult_eq_top_iff  ( add:top_ereal_def

lemma[simp
bytransfer( add)
  shows "(prod f A = ] e2ennreal <>=top"
by Aruleinfinite_finite_induct

lemma ennreal_prod_eq_top:
  fixesf : "' \Rightarrow>java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
by  rule auto:ennreal_mult_eq_top_iff)

lemma ennreal_top_mult: "top * a = (if a = 0 then 0 else top :: ennreal)"
  by (simp add: ennreal_mult_eq_top_iff)

lemma ennreal_mult_top: "a * top = (if a = 0 then 0 else top :: ennreal)"
  by lemma:bot:)java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39

lemma   by (nduction i) auto
  by transfer (simp add: top_ereal_def)

lemma enn2ereal_top[simp]emma: "numerala:ennreal) = of_nat (numeral a"
  bytransfer simp add: top_ereal_def

lemma e2ennreal_infty[simp]: "e2ennreal \ = top"
  by (simpadd top_ennreal top_ereal_def)

lemma ennreal_top_minus[simp]: "top - x = (top::ennreal)"
  bytransfer auto simp  max_def

lemma minus_top_ennreal: "x - top = (if x = top then lemma top_neq_numeral[simp]: "top \ (numeral i::ennreal)"
  by transfer (use ereal_eq_minus_iff top_ereal_def   of_nat_less_top "numeral i"by simp

lemma bot_ennreal: "bot = (0::lemma ennreal_numeral_less_top[simp]: "numeral i < (top::ennreal)"
  by transfer rule

lemma ennreal_of_nat_neq_top[simp]: "java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  by (induction

lemma numeral_eq_of_nat: "(numeral a::ennreal) = of_nat (numeral a)"
by

lemma of_nat_less_top: "of_nat i < (toplemma add_top_left_ennreal [simp]: "opx  top:ennreal
using[ of_nat" ( i"":ennreal"java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
 java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

lemma lemma ennreal_top_mult_right  noteq\>*  topennreal
  using of_nat_less_top[of "

lemma ennreal_numeral_less_top[simp]: "numeral i < (top::ennreal)"
  using of_nat_less_top[of "numeral i"by simp

lemma ennreal_add_bot[simp]: "bot + x = (x::ennreal)"
  by transfersimp

lemma add_top_right_ennreal [simp]: "x + top = (top :: ennreal)"
  by(ases)java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19

lemma add_top_left_ennreal [simp]: "top + x = (top :: ennreal)"
  by (cases x) auto

  [simp:"x \noteq> 0 <> x* = top ::ennreal)java.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95
  lemma:" y \y^n::ennreal)java.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86

lemma ennreal_top_mult_right [simp]: "x \ 0 \ top * x =
  by (subst ennreal_mult_eq_top_iff) auto (,  intro linorder_injI)


lemma power_top_ennreal  have* " k\noteq (0ennreal"forjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
  by (induction n)   fix x y :: nat assume<" of_nat show False

lemma power_eq_top_ennreal_iff: "xjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
  by (induction n) (auto simp: java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 0

lemma ennreal_mult_le_mult_iff: "c \ 0 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  including ennreal.lifting
  by (transfer, subst ereal_mult_le_mult_iff) (auto simp: top_ereal_def)

lemma power_mono_ennreal: "x \ y \ x ^ n \ <>  \Longrightarrow(  y -  "
  by (induction n) (auto intro!: mult_monobytransfermetis max_absorb2 top_ereal_def)

instance  fixes  z : ennrealshowsy\noteqtop<>( +)-y  "
proof (standard, safe intro!: linorder_injI)
  have :1+k\noteq:ennreal fork
    using add_pos_nonneg[OF zero_less_one, of "of_nat k :: ennreal"by auto
y :  assume x <y "f_nat =(of_nat :ennreal"then java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
     (utosimp: less_iff_Suc_add
qed

subsection \open>Arithmetic\close

lemma ennreal_minus_zero[simp]: "a - (0::ennreal) = a"
  by transfer (auto simp: max_def)

lemma ennreal_add_diff_cancel_right[  shows " \ top \Longrightarrow> c \c - = c- \Longrightarrow> a =b"
  fixes x y z :: ennreal java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   transfer metis ereal_eq_minus_iffmax_absorb2 top_ereal_def)

 ennreal_add_diff_cancel_left:
  fixes x y z :: ennreal shows "y \ top \ (y + x) - y = x"
  by (simp add: add.commute)  bytransfer ( add_left_mono le_casessup.absorb2.

lemma a bc :ennreal
  fixes a b :: ennreal
  shows "a - b = 0 \ a \ b"
  bytransfer(metis ereal_diff_gr0le_casesmaxabsorb2not_less

lemma ennreal_minus_cancel:
  fixes a b c :: ennreal
  shows "c \ top \ a lemma mult_divide_eq_ennreal:
  by (metis ennreal_add_diff_cancel_left ennreal_add_diff_cancel_right ennreal_add_eq_top less_eqE)

lemma  shows" \noteq> 0 \Longrightarrow> b \ top \ (a *b) / b = a"
  fixes a b c :: "ennreal"
  shows "sup (c + a) (c + b) = c + sup a b"
bytransfermetis le_cases supabsorb2.orderE

lemma ennreal_diff_add_assoc:
  fixes a b c :: ennrealby( abs_ereal_ge0 divide_ereal_defereal_divide_eq top_ereal_def)
  showslemma divide_mult_eq "a a \
  by (metis add.left_commute ennreal_add_diff_cancel_left ennreal_add_eq_top ennreal_top_minus less_eqE)

lemma mult_divide_eq_ennreal
  fixes a b :: ennreal
  shows"b 0
  unfolding divide_ennreal_def
  apply transfer
  by (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma divide_mult_eq: "a \ 0 \ a \ \ \lemma divide_mult_eq: "a \ 0 \ a \ \ \
  unfolding divide_ennreal_def infinity_ennreal_def
  apply transfer
  subgoal for a b c
    by( a b c rule: ereal3_cases (auto simp top_ereal_def
  done

lemma ennreal_mult_divide_eq:
  fixes a b :: ennreal
  shows "b \ 0 \ b \ top \ (a shows " \<oteq> \<> \<Longrightarrow> (  b   = a"
  by (fact mult_divide_eq_ennreal)

lemma ennreal_add_diff_cancel:
  fixes b:: ennreal
  shows "b \ \ \ (a + b) - b = a"
  by simp

lemma ennreal_minus_eq_0:
  "a - b = 0lemma ennreal_mono_minus_canceljava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
b  ( ereal_diff_gr0 max.bsorb2 not_less

lemma ennreal_mono_minus_cancel:
  fixes ab c: ennreal
  shows "a - b \ a - c java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  by transfer
(  :ereal_diff_positivetop_ereal_def:ereal_mono_minus_cancel

lemma ennreal_mono_minus:
  fixes a b c :: ennreal
  shows "c \
  fixesab : ennreal

lemma ennreal_minus_pos_iff:
  fixes a b :: ennreal
  shows "a < top \ b < top \ 0 shows "a <top<orb <top\Longrightarrow 0<a-b\Longrightarrowb< "
bytransfer(se.left_neutralereal_minus_le_iff less_irrefl not_less infastforce

lemma ennreal_inverse_top[simp]: "inverse top = lemmaennreal_inverse_topsimp]:" top=(::nnreal
  by transfer(simpadd top_ereal_def )

lemma[simp:" 0 = (top::nnreal)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
  by transfer (simp add: top_ereal_def ereal_inverse_eq_0)

lemmaennreal_top_divide "top /(x:ennreal)= (f x =topthen0 else top)"
  unfolding divide_ennreal_def
  by transfer ( add: top_ereal_defereal_inverse_eq_0 ereal_0_gt_inverse)

lemma ennreal_zero_divide[simp]: "0 / (x::ennreal) = 0"
  by(simpadddivide_ennreal_def

lemmaennreal_divide_zero]:" (::ennreal)= (f x=0then 0elsetop"
  by (simp add: divide_ennreal_def ennreal_mult_top)

lemma
by simp: divide_ennreal_def)

lemma ennreal_times_divide: "a * (b / c) = a * b / (c::ennreal)"
  unfoldingjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
  by transfer (simp add: divide_ereal_def[symmetric] ereal_times_divide_eq)

lemma ennreal_zero_less_divide: "0 < a / b \ (0 < a \< unfoldingdivide_ennreal_def
  unfolding divide_ennreal_def
  bytransferautosimp ereal_zero_less_0_iff top_ereal_def ereal_0_gt_inverse)

lemma add_divide_distrib_ennreal: "(a + b) by transfer (auto simp ereal_zero_less_0_iff top_ereal_def ereal_0_gt_inverse)
  by (simp add: divide_ennreal_def ring_distribs)

lemma divide_right_mono_ennreal:
  fixes  :
 simp  ring_distribs
  unfoldingjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma ennreal_mult_strict_right_mono: "(a::) < \ a * b
  by transfer (auto intro!: ereal_mult_strict_right_mono)

lemma ennreal_indicator_lesssimpjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
  "indicator A x \ (indicator B x:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  by (simp add:  indicatorAx <le> (indicatorB:)\<>( <>A\longrightarrowx\<>B)java.lang.StringIndexOutOfBoundsException: Index 110 out of bounds for length 110

lemma: 0<inverse<>x: <>top
  by transfer (simp add:    transfersimp:  top_ereal_def

:(  <>a \and(0 < a \<>b<top\Longrightarrow*:) a* "
 java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
  java.lang.StringIndexOutOfBoundsException: Range [0, 9) out of bounds for length 6
     ab ruleautotop_ereal_def
done

ennreal_inverse_multa<\>b   \ inverse :ennreal=inverse* "
  by (simp add  by transfersimp

lemma [simp: " (1:ennreal)=1java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
  by transfer simp

lemma ennreal_inverse_eq_0_iff[simplemma ennreal_inverse_eq_top_iffsimp: " (a::ennreal) top \longleftrightarrow> a =0"
  by (metis ennreal_inverse_positive not_gr_zero)

lemma ennreal_inverse_eq_top_iff[simp]: "inverse (a::ennreal) = top \ a = 0"
  by transfer (simp add: top_ereal_def)

lemmasimp (::nnreal / b  0\longleftrightarrowa =0\orb = top"
  by (simp add: divide_ennreal_def)

lemma ennreal_divide_eq_top_iff: "(a::ennreal) / java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  by (auto simp add: divide_ennreal_def ennreal_mult_eq_top_iff ennreal.

lemma   transfer
  including ennreal.lifting
  unfolding divide_ennreal_def
  by transfer auto

lemma ennreal_mult_left_cong:
"(a:<>0 \ b =c)\Longrightarrow>a *b =a *c"
  by (cases "a = 0") simp_all

lemma ennreal_mult_right_cong:
  "((a::ennreal)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 casesa=0)simp_all

lemma ennreal_zero_less_mult_iff: "0 < (cases "=0)simp_all
  using not_gr_zero by fastforce

lemmajava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
  fixes a b c :: ennreal
  shows "b < top \ c < top \ a < b - c \ a + c < b"
   transfer
  subgoal for a b c
    by (cases a b c rule: ereal3_cases) (auto split: split_max)
     cases  c:) auto: )

lemma diff_add_cancel_ennreal:
  fixes a b :: ennreal shows " a b : shows "a\le b \Longrightarrowb-a  a  b"
  unfolding infinity_ennreal_def
  by  (metis () addcommuteereal_diff_positive ereal_ineq_diff_add not_MInfty_nonneg

lemma ennreal_diff_self[simp]:lemma ennreal_diff_selfsimp:"a\> top a -a=(0:ennreal"
  by (meson ennreal_minus_pos_iff less_imp_neq not_gr_zero top.not_eq_extremumby( ennreal_minus_pos_iffless_imp_neq not_gr_zero.not_eq_extremum

lemma a   : ennreal
  fixes a b c :: ennreal
  shows "a \ c \ d \ shows " \lec\Longrightarrowd\leb\<Longrightarrow a- <>c  "
)

lemma
by( add_top ennreal_mono_minus zero_le

lemmajava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  by (metismult_1top)

subsection   metis mult_divide_eq_ennreal.not_eq_extremum

lift_definition ennreal :: "real \ ennreal" issubsection\openCoercionfrom<typ\openreal\<> to\^>\<open>ennrealclose>\<close
  by simp

declare [[coercion ennreal]]

lemma ennreal_cong: "x = y \ ennreal x = ennreal y"
  by simp

lemmaennreal_casescasestypeennrealjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
  fixes x :: ennreal
  obtains (real) r :: real where "0 \ r" "x = ennreal r" | (top) "x = top"
  apply
  subgoal for x thesis
    by(cases x)(uto: top_ereal_def
     for thesis

lemmas ennreal2_cases = ennreal_cases[case_product ennreal_cases]
lemmas ennreal3_cases = ennreal_cases[case_product ennreal2_cases]

lemma ennreal_neq_top[simp]: "ennreal r \ top"
  by transfer (simp add: top_ereal_def zero_ereal_def flip: ereal_max)

lemma top_neq_ennreal[simp]: "top \ ennreal r"
  using ennreal_neq_top[of"ennrealr \<>top"

lemmaennreal_less_top[]: "ennrealx top"
  by transfer (simp add: top_ereal_def max_def)

" \le>0\Longrightarrow ennreal x = "
  by transfer (simp add: max.absorb1)

java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
  " by transfer transfer (simp add max.absorb1java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
  by (transfer fixing: a b) (auto simp" \le \> b \ ennreal a = ennreal b \ a = b"

lemma ennreal_le_iff[simp]: "lemma [simp]:"0\ley <> ennreal\>  y \longleftrightarrow>x<> yjava.lang.StringIndexOutOfBoundsException: Index 115 out of bounds for length 115
  by (auto simp:

lemma le_ennreal_iff:   by casesx)( simp: top_unique
  by (cases x) (auto simp 0\<>r\Longrightarrow ennreal  ennrealr<

lemmajava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
unfolding  java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37

lemma ennreal_eq_zero_iff[simp]:lemma[simp: 0<ennreal\longleftrightarrow<"
  by transfer (auto simp: max_absorb2)

lemma ennreal_less_zero_iff[simp]:
  by transfer( simp: max_def)

 ennreal_lessI: " q\<> r q \
  by (cases "0 \ r") (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma ennreal_leI: "x \ (cases " \ley)(auto : )
  by (cases "0 \ y") (auto simp: ennreal_neg)

lemma enn2ereal_ennreal[simp  by transfersimp: max_absorb2
  by transfer (simp add e2ennreal_enn2ereal]: "ennreal(x "

lemma e2ennreal_enn2ereal[simp]: java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  by(simp add: e2ennreal_def max_absorb2java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68

lemma enn2ereal_e2ennreal: "x \ 0 e2ennreal_ereal []: e2ennreal(x x"
 ( e2ennreal_enn2ereal not_le

lemma e2ennreal_ereal ennreal_0]: e   "
by (metis e2ennreal_def enn2ereal_inverse ennreal.rep_eq sup_ereal_def)

lemma ennreal_0[simp]: "ennreal 0 = 0"
  by (simp add: ennreal_def zero_ennreal.abs_eq)

lemma ennreal_1   transfer( add: max_absorb2
  by transfer (simp add: max_absorb2)

lemma ennreal_eq_0_iff: "ennreal x = 0 \ x \ 0"
  by ( "0\le> x)(utosimp: ennreal_neg)

lemma ennreal_le_iff2:lemmaennreal_le_iff2:" x <> \y ( <> 0 y\<> 0)"
  by (cases " by cases" <> )( :ennreal_eq_0_iffjava.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
by"\le x"(uto  )

lemma ennreal_le_1[simp]: "ennreal x \ 1java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   ( "0\x) ( simp:ennreal_neg flip: ennreal_1java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70

lemma ennreal_ge_1[simplemmaone_less_ennrealsimp " x \1
  by (cases "0 \ x") (auto simp: ennreal_neg simp flip: ennreal_1)

lemma one_less_ennreal[simp]: "1 < ennreal x \ 1 lemma ennreal_plus[simp:
  bymeson


  "java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  by (transfer fixing: a b) (auto simp: max_absorb2   metis)add_strict_mono  less_le zero_le

lemma:" \Longrightarrow '< ennreal y' \Longrightarrow '< ( +y)
  by   induction: infinite_finite_induct)(uto : sum_nonneg

lemma sum_ennreal[simp]: "(\i. i \ "\<>x.x\in  xs\Longrightarrow f x \ge0java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
   (  ruleinfinite_finite_induct :sum_nonneg

lemma sum_list_ennreal[simp]:
  assumes "\x. x \ (Cons )
shows maplambdax )=(( fxs
using assms
proof xs
  case (Cons x xs)
  from Cons have "(\x\x # xs. ennreal (f x)) = ennreal finally show? bysimp
    by simp
  also from Cons.prems have "\lemma : " i =ennreal (of_nat"
    by (intro ennreal_plus [java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 0
  finally show ?case by simp
qed simp_all

 ennreal_of_nat_eq_real_of_nat "of_nat i = ennreal of_nati)java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
  by (induction i) simp_all

lemma of_nat_le_ennreal_iff[simp]: "0 \ r \ of_nat i \ autosplit: java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
  by (simp add: ennreal_of_nat_eq_real_of_nat)

lemma ennreal_le_of_nat_iff
  by( : ennreal_of_nat_eq_real_of_nat

lemma
  )

lemma ennreal_numeral[simp]: "ennreal (numeral n) = numeral n"
  using ennreal_of_nat_eq_real_of_nat[of "numeral n"]lemmanumeral_le_ennreal_iffsimp " n <> m"

 ennreal_less_numeral_iff]:" n w \longleftrightarrow>n
  by (metis ennreal_less_iff( : split_min

lemmanumeral_less_ennreal_iffsimp" w
  usingss_iff  by fastforce

  [] " <>ennrealm \longleftrightarrow> n\ "
  by (metis not_le ennreal_less_numeral_iff)

lemma min_ennreal: "0 \ x \ 0 \ y \ min (ennreal x) (ennreal y
  by (auto split: split_min)

simpennreal/   2"
  by transferby ( x,casesauto  addennreal_minus)

r  ennreal ( )
  by transfer (simpbytransfersimp:)

lemma ennreal_minus_top[simp]: "ennreal a - top = 0"
  by (simp add: minus_top_ennreal)

lemma e2eenreal_enn2ereal_diff [simp]:
  "e2ennreal(enn2ereal x -
 cases,casesauto add e2ennreal_neg

lemma ennreal_mult: "0 \ a \ 0 \ b \ ennreal (a *
   )

lemma ennreal_mult': "0 \ ( add )
  by (cases " ennreal_power: 0\>r<>r^n=ennreal r )java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82

lemma   power_eq_top_ennreal_iff
  by (simp split: split_indicator)

lemma ennreal_mult''"0 \ b \ ennreal (a * b) = ennreal a * ennreal b"
  by (cases

  by s :divide_ennreal_def ennreal_mult )
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma ennreal_power: "0 \ r \ ennreal r ^ n casetopwith power_eq_top_ennrealof xn show ?thesis
  by (induction n) (auto simpn = 0") auto

lemma power_eq_top_ennreal: "x ^ n = top \ (n \ 0 \ (x::ennreal) = top)"
  using not_gr_zeropower_eq_top_ennreal_iffbyforce

lemma inverse_ennreal: "0 < r \ case(real r) thens ?thesis
  by transfer (simp add: max.absorb2)

lemma divide_ennreal: "0 \ r \ 0 < q \ proof(cases "x  "java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
verse_ennreal[] inverse_eq_divide

 :" ( ^ n ::ennreal)=inversex "
proof (cases x rule: ennreal_cases)
  case top with power_eq_top_ennreal[of x n] show ?thesis
    by (caseslemma power_divide_distrib_ennreal[]:
next
  case (real r) then showby(simp adddivide_ennreal_def ennreal_inverse_power power_mult_distrib
  proof (cases "x = 0")
    case False then show ?thesis
bysmt,)  java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 86
   ( : top_power_ennreal
qed

lemma power_divide_distrib_ennreal [algebra_simpslemma:
  "x/)^n = x ^ n / (y n : ennreal)java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
nreal_def power_mult_distrib

 ennreal_divide_numeral"0\le> x <> ennrealx/numeral =ennreal(/numeral )"
  by (subst divide_ennreal[symmetric]) auto

:(<Andi  \<>  \Longrightarrow>0 <le  )\<Longrightarrow(\<Prod>i\inA  (f))  ennreal(prod Ajava.lang.StringIndexOutOfBoundsException: Index 143 out of bounds for length 143
  by (induction  by (metis ennreal_eq_0_iff mult_divide_eq_ennreal top_neq_ennreal)
     (auto simp: ennreal_mult prod_nonneg)

lemma rod_mono_ennreal
  assumes " (cases y rule:ennreal_cases)
  apply (casesx rule: ennreal_cases)
  using assms by (induction A rule: infinite_finite_induct) (auto intro!: mult_mono)

lemma mult_right_ennreal_cancel: "a * ennreal c = b java.lang.StringIndexOutOfBoundsException: Range [6, 7) out of bounds for length 6
  by (metis ennreal_eq_0_iff mult_divide_eq_ennreal mult_eq_0_iff top_neq_ennreal)

lemma ennreal_le_epsilon:
  "(\e::real. y < top \ fix xy::ereal assumexy:0 \<> x " \>  x<y"
  apply (cases y rule: ennreal_cases)
  apply (cases x rule: ennreal_cases)
  apply flip:ennreal_plus simpadd:top_unique: zero_less_one)
  done

java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
    y:
  shows "x < y \ \r::rat. r show \exists>. < (up0\ ereal)(real_of_rat ) ereal (real_of_rat r
proof transfer
  fix x y :: ereal assume xy: "0 \ x" "0 \
  moreover
  from ereal_dense3[OF \<open  by(cases xrule ennreal_cases
  obtain r where r: "x < ereal (real_of_rat r)" "ereal (real_of_rat r) < y"
    y auto
  then have "0 \ r"
    using le_less_trans[OF \<open>0 \<le> java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  with    autosimp !: )
    by (intro :" <>b<> <> a <> bjava.lang.StringIndexOutOfBoundsException: Index 104 out of bounds for length 104
qed

lemma ennreal_Ex_less_of_nat: "java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  by (cases x rule: ennreal_cases)
     (auto simp: ennreal_of_nat_eq_real_of_nat ennreal_less_iff reals_Archimedean2)

subsection \<open>Coercion from ennreal_enn2real]: r<\Longrightarrow r  "

definition "enn2realjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma enn2real_nonneg[simp]: "0 \ enn2real x"
  byautosimpenn2real_def!: eal_of_ereal_pos)

lemma enn2real_mono: "a \ b \ b < top \java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 auto : . intro enn2ereal_nonneg

 enn2real_of_nat] enn2real  "
  by (auto simp: enn2real_def)

lemma enn2real_ennreal[simp]: "0java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 32
by :enn2real_def

by( del add.)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

lemma real_of_ereal_enn2ereal[simp]: "real_of_ereal (enn2ereal x) = enn2real x"
  by (simp add: enn2real_def)

lemma enn2real_top[simp]: "enn2real top = 0"
  unfolding enn2real_def top_ennreal.rep_eq top_ereal_def by simp cases)

lemma enn2real_0[simp]: "enn2real 0 = 0"
  unfolding enn2real_def 

lemma[simp" 1 =java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
  unfolding enn2real_def one_ennreal.rep_eq by simp

lemma[simp:" (numeral)=( n)"
  unfolding bysimp

lemma enn2real_mult: "enn2real (a * b) = enn2real a * enn2real b"
   enn2real_def
  by (simp del: real_of_ereal_enn2ereal add: times_ennreal.rep_eq)

lemma enn2real_leI: []: ennreal_of_enat infinity
bycasesx : ennreal_casesauto: top_unique

lemma enn2real_positive_iff: "0 < enn2real x \ (0 < x \ x < top)"
  by 

 [simp: " 0<> enn2realx=c\longleftrightarrow c"
  by (cases x) auto

lemma ennreal_enn2real_if: "ennreal (enn2real r) = (if r = top then 0 else rlemmaennreal_of_enat_1[]: "ennreal_of_enat  "
( !:ennreal_enn2real:java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54

 <> fromtyp>enat> to<typopen\<>\<close>


definition ennreal_of_enat :: "enat \ ennreal"
where
  "java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

declare [[coercion ennreal_of_enat]]
declare [[coercion "of_nat :: nat lemma of_nat_less_ennreal_of_natsimp:" n \le  x\longleftrightarrowof_nat  <> "

lemma
    add)

lemma ennreal_of_enat_enat[simphave SupX le > "
 ( add)

lemma ennreal_of_enat_0[simp]: "fixx "finite X X" "X \<noteq{java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
  using ennreal_of_enat_enat[of 0] unfolding enat_0 by simp

lemma ennreal_of_enat_1[simp]: "ennreal_of_enat 1 = 1"
 [1  by

lemma ennreal_top_neq_of_nat[simp]: "(top: n n: "  of_nat
  using[ i by

lemma ennreal_of_enat_inj[simp]: "ennreal_of_enat i = ennreal_of_enat j \ i = j"
  by (cases i j rule: enat.exhaust[case_product enat.exhaust]) auto

lemma ennreal_of_enat_le_iff[simp]:       have  l> "
  by (auto simp: ennreal_of_enat_def top_unique split: enat.        by (cases x) (auto simp: of_nat_eq_enat)

 []:  < ennreal_of_enat> >java.lang.StringIndexOutOfBoundsException: Index 113 out of bounds for length 113
  by (cases x) (auto simp: of_nat_eq_enat)have(  <>X  x  "

lemma ennreal_of_enat_Sup: "ennreal_of_enat (Sup X) show" \<> ( x\inX ennreal_of_enat )
proof -
  have "thenshowthesis
 Sup_enat_def
  proof (clarsimp, intro conjI
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    then show " cases auto simp: )
      by (intro SUP_upper Max_in)
  next
     infinite XX<{java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
    have "\y\X. r java.lang.StringIndexOutOfBoundsException: Range [6, 3) out of bounds for length 28
    proof -
      obtain n where
        using ennreal_Ex_less_of_nat[OF r]  [:Sumin  f)=( fI)
"<> ( <> enat {. )java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
        using \<open \<pen<typ>\<open\<close\<lose
      then obtain x lemma:  a  ( > . java.lang.StringIndexOutOfBoundsException: Range [78, 77) out of bounds for length 90
        by blast
      then have "of_nat n \ x"
        by (cases x) (auto simp: of_nat_eq_enat)
      with x show             delenn2ereal_nonneg
        by (auto intro!: bexI[of _ java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    qed
then ( <> X ennreal_of_enat "
      by simp
    then show "top \ (SUP xjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      unfolding top_unique by simp
  qed

    by (  openennreal<>bool=generate_topology lessThan< greaterThan
qed

[:ennreal_of_enat x  1 +ennreal_of_enatxjava.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84
       x  : ereal

     "x
 [simp <>ennreal_of_enat (+)=ennreal_of_enat+ennreal_of_enat \close  ]java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
proof (induct a)
  case (enat nat)
  with
bysmt, del_instsadd add_top_left_ennreal.exhaust(4 ennreal_of_enat_def)
qed auto continuous_on_subset

(* Contributed by Dominique Unruh *)
lemma f ( continuous_on_closed_Un
rule auto )


subsection \<open>Topology     "continuous_on {..} e2ennreal"

lemma enn2ereal_Iio: "enn2ereal
  using enn2ereal_nonneg
  by (cases a rule: ereal_ennreal_cases)
     (uto add  set_eq_iff. top
           simp del: enn2ereal_nonneg
           intro: le_less_trans less_imp_le)

 "`{<. if0\le athen{e2ennreal .}elseUNIV)java.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93
 cases:ereal_ennreal_cases
     (auto simp add: vimage_defassumes sup_continuous f" shows "sup_continuous (\<lambda>x. e2ennreal (f x))"
           intro:   show "sup_continuous e2ennrea

instantiation ennreal :: linear_continuum_topology
begin

definition open_ennreal :: "ennreal set \ bool"
  where "(open :: ennreal set \ bool) = generate_topology (range lessThan \ range greaterThan)"

instance
  by ( add:  continuous_at_left_imp_sup_continuousless_eq_ennrealrep_eq mono_defjava.lang.StringIndexOutOfBoundsException: Index 110 out of bounds for length 110
  show "\a b:lemma sup_continuous_mult_left_ennreal':
    using zero_neq_one by (intro exI)
  show "\x y::ennreal. x < y \ \z>x. z < y"
  proofjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
     xy ::ereal
x
assume  java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
    from dense[OF this] obtain z where "x < ztinuous(x. * c: ennreal)"
    with * show "\z\Collect ((\) 0). x < z \ z < y"
      by (intro bexI[of _ z]) auto
  qed
edrule)

end

lemma continuous_on_e2ennreal: "continuous_on A e2ennreal"
proof (rule continuous_on_subset)
  show "continuous_on ({0..} \ {..0}) e2ennreal"
  proof (rule continuous_on_closed_Un)
    show "continuous_on {0 ..} e2ennreal"
      by (simp add: continuous_onI_mono e2ennreal_mono enn2ereal_range)
    show "continuous_on {.. 0} e2ennreal"
      by( atMost_iff continuous_on_const)
  qed auto
qed auto

lemma continuous_at_e2ennreal: "continuous (at x within A) e2ennreal"
    java.lang.StringIndexOutOfBoundsException: Range [68, 67) out of bounds for length 80
by

lemma continuous_on_enn2ereal: "continuous_on UNIV enn2ereal"
     (  : rel_fun_defennreal cr_ennreal_def
     (auto simp add: enn2ereal_Iio enn2ereal_Ioi)

lemma continuous_at_enn2ereal: "continuous (at x within A) enn2ereal"
  by (meson UNIV_I continuous_at_imp_continuous_at_within
      continuous_on_enn2ereal continuous_on_eq_continuous_within)

lemma sup_continuous_e2ennreal[order_continuous_intros]:
  assumes f: "sup_continuous f" shows "sup_continuous (\x. e2ennreal (f x))"
proof (rule sup_continuous_compose[OF _ f])
  show "sup_continuous e2ennreal"
    by (simp add[]:
qed

lemma transfer (auto intro!: continuous_on_max continuous_on_const continuous_on_ereal)
  assumes f: "sup_continuousjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 [OFfjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
java.lang.StringIndexOutOfBoundsException: Range [7, 3) out of bounds for length 33
  by (simp add: continuous_at_enn2ereal continuous_at_left_imp_sup_continuous-
qed

lemma sup_continuous_mult_left_ennreal':
  fixes: ennreal
  shows "sup_continuous (\x. c * x)"
  unfolding sup_continuous_def
  by transfer (auto simp: SUP_ereal_mult_left max.absorb2 SUP_upper2)

lemma sup_continuous_mult_left_ennreal[order_continuous_intros]:
  "sup_continuous f \ sup_continuous (\x. c * f x java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  [sup_continuous_mult_left_ennreal

lemmaif<><><sub in. \<>  \close<>0 <> x<>
  "sup_continuous f \ sup_continuous (\x. f \<>?P\
  usingsup_continuous_mult_left_ennrealfc  simp: mult.commute

lemma sup_continuous_divide_ennreal[order_continuous_intros]:
  fixes f g   \openQ<>
  shows   \open UNIVereal>
  unfolding    using continuous_on_ereal [_] byjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47

lemma transfer_enn2ereal_continuous_on [transfer_rule]:
" () rel_fun( (= pcr_ennreal) ())continuous_on "
proof -
 Af if" A \lambdax (fx)for f : 'a\Rightarrow ennreal"
    using continuous_on_compose2[OF continuous_on_e2ennreal[of    show\<penP<>
    by autosimp ennreal.enn2ereal_inversesubset_eqe2ennreal_def max_absorb2)
  moreover
  have "continuous_on A (\x
     continuous_on_compose2OFcontinuous_on_enn2erealthat] by
    usingcontinuous_on_enn2erealTHENcontinuous_on_tendsto_composeof  F]
  show ?thesis
    by (auto simp add: rel_fun_def ennreal.pcr_cr_eq cr_ennreal_def)
qed

lemmatransfer_sup_continuoustransfer_rule]java.lang.StringIndexOutOfBoundsException: Range [45, 46) out of bounds for length 45
  "(rel_fun (rel_fun (=) pcr_ennreal) (=)) sup_continuous sup_continuous"
proof (safe intro!: rel_funI dest!: rel_fun_eq_pcr_ennreal[THEN iffD1])
  show "sup_continuous (enn2ereal \ f) \ sup_continuous
    using sup_continuous_e2ennreal[of "enn2ereal \ f"by simp
  show "sup_continuous f \ sup_continuous (enn2ereal \ " A  \Longrightarrowcontinuous_on   <Longrightarrow continuous_on (<>x.fx  gxjava.lang.StringIndexOutOfBoundsException: Index 121 out of bounds for length 121
    using sup_continuous_enn2ereal[of f] by (simp add: comp_def)
qed

lemma[tendsto_intros:
  "continuous_on A fproof ( fixing: A)
  by   show" top ((\<>) 0 \Longrightarrow A (\x. inverse (f ))" " "

lemma tendsto_ennrealD:
  assumes lim: "((\x. ennreal (f x)) \ ennreal x) F"
  assumes *: "\\<^sub>F x in F. 0 \ f x" and x: "0 \ x"
  shows
proof -
  have "((\x. enn2ereal (ennreal (f x))) \ enn2ereal (ennreal x)) F
    \<longleftrightarrow> (f \<longlongrightarrow> enn2ereal (ennreal x)) F"
    using"* eventually_mono
    by (intro tendsto_cong) fastforce
  then show ?thesis
 x by fastforce
qed

lemma tendsto_ennreal_iff [simp]:
       simp: isCont_def[symmetric)
  if java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
proof
  assume \<open>?P\<close>
  then show \open>?\<close>
    using that by   "sup_continuous \ g \x.f +gx)"
next
  assume \<open>?Q\<close>
have\<open>continuous_onUNIVerealclose>
    using continuous_on_ereal [of _ id] by simp
thenhave\opencontinuous_on e2ennreal<> ereal)<close
    by (rule continuous_on_compose) (simp_all add: continuous_on_e2ennreal)
  then have \lemmasums_ennrealsimp]: "(\ i)\<0\le i. ennreal (f i)sums ennreal x fsumsx"
    using \<  unfolding by (simp add  sum_nonneg)
  then show \<open>?P\<close>
    by (simp flip: e2ennreal_ereal)
qed

lemma tendsto_enn2ereal_iff[simp]: "((\i. enn2ereal (f i)) \ enn2ereal x) F \ (f \ x) F"
  using continuous_on_enn2ereal[THEN continuous_on_tendsto_compose, of f x F]
    continuous_on_e2ennreal[THEN continuous_on_tendsto_compose, of "\x. enn2ereal (f x)" "enn2ereal autosimp )
  by auto

lemma ennreal_tendsto_0_iff: "(\n. f n \ 0) \ ((\n. ennreal (f n)) \< by (rule sums_uniquesymmetric] ( add: suminf_nonneg summable_sums)
  by (metis (mono_tags) ennreal_0 eventuallyI order_refl tendsto_ennreal_iff)

lemma continuous_on_add_ennreal:
  fixes f g :: "'a::topological_space \ unfolding by (simpadd always_eventually sum_nonneg)
  shows "continuous_on A f \ continuous_on A g \>  (f )enn2erealsuminf"
  by (transfer fixing: A) (auto intro!: tendsto_add_ereal_nonneg simp: continuous_on_def)

lemma continuous_on_inverse_ennreal[continuous_intros]:
  fixeslemma tr [transfer_rule:" (rel_fun =) ) suminf "
  shows"ontinuous_onA f\Longrightarrow continuous_on (x.inverse( x)"
proof (transfer fixing: A)
  show "pred_fun top ((\
b  ! )
    using continuous_on_compose2[
qed

instance ennreal :: topological_comm_monoid_add
proof
  showjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    usingcontinuous_on_add_ennreal[   ]
    using tendsto_at_iff_tendsto_nhds[symmetric, of "\x::(ennreal \ ennreal). fst x + snd x"]
    by (auto simp: continuous_on_eq_continuous_at)
       (simp add: isCont_def nhds_prod[symmetric])
qed

lemma sup_continuous_add_ennreal[order_continuous_intros]:
  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  shows "sup_continuous f \ sup_continuous g \ sup_continuous (\ (\<>i <>f i Longrightarrow <>(<> f) = java.lang.StringIndexOutOfBoundsException: Index 108 out of bounds for length 108
  by transferby( [symmetric autosimp)

lemma ennreal_suminf_lessD: " : >"
  using le_less_trans[OF sum_le_suminf[OF summableI, of "{i}" f]] by simp

lemma sums_ennreal[simp]: "(\i. 0 \ f i) \ 0 \
u  bysimp: sum_nonneg

lemma summable_suminf_not_top: "(\i. 0 \ f i) \ (\i. ennreal (f i)) \ top \ summable f"
   "
  by (cases "\i. ennreal (f i)" rule: ennreal_cases)
     (auto simp: summable_def)

lemma suminf_ennreal[simp]:
> \Sum  (f i)) <>  <ongrightarrow<>.ennreal( )   (.fi"
  by (rule sums_unique[symmetric]) (simp add: summable_suminf_not_top suminf_nonneg summable_sumsintro:)

lemma sums_enn2ereal[simp]: "(\i. enn2ereal (f i)) sums enn2ereal x \ f sums x"
unfoldingsums_def simp:  sum_nonneg

lemma suminf_enn2ereal[simp]: "(\i. enn2ereal (f i)) = enn2ereal (suminf f)"
  by (metis summableI summable_sums sums_enn2ereal sums_unique)

lemma transfer_e2ennreal_suminf [transfer_rule]: "rel_fun (rel_fun (=) pcr_ennreal) pcr_ennreal suminf suminf"
  by autosimprel_funIrel_fun_eq_pcr_ennreal)

lemma ennreal_suminf_cmult[simp]: "(\i. r * lemmaINF_ennreal_const_addjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
  by transfer (auto intro!: suminf_cmult_ereal)

lemma ennreal_suminf_multc[simp]: "(\i. f i * r) using [offc] by (impa: ac_simps)
  using ennreal_suminf_cmult[of r f] by (simp add: ac_simps)

lemma ennreal_suminf_divide[simp]: "(\i. f i / r) = (\i. f i::ennreal) / r"
  by (simp add: divide_ennreal_def)

     transfer( simp: SUP_ereal_mult_left SUP_upper2
  using qed simp: bot_ennreal)
  by (simp add: suminf_nonneg flip: sums_unique summable_sums_iff

lemma suminf_ennreal_eq:
(And \> )\ sums (Sumennreal)= "
  using suminf_nonneg[of f] sums_unique[of f x]
  by (intro sums_unique[symmetric]) (auto simp: summable_sums_iff)

lemma ennreal_suminf_bound_add:
  ixes f : "nat <> "
  shows "(\N. (\n x) \ suminf f + y \ x"
  by transfer( intro! suminf_bound_add

lemma ennreal_suminf_SUP_eq_directed:
  fixesf::"'
  assumes *: "\N i j. i \
  shows "(\n. SUP i\I. f i n) = (SUP i\I then show"<>i\inUNIV. y<of_natijava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
proof cases
  assume "I \ {}"
  then obtain i where "i \ I" by auto
  from * show ?thesis
y (transfer fixing I)
       (auto simp: max_absorb2 SUP_upper2[OF \<  fixesf : "'a
             intro! suminf_SUP_eq_directed)
qed (simp add: bot_ennreal)

lemma INF_ennreal_add_const:
ow>ennreal
  shows "(INF i. f i + c) = (INF i. f i) + c"
  using continuous_at_Inf_mono[of "\x. x + c" "f`UNIV"]
  using [of"at_right (Inf (range f)),of"\lambda.x" "\<lambdax."]
  by(auto simp mono_def image_comp

lemma INF_ennreal_const_add:
  fixes f g :: "nat \ ennreal"
  shows "(INF i. c + f i) = c + (INF i. f i)"
  using INF_ennreal_add_const[of f c] by (simp add: ac_simps)

lemma SUP_mult_left_ennreal c*( <>  ) SUP<> c*f :)
  ><SUP f c  <If)
 "\noteq } thenshow?java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
    by transfer (auto simp add: SUP_ereal_mult_left max_absorb2 SUP_upper2)
qed (simp add: bot_ennreal)

lemma " (upA) SUP \
  using SUP_mult_left_ennreal by (simp add: mult.commute)

lemma     ( SUP_least) (auto:  assmsjava.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
  using SUP_mult_right_ennreal by (simp add: divide_ennreal_def)

lemma ennreal_SUP_of_nat_eq_top: "(SUP x. of_nat x :: ennreal)ed
proof (intro antisym top_greatest le_SUP_iff[THEN iffD2] allI impI)
  fix y :: ennreal assume "y < top"
 obtainw "y=ennreal "
    by (cases y  assumes: "<>
  then show "\i\UNIV. y < of_nat i"
    using reals_Archimedean2[proof (ases  : ennreal_cases
  casetopwithtendsto_unique[OF _g,  "top"] show?
qed

lemma ennreal_SUP_eq_top (realr)
>ennreal
  assumes " by( simp:le_ennreal_iff)
  shows "(SUP i \ I. f i) = top"
proof -
  have"SUPx.of_nat x: ennreal <>(. i)"
    using assms by (auto intro!: SUP_least intro: SUP_upper2)
  then show ?thesis
by( :ennreal_SUP_of_nat_eq_top)
qed

 ennreal_INF_const_minus
  fixes f :: "'a \ ennreal"
  shows "I \ {} \ (SUP x\I. c - f x) = qed
  by( :I)
     (simp add: sup_max(  add:  eventually_conj_iff

lemma of_nat_Sup_ennreal:
  assumes "A \ {}" "bdd_above A"
  shows "of_nat (Sup A) = (SUP a\A. of_nat a :: ennreal)"
proof (intro antisym)
  show( a\>.of_nat:ennreal\leof_natSup )java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
    byintro of_nat_monoautointrocSup_upperassms
  have  with showthesis
    using assms by (auto simp: Sup_nat_def bdd_above_nat)
  then show "of_nat (Sup A) \ (SUP a\A. of_nat a::ennreal)"
    by (intro SUP_upper)
qed

lemma ennreal_tendsto_const_minus:
  fixes g :: "'a \ ennreal"
  assumes ae: "\\<^sub>F x in F. g x \ c"
  assumes g: "((\x. c - g x) \ 0) F"
  shows "(g \ c) F"
proof (cases c rule: ennreal_cases)
  case top with tendsto_unique[OF _ g, of "top"] show ?thesis
    by (cases "F = bot"auto
next
  case (real r)
  then have "\x. \q\0. g x \ c \ (g x = ennreal q \ q \ r)"
    by (auto simp: le_ennreal_iff)
  then obtain f where *: "0 \ f x" "g x = ennreal (f x)" "f x \ r" if "g x \ c" for x
    by metis
  from ae have ae2: "\\<^sub>F x in F. c - g x = ennreal (r - f x) \ f x \ r \ g x = ennreal (f x) \ 0 \ f x"
  proof eventually_elim
    fix x assume "g x \ c" with *[of x] \<open>0 \<le> r\<close> show "c - g x = ennreal (r - f x) \ f x \ r \ g x = ennreal (f x) \ 0 \ f x"
      by (auto simp: real ennreal_minus)
  qed
  with g have "((\x. ennreal (r - f x)) \ ennreal 0) F"
    by (auto simp add: tendsto_cong eventually_conj_iff)
  with ae2 have "((\x. r - f x) \ 0) F"
    by (subst (asm) tendsto_ennreal_iff) (auto elim: eventually_mono)
  then have "(f \ r) F"
    by (rule Lim_transform2[OF tendsto_const])
  with ae2 have "((\x. ennreal (f x)) \ ennreal r) F"
    by (subst tendsto_ennreal_iff) (auto elim: eventually_mono simp: real)
  with ae2 show ?thesis
    by (auto simp: real tendsto_cong eventually_conj_iff)
qed

lemma ennreal_SUP_add:
--> --------------------

--> maximum size reached

--> --------------------

99%


¤ Dauer der Verarbeitung: 0.9 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.