(* 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) ∧(\y ∈ u U.x<y <>Px" "(\exists>x \forally\in .y (\<> <>U.x l x \ P x) \
(∃x. (∀y ∈ (insert l "(\x. (\y \ L. y < x) \ (\y \ U. x < y) \ x < u) \
(∃x. (∀y ∈ L. y < x) ∧ (∀y ∈ (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 ∈) 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
text‹Theorems>∃. ∀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\>x 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 < ) by. localless_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∈ .\exists> inu <>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 fromhave: < 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 \andy \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 thenhave 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 < beginby 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\in> and" <>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 moreoverfrom]]:
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 fromobtainwherexLin
from by "\ ))\ P \or> \ Q)" by ("\ ( have"l <u ifl l\inL andu: u∈ljava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
? by blast qed
(* 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[]
localeshows"\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 assumeslocal) 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 thenshowcase usingbetween_less [ofx y by auto next
thenshow ??caseby (rule lt_ex next case thenshownext 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 usingshow 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 letletl "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 thenhave : 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 :\forallx \>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
thenshowbyblast
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
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 = ifTerm.could_unify(,,)
xaconvy thenFerrante_Rackoff_DataNEq inif else if Thm b,ltthen
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 = caseThm.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 = caseThm.term_of ct fun whatis x ct = caseThm.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 ifthen. Thmapplyclt
. (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 ifthen 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. ifthenThm. 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 =ThmThmcthpTrueI
^\>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
¤ 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:
¤
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.