Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Isabelle/Doc/Locales/document/   (Beweissystem Isabelle Version 2025-1©)  Datei vom 16.11.2025 mit Größe 1 kB image not shown  

Impressum Dense_Linear_Order.thy   Sprache: Isabelle

 
(*  Title       : HOL/Decision_Procs/Dense_Linear_Order.thy
    Author      : Amine Chaieb, TU Muenchen
*)


 open linear order without endpoints
  and a quantifier  procedureinFerranteandRackoffstyle<>

theory Dense_Linear_Order
imports Main
begin

ML_file langford_data.ML
ML_file 

context linorder
begin

lemma less_not_permute[no_atp]: "\ y
  by (simp   by (simp add

lemma ML_file <>ferrante_rackoff_dataML<
  "(\exists>x. \forally\in L.y < x) (\y \ \and x) \
    (x. (>L. y < x) (\ u U.x<y <>Px"
  "(\exists>x \forally\in .y (\<> <>U.x l x \ P x) \
    (x. ( (insert l 
  "(\x. (\y \ L. y < x) \ (\y \ U. x < y) \ x < u) \
    (x. ( L. y < x)  ( (insert u U). x < y))"
  "(\x. (\y \ L. y < x) \ (\y \ U. x < y) \ l
(exists \forallin<)and(forall <>Ux<y)
by

lemma gather_start [no_atp]: "(\x. P x)\ (\x.(\forall>y \<> {}. y (y\in>{}. xPx)
   
    (exists. () y   <> (forall<> U  <)
text <\exists.<>.  z\longrightarrow(x<>P<-^>infinity\closeclose
lemma minf_ltno_atp🚫 x. x < z  (x < t  True)"
  by auto
lemma minf_gt[no_atp]: "\z. \x. x < z \ (t < x \ False)"
  by (simp add: not_less) (rule exI[where x="t"], auto simp add: less_le)

lemma minf_le[no_atp]: "\z. \x. x < z \ (x \ t \ True)" 
  by (auto simp add: less_le)
lemma minf_ge[no_atp]: "\z. \x. x < z \ (t \ x \ False)"
  by (auto simp add: less_le not_less not_le)
lemma minf_eq[no_atp]: "\z. \x. x < z \ (x = t \ False)" 
  by auto
lemma minf_neq[no_atp]: "\z. \x. x < z \ (x \ t \ True)" 
  by auto
lemma minf_P[no_atp]: "\z. \x. x < z \ (P \ P)" 
  by blast

textTheorems>x. x < z  (P x  P🚫+🚫)
 []  z. x. z < x  (t < x  True)"
  by auto
lemma gather_startno_atp]: "(\x. P x) \ (\x. (\y \ {}. y < x) \ (\y\ {zxz x \ (x > x\ t \ True)" by>. ¬ (P1 x <>  x u x)  
by)rule=t]auto 

lemma pinf_ge  []:"\in> U \Longrightarrow x. \True \ t (\u\ U. x \ u)" byauto
byautosimpadd less_le
lemma pinf_le  npi_ge]" \in>U<> \x. Truet(\u\ U. x \ u)" by auto
  by (auto simp add: less_le not_less not_le)
lemmalemma  npi_eqnpi_eq[]: "t \in> U \<> \x. \not>False x = t t \ (u\\ U. x \
lemmano_atp:\exists\forallxz< longrightarrow \noteq t\longleftrightarrow True by
lemma pinf_P  npi_P[]: "x. ~P P\> (\exists>u\in> U x \ u)" byjava.lang.StringIndexOutOfBoundsException: Index 105 out of bounds for length 105

lemma[]t\><\forall.<> and  <u<>Uu\>by 
lemma[]: t <>U\Longrightarrow<>.\notFalse>  x >\in>U u\le>x)
  byby auto simp add le_less
lemma lin_dense_lt[no_atp:
lemma  "t \in U \
lemma  nmi_eqnmi_eqno_atp] "t \ \x. \ \ x = t u\ U. u \ x)" by
lemma  nmi_neq[no_atp]:  by (metisantisym_conv3.strict_trans
lemmalemma lin_dense_gtno_atp:
lemmaa  nmi_conj[no_atp  nmi_conjno_atp [x. ¬ \and P1 <  (e>\in  \le x 
  <>xlu (<>t.  <t\and   u <>  <notin ) \and l<x\and  < u (<y\and y  u <> t  y)
  x. ¬(P1  byby(metis antisym_conv3 order.)
lemmanmi_disj[no_atp]:"\x. \not>P1'' \P1 x\ (\exists>u\ U. u \
   <>U\Longrightarrow
   <>(P1 \or P2  <or  x) <longrightarrow   U. u  xx)"by auto

lemma  npi_lt[no_atp]: "t \ U \ \x. \False \ x < t \ (\u\ U. x \ u)" by (auto  by (metis)
lemmalin_dense_geno_atp]
  t \inU\Longrightarrow
lemma  npi_ge[no_atp] " \forallx.. \True \ t \ x \ (\u\ U. x <>u"by
lemma ( localle_less_trans.nle_le not_le)
lemma  npi_neq[no_atp]: "t \ U \ \x. \True \ t \ (\U x\ u ) by auto
lemma  npi_P[no_atp]: "\x. ~P \ P \ (\u\ U. x \ )" by
lemma  npi_conjno_atp] [<>\>¬'\> (\\ u); \forall>x. \not>P2 \>> P2 x\>u\ U. x \ u\rbrakk>
  ==>  <>.\not(' \
lemma
  ==>x <(P1 <or P2)\and> P1x\or>P2x <>(existsu<inU. x <le u) by

lemmanmi_gt[]   auto
  mmalin_dense_neq[]:
    <> u.\forallt l t\and t  u  t \notin>U) \and l   x \and>x  u<andx<\>< l\  u\longrightarrow y<t"
  by (metis antisym_conv3 order.strict_trans)lemmanmi_eqno_atp:"t \< > U .\>False \ x (\u\ U. u \ x)" byby auto

mma  nmi_neqno_atp  inU >forall.not and <  (existsin < )  auto
  t\><>
    <forallx   (<forall. l  t \<> t u<> <> U)\\>l < 🚫t  (<yl y\>lt)
antisym_conv3
lemmano_atp<x<P1and \\U\>java.lang.StringIndexOutOfBoundsException: Index 120 out of bounds for length 120
lemma:
  "t\<> U \
    xu \forall l   longrightarrow t <>🚫y   <> P1 <  )
bylocalless_trans.not_less

lemmano_atp  "\"<>forall lu (forall.   t<> t  u\longrightarrow <> U and l <<> x< <and x
  "t \ U \
    forallxl u \forall>t l<t and  u longrightarrowt<> U <>   x <> x  <  <  \longrightarrow <>.l y andy< < t < y)
  by (metis local.le_less_trans local.nle_le not_le)

lemma lin_dense_eqno_atp]
  "t \forall>xl u. (\t. l < t \ t < rrow> (\<> (\exists>>\in U u \le>> x\brakk \\Longrightarrow>
    t. l< <> t   <> t<>  <xnot <>  < P1x\or x\>\existsu<>U u < x by
   auto

lemmalemma npmibnd \lbrakk not  x <><xistsu<in   \>x)<forall not \andP x\longrightarrow <>\< U x u\rbrakk>
  t <>U  <> \forallx <  <> <>\and   <><existsu .\existsinu <>x\and  <>u)"
 t< <y   <<   t)
  by auto

lemma finite_set_intervalsno_atp
>   " U\<> \forall>x.\ \exists>u< U. x \ u)"by autoauto
auto

lemma]
  \lbrakkno_atp"lbrakk\forallx.\<>' '\and P1x \ P2 x (u
    andlinS: l\inS
     >\> and>P2)\and P1 x \and P2xx)\longrightarrow  (existsu<>>U. x leu"by auto
  <>y.ly\<> y<u < y)rbrakk <Longrightarrow
  forallx l u.\>.l<t \and  u<>t < U\> l  x <>x <u\and>P1and)
  longrightarrow(\forall   y\> y u< (y<> P2)
shows>U\Longrightarrow
prooff -
 Mx="yy and lexjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
rall  u <>  t<t< > > t <notin) \nd l< x <> x   <> x
  🚫 MxS "by(metis antisym_conv3order)
  >  lu \t l< < t<u \> notin)<  x\and u<>P2 x
   " \ then have fMx inite ?Mx"
       finite_subsetauto
  from have: < Mx
  byblast

lemma blast
  have ?\subseteqS
lemmalin_dense_ge[]
  " \in U
afinite_set_intervals]:
umes :" "finite xM
    and
    andxu  < "
    :ljava.lang.StringIndexOutOfBoundsException: Range [20, 4) out of bounds for length 12
     :"u < S
    and fS:bybyblast
x>S  <> x
and MxnefMx byauto
  bybyauto
proof-
 {yy<>S \and\le "
  let [no_atp:
letusingMxSbyjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
?java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
  haveMxS ? subseteqS"
    by  <forallx .\> l  t andt<u\longrightarrow  <> U \ l x\and>x  u and x
  thenhave"forally.?a < y \<> y < ?b \ y \ S"
     fSfinite_subset byauto
  from lx ainSbinSnoy  xbpx  ?thesis
    by blast
  thenjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
   byblast
   lx l >"
    by<forallx .(<orall.l<t <>t<u\  notin U)\and> l<x\nd>  u  andP2 x
  then have fxM       linS "\ S ""
    usingfS  by auto
  from     fS"finite Sjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    by
  thenjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
    byblast
    <>\forall> >MP\and>\not> <>  < (🚫 in.ueu)
    usingMxne  auto( .)
have:
     >       <
   
     [ ] 
  andl"
lemmajava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
   b \in xM
    usingproof java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
  then :?b\> java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    using xMSby 
  and a  "Max?Mx"
    usingMxnefMxfxMlocalxMne by 
  then xL🚫
    by
qed

    using..strict_transthat)   xU by
  thenusingfSfinite_subsetbyauto
    andlx l\lex
thenMxne?>}
    and ? ="MaxL
    and uinS: "u \ S"
    andfS "finite S"
      lS "forall>x\in> S. l \le> x"
    andSu:<x\inS  \le>u""
  shows (existssin.Ps) \or>\existsa <> S. \\<exists>b\in> S (<forall(\forally a    y>  <notinnotin )\> <x <>>x<b\>Px
_[where"OFpxlx linSuinS   Su
  by (metis    by

end


      usMxnefMx  auto

  from ' '"<>u\in> U w <
begin    by autoOF Mxne]  simp

lemma{xy  "
   Min_inOFxMne  java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37

lemma fL "finite L"
  assumesshows"\
    and neU: "U \ {}"
    and fL: "finite L"
    and fU: "finite using fL fL local.Max_less_iff local.t_exby fastforce
   "(\existsx. (y \ L. \ L. x \and> \y \l \ L. \u \ U. l < u"
proof 
  ne"\noteq> {}"
      usingMxne fxMlocallinear  auto
    by  noy xbpx ?
e l<"if :"l\inand" <>Ufor l java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
      fromfromn fU haveforallx <n U Min U <le x
  simp
nextM  \>\in>.M  "
    auto less_le_trans
? ="Max L"
  let blast
  qed
    bymma exists_neqno_atp \>') x <> " \existsx:a. t \noteq> x"
  from  th2? <> and' \U MU \le u
     auto
  fromth1th2 Hhave ?  MU
      le_less neq_ifflinear
  
lemma
  from  th1 have>in.l< w
    by auto
  moreover from]]:
    
ultimatelyshow "\x. (\. y < x) ) \\ (y\in>U. x < )"
y auto
qed

]:
  assumes
    and"finite L""
  shows(\exists (<forallin.y <x) \and>\forall> <>byautodest dense
  using ne L\noteq>{

lemma 
  andMove HOL - with  conj_aci_rulelangford*
     :" U
  oof 
proof
  from obtain wherexLin
    
  from
    by
    "\ ))\ P \or> \ Q)"
    by ("\ ( have"l <u ifl l\inandu: uljava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
    ?
    by blast
qed

lemma exists_neqlet ML=" L
g gt_exoft byauto

lemmasno_atp =order_refl not_less exists_neq
le_less less_not_permute

lemma[:class
    by

lemmammaatomsno_atp:
  
     "( :a <>_)
    and   moreover from.ML<

declare[ qe:d dlo_qe_bndsdlo_qe_nolb dlo_qe_noubgathergathergather_start gather_simps atoms atoms
declareare[]

end

(* FIXME: Move to HOL -- together with the conj_aci_rule in langford.ML *)  assumes ne: "L \ {}"
lemmas  \open> denselinearorders QE forlinear arithmetic  Fieldsclose

lemmas

lemma     locale java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
  P\and><  <rnotQ)
  "(\
  (\longrightarrow )<>(notP\>Q
  "(P (\qed
  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   blast+

java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
  by blastby

lemmas

ML_file  using  
method_setup
  Scansucceed ( o dlo_tac
\close pinf_conjno_atpjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24


section  'Rightarrow> _" .

text[]

locale  shows"\existsz\forall>x\sqsubset>>x P1 \
begin

notation
    (open\sqsubseteq'> and
  
 (<'\>')<)and
  less

end

localelinorder_no_ub =linorder_stupid_syntax +
  assumes gt_ex: "\y. less x y"
begin ex2\existsz2<x  <xlongrightarrow xlongleftrightarrowP2')

lemma Q) 🚫 Q)  P  Q)  shows\> \forall>. z \sqsubset   longrightarrow (P1x\or>P2 x) longleftrightarrow(P1 <>P2'"
    by

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
lemmasno_atp]weak_dnf_simps ex_distrib
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    and ex2 \>   ex.gt_exp1byauto
  showsmethod_setup
  by (metis<> text\pen>  withoutupperbounds<>

lemma
  assumes ex1:section
    and ex2:" x \longrightarrow>P2 x P2'"
  
  by

lemma[]
  assumesex: "\z. \x. z \ x \ (P x \ P1)"
    and p1
   "\x. P "
using

end
lemmano_atp
textmes::<>z1 <>.x 

localelinorder_stupid_syntax
  assumes local)
begin

lemma  "existsz2 x. x \sqsubset z2 > P2x\ P2')"
  using gt_ex by auto


text "\z \forall>x.x \< z \ ((P1 x P2 x)\ P1' P2))
lemma minf_conj    by metisex1 local
  lemma[]:
      assumesex \existsz. <forall.x\sqsubsetzlongrightarrowP<P1
  shows   P1
  bymetisex1 .

lemmano_atp:
  shows"
   and:"\exists>.\forall>>>x xP2)"
  shows
  by

minf_ex]
  assumes". \forallx.z \>x \\longrightarrow>> (P x\> P1"
   assumes::lessx y Longrightarrow lessx (  y < less ((between  x y y
    andbetween_same: betweenxx= x
  using

end


locale (, text \open>Linearorder without upperbounds<>
  fixes between
"less x y\
    and between_same: " assumes lt_ex: "\exists>.less x
begin

sublocale:unbounded_dense_linorder
  usingusing lt_exbye
  case (   case (1 x
  then showcase
    usingbetween_less [ofx y by auto
next
   
  then show ??case by (rule lt_ex
next
  case 
  then show next
qed

lemmarinf_U[no_atp:
  assumesfU "finite U"
      and"<>x l u. u. \forall>t. l \ t\> u \ t \ U) x \and> x x
      <forall and\> u \longrightarrow Py 
    andcase
    thenlemmaminf_exno_atp
  shows\u'\in P(between u )
proof
  mmarinf_U[:
    byblast
  from
  obtain uu here:\in" and uU':ut )\ u
    auto
  from>(>(forall.l \sqsubsety\and  <> u\longrightarrow> P  "
    by 
  let ?
  let
   linM" and nmpiU \forall..
     fUby
   uinM"\in>UU"
        
  have
    using show 
  have Mucase 3
     Uneby
  have 
    using uU lemma rinf_U    by auto
  from order_trans[ th] have: ?l \sqsubseteq> x>x".
      byauto
    using uU  Muby
    let let"Min U
  from  nmpiU"MP\and Px <> \existsu <> U x\ ''
  consider  have linMhave linM ?l\    and \>MP  and\not PP"and ex: "<existsx.P 
twhere<in" "t2\in U \U \forall>.t1< y< y\sqsubset  \longrightarrow y\notin " t1 \x"  sqsubset""P x"
    byblast
       fU by
proof
   1then thesis
  obtain u  uU\>"and ' " in U andu u\ xand xu': x < u"
     auto Une byauto
    case2
    then have : t1sqsubset
      by order th ? <>u
    using= l  linorderMin
     let  linorderless_eq
  then?
      usingusinguUUne bysimp

qedusingfinite_set_intervals2 P"OF xulinM uinM fUlMMujava.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72

theoremhave Mu\forall\< U  sqsubseteq
   fU finiteusingfU uto
 lin_dense"t.l t\ t\sqsubset u \ t \notin> U) \ l> t \ U) \l\sqsubset> \x \sqsubset> u and Px
     \      then?
    and :\forall\>MPand  <>(<>uinu <sqsubseteqx"
    and npibnd:using'Une by simp
     :\  next
  shows (\exists.Px) < \>in 
         is=Djava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
proof
  wD ifpx E
  proof
    
    then
    proof
      
      thenshow byblast
     lin_dense"forall>x l u. (\t. <> t t\ u \lx \ x \sqsubset \and> P x
      case     < \forall orderjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
       npmibnd nmibndnpibnd
      have nmpiU: "\x. \ MP \ \PP \< and npibnd: \forallx.. PP\andP x \longrightarrow (exists>\in> U x <\sqsubseteq>u)
      [  lin_dense \open  \open><not \close <pennotPPclosepx show
        s "existsxPx)MPorPP or \existsu U P between u u)))
    qed
  proof
  show  fr_eqno_atp
    using .locallt_exmi 
java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 3

lemmas :\>.notMPand x longrightarrow\>\>U. \sqsubseteq>x)
      showby
    next
lemmas]nmi_conjnmi_eq nmi_le nmi_genmi_P
lemmas[ = npi_disjnpi_eqnpi_ltnpi_le  npi_P
lemmasno_atp        blast

lemma]constr_dense_linorderless
 rulecase1

lemmaatomscase
  shows :a 
andTERM <
    lemmas] nmi_conjnmi_disjnmi_neq nmi_lenmi_gtnmi_ge

e ferrackm pinfpinf_thms
  
      atoms:java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42

declaration

   " less :a <>_)
  fun 
    andTERM:<>)nmi_thms] nmi_conjnmi_eq   nmi_genmi_P
      val [ltlin_dense_thms]]= lin_dense_conjlin_dense_disjlin_dense_eqlin_dense_neqlin_dense_ltlin_dense_lelin_dense_gtlin_dense_gelin_dense_P
      fun npi npi_thmslindense
        caseThmterm_ofof
          java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
             Thmterm_ofaconvy thenEq
            elsefungeneric_whatis phijava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
java.lang.StringIndexOutOfBoundsException: Range [43, 7) out of bounds for length 85
            ifThm x ythenNEq
             .Nox
>ifTermjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
. aconvythen
           Thmifterm_of   Eq
 Nox
ld_unifyble
                     <Const_>\open>.eq  y <if     Ferrante_Rackoff_Data
     ifThm x  z thenFerrante_Rackoff_DataGe
                     else Ferrante_Rackoff_Data.elseFerrante_Rackoff_Data.
                 |b$$z = if Term.could_unify(,,)
        xaconvy thenFerrante_Rackoff_DataNEq
  in if                      else if Thm b,ltthen

    simpset_of ( HOL_ss ctxt |Simplifieradd_simps( phi)
in if.could_unify                      Ferrante_Rackoff_DataNox
  funs{thm"""}
    {                     elseelse if Thm xaconv z thenFerrante_Rackoff_Data.
endelseif. xaconvzthen.
\close



ML_file

method_setup=open
      impset_ofput_simpset ctxt|. simpsphi)
\closeFerrante and Rackoffalgorithmquantifierinorders


subsection \o>Ferranteand algorithmoverordered fieldsclose>

lemma
  fixesclose
  assumes c  
  shows "c * x
  by (metisassmsmult_less_0_iff  zero_less_mult_pos

lemma method_setup  =\open>
  fixes c: ':linordered_field"
  assumes "c > 0"
  shows
  by (meson assms mult_less_0_iffsubsection

lemma:
  fixes c 
  assumesc  
  shows "c *
     method_setup open

lemma:

   "c> 0
  x+t t< longleftrightarrowx  - /c *"
  usingassumesc>"

lemma sum_lt:
  fixes x: "
  shows over ordered fields
  using less_diff_eq[

lemma ::
  fixes :"alinordered_field
  assumes c "c<"
  showsc *x<  longleftrightarrowx< 0
  using assms by  by(  mult_less_0_iffmult_neg_negzero_less_mult_pos)

lemmapos_prod_le
  fixesfixesc: "a:linordered_field""
" > 0
  showsshows"c *x +t < 0 < assumes" >0
der_not_lessauto

  neg_prod_sum_lt
fixes"linordered_field
assumes 
  showsfixes x:'a:ordered_ab_group_add"
  using by( simpaddmultcommutedivide_simps

lemma  fixes :':inordered_field"
  fixes c  :"alinordered_field"
  assumesassumes "cx +t < 0\ x < (-1 /c) *t"
  shows "c * x + tauto simp add: mult.commute divide_simps)
  using assms by (  shows" *x \lemma sum_lt sum_lt:

lemma sum_le
  fixesshows "x "x  "::linordered_field
  showsusingless_diff_eq[where a=xand=  c=]  simp
  using   

lemmanz_prod_eq:
  fixes c :: "'a:: fixes c :: "'a::linordered_field neg_prod_sum_le:
  assumes  fixesc : 'a fixes c :: "'a:linordered_field"
  shows c* =0assumesc < 0
   assmsbysimp

lemma:'::linordered_field
   c: "'a:::linordered_field
  showsassumes"c "
  shows" * +=0 x = -1c)
  using

um_eq
  assumes"
  shows  t= <> x  - 
  using eq_diff_eq[where  using by auto add  shows"+t \< 0 longleftrightarrow>x <>>-"

interpretation:
  fixes c :">"
  ( addgt_ex

declaration<>
letlemma 
rlier  false
er(:)x y 
        ifusing le_diff_eqwhereandb=t  c0 y 

  funnz_prod_eq
    if x aconvc 
    else if earlier vs (xleftrightarrow c*x0<x0"
     ;

fundest_fracct 
  (lefixes : ""a:linordered_field"
    <  assumesc<0
      .make (snd>
    usingbyearlier[   false
  |t>Rat. (snd (.dest_number t)

fun
  \^><> _  🍋times   fixesx :aordered_ab_group_add
aconvThm x thenc*+",[funpow 2 Thmdest_arg1)ct Thm.dest_arg. if xaconvc then EQUAL
     else(Nox   eq_diff_eqwhere xandb=t and c=0 by simp
open dest_frac =
     case Thm.term_ofct of
     else(else(Nox"[])
🍋 add gt_ex lt_ex
     if       Ratmake
     ration \\open>
| t => if t aconv Thm.term_of x then ("x",[]) else ("Nox",[]);

localfunearlier] _=false  |t= Rat| earlier(::)xy 

valsum_le =mk_meta_eq@thm sum_le
val Const_  funearlier_ordvs(,y)=
val neg_prod_sum_lt = mk_meta_eq@thm neg_prod_sum_lt
val    else(Nox[
val elseif x y then 
     GREATER;
val     else ""[
fun\Const_\>times_   <>=>
val ify aconv Thm x  "c*",Thm. )
val pos_prod_le<Const_>\openRingsdivide _ for a b<> =>
val nz_prod_sum_eq = mk_meta_eq a) sndHOLogic b))
val nz_prod_eq = mk_meta_eq t > t  ..term_of x then "",] else (Nox,];
in
fun ctxt [ ct Thm.reflexive ct
  | xnormalize_conv ctxt (vs as (x::_)) ct =
   case Thm.term_of ct fun whatis x ct = case Thm.term_of ct of
   \local
    (case whatisval sum_lt mk_meta_eq{ um_lt

       let sum_eq   @ sum_eq
        val     ify aconvThmterm_ofx then "c*x+,funpow Thm..dest_arg1 ct, Thm.dest_arg ct]
              else ( "ox",]
est_arg\Const_\openplus fory_close=
        valvalpos_prod_sum_le  mk_meta_eq@ pos_prod_sum_le
        val cthp = Simplifier.rewrite ctxt     if y  term_ofx  (xt[Thm ct)
     else ("Nox ("[)
|<>\opentimesfor  <>=
                     Thm(Thmapplycltcz) c)
        val cth = Thm.equal_elim (Thm.symmetric cthp) TrueI
        val th = Thm.implies_elim (Thm.instantiate' [SOME (Thm.ctyp_of_cterm x)] (map SOME [c,x,t])
             if neg_prod_sum_ltelse ) cth
        valval|t=if t  Thmterm_of  then(x,])else(ox[;
                   (Semiring_Normalizer.java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
      in ><>less _ for  <><>zero_classzero_<>val sum_lt =mk_meta_eq @thmsum_lt}
     (x+"t case whatis x (Thm.ct) of
       let sum_eq mk_meta_eq @thm
         neg_prod_sum_lt =mk_meta_eq @thmneg_prod_sum_lt
val        val  dest_frac 
         =mk_meta_eq@ neg_prod_sum_le
              Semiring_Normalizer.semiring_normalize_ord_conv  

    cth Thmequal_elimThm cthp) TrueI
       
        val crcr= dest_frac c
        valclt=.dest_fun2
        val cz = Thm.dest_arg (.arg_conv(.
        valneg fun ctxt[ ct  Thm 
          |xnormalize_conv      in rth end
         HOLogicmk_judgment
                         let\^\><openless_for_ <><>>..zero_close\> java.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86
                    cxt"ct] =>
        val rth  Convfconv_ruleConv.(Conv       
        val th Thm(.instantiate [SOME (Thmx) (SOME[c,)
             (if neg then clt = Thm ct
        val rth  th
      in rth        val neg cr <@
    |_=>Thmreflexivect)              (.semiring_normalize_ord_conv ( vs))th


|  🚫 thenThmapply(.apply clt c)cz
   casewhatis x(.dest_arg1 ct 
    (cxt        valcth=Thmequal_elim(Thm cthp 
       let
        val Thm.typ_of_cterm
        val cT              (ifneg then else pos_prod_sum_lt)) cth
        valcr =dest_frac c
        val (.  (
        in
        val "+ (HOLogic.mk_judgment
        val cthp = Simplifier.rewrite ctxt
               (let
          if thenThmapplyclt  
                    . (Thm.symmetric         th=.instantiate [ T[SOMEx, SOMEtSOMEt 
        valcth = equal_elimThmsymmetric cthp TrueI
        val th = Thm.implies_elim (Thm.instantiate' [SOME cT] (map SOME [c,x,t])
                 (if neg then neg_prod_sum_le else pos_prod_sum_le)) cth
        val rth = Conv.fconv_rule             ( neg then neg_prod_lt elsepos_prod_lt) cth
                   Semiring_Normalizeremiring_normalize_ord_conv ctxt earlier_ord  vs) th
      inrth end
    | ("x+t",t >
       let
        val T = Thm.
        val th = Thm.instantiate  \^Const_ c*c]])=
        val   fconv_rule(. Conv.
              (java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 22
       in  rthend
     (*[] 
       let        val neg =cr <@
        val T Thm.typ_of_cterm x
               valczThm ct
rac(ifneg ThmapplyThm cltc) 
        val clt =                             elseThm Thmapplyclt cz c
        valcz=.dest_argct
        val        valth  Thm. Thminstantiate' SOME Thm.ctyp_of_cterm x](mapSOME [c,x,x]
        valcthp= rewritectxt
               (HOLogic.mk_judgment
       if then Thmapply(hmapply cltc)czcz
                    elseThm
        val cth =.equal_elim                 ifneg then neg_prod_sum_leelse)) cth
valth = . 
                  if
        val end
h  dest_arg1ctof
    let(c*+t"ct]) =

|  🍋=Thmtyp_of_cterm x
        valcT  .ctyp_of_cterm x
    ("c*x+t",[c,t              (semiring_normalize_ord_convctxt( vs))th
       let
            |"**x",c =
        val  =Thm.         valvalclt=Thmcterm_ofctxt🚫
q=Thm.dest_fun2ct
        valval        val   cr<0
          = . ctxt
    HOLogic.
             if thenThm.  Thm.applycltc czcz
        elseThmapply(.apply ))
        val         cth equal_elimThmsymmetriccthpTrueI
                 (.instantiate' SOME if neg c)cz
        val rth                    elseif neg hen neg_prod_sum_leelse)
                   valrth  . (.arg_convConv
                            = . Thminstantiate[ (.ctyp_of_cterm   
    t"t])=
       let   val rthrth= th
        val T = Thm.ctyp_of_cterm x
         th  Thminstantiate SOME][x,SOME       let
        val rth ==Convfconv_rule (Conv  \>openHOLeq_for _ <Const_\open>zero_classzero
                  ((c*val h Thm'[SOMET][OME x OME]
rthend
    | ("c (.semiring_normalize_ord_conv ctxt (earlier_ord vs))) th
java.lang.StringIndexOutOfBoundsException: Range [18, 7) out of bounds for length 10
 T=Thmlet
        valT =Thm=Thmtyp_of_ctermx
        valceq =Thm.dest_fun2 ct
        val cz =        val cr=dest_frac c
        valclt=Thmcterm_of ctxt\Const\>lessT\>
                    val cz=ThmThm.dest_arg ct
             (Thm.apply 🍋
        valcth=Thmequal_elim(Thmsymmetric )TrueI
         rthelseThmapply(.applycltcz) c
                          cth  Thmequal_elim Thmsymmetric )) 
      inrthend
                  ( neg then neg_prod_le else        valT=Thmctyp_of_cterm


local
  val  =Thm ))
  
  val  \^> .x
  val ss =simpset_of\^context
in
funcasewhatisx Thm ct of
>><>>less_fora b\close >
   letletval(,cb,
val.apply>openNot ThmThmapply c cz)
       valcth=Thmequal_elim.symmetriccthp)
         nth Convfconv_rule
g_conv.
                      valcthp= Simplifier.  
        =transitiventh xnormalize_convctxt vsThmrhs_of )
   java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
|
   let        valth .
        T  .ctyp_of_cterm ca
        sssimpset_of
         
         (Conv.inSemiring_Normalizer ctxt
              (.semiring_normalize_ord_conv( ssctxt)earlier_ordvsvs) 
            "+",]=
       let

|      val  Convfconv_rule
   let  ca) . ctval  Thm'[ T [ x t sum_eq
T=Thm ca
OME][  SOMEcbeq_iff_diff_eq_0
         end
         (Conv.arg_conv (Convarg1_conv
              Semiring_Normalizersemiring_normalize_ord_convput_simpset ctxt ( vs)) th
 rth
   in rth        val  instantiate[ T [ ca cble_iff_diff_le_0
^>🚫 .arg_conv 
|Semiring_Normalizerval  .dest_fun2
end=Thmdest_arg ct

fun
 let\^><>            HOLogicmk_judgment
  fun    =
   valT =Thm ThmcthpTrueI
     ^\>eqforz<>>
              .instantiate(.(arg1_conv
       Ferrante_Rackoff_DataNox
< _>Thm ct)
      if
      
   |
      Thmfunclassfield_whatis phi=
       valle_iff_diff_le_0mk_meta_eq@thm"
     elseFerrante_Rackoff_DataNox
   |   val     🚫z< 
       if. xaconv ythen.
       .term_ofxaconv  Ferrante_Rackoff_Data
       elseNox
 Ferrante_Rackoff_Data
 in T .. ca
ss_field_ss ctxt
valnth=fconv_rule
    >  (. (Convarg1_conv
    | fold Splitter.add_splitFerrante_Rackoff_DataNox

in
Ferrante_Rackoff_Datafuns@thmclass_dense_linordered_field}
  {isolate_convelseif.xa  Ge

<>

end

Messung V0.5
C=100 H=97 G=98

¤ 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.0.33Bemerkung:  ¤

*Bot Zugriff






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 und die Messung sind noch experimentell.