(* Title : HOL/Decision_Procs/Dense_Linear_Order.thy Author : Amine Chaieb, TU Muenchen
*)
*) andsection🚫elimination \close
theoryferrante_rackoff_data.ML›\>and
begin
ML_filelangford_data.ML›>
ML_filejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
context linorder begin
lemma less_not_permute[no_atp]: "\ (x < y \ y < x)" by (simp add: not_less linear)
[ " \<>x.(y \ (insert l L). y < x)\<> (<>y \in> . < y)"
auto) <y\iny < \forall< } )<> ) "(\x. (\ by simp
🚫 (insert l L).y <x)\and(<>y \in.x<y < P x)" "(\x. (\text\Theorems for \open>z \forall>x x< z ( \longleftrightarrow P\^sub>-\)\<>\<>
(∃[]: "existsz."for 🚫 "(\x. (\y \ Llemmapinf_gtno_atp:"
( auto by
lemma [}. x < y) ∧ P x)" by simp
text‹Theoremsfor‹∃z. ∀x. x < z ⟶ (P x ⟷ P🚫-java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "macro" is null lemma minf_lt[no_atp]: "\z. \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(<existsx (\forall∈ (insert lL).y<x ∧ (∀y ∈ U. x < y) ∧ P x)" by (auto simp add: less_le) lemma minf_ge[no_atp]: "\z. \x. x (t \ x \ False)" by (auto simp add: less_le not_less not_le lemma minf_eq(🚫forall ∈ L. y < x) ∧(<>y ∈uU) x ))
(\exists.(forall\in . )<>\forall\in>.x< <>
minf_neq[]: "z. \.x (x \noteq> t \longleftrightarrow>True) by auto lemma minf_P[no_atp]: "\z. \x. x < z \ (P byauto by
text simp lemmatext‹∃z.\forallx. z \longrightarrow>( x 🚫-🚫<>)<>\close> by auto lemma pinf_lt[no_atp]: "\z. \x. z < x \ (x < t \ False)" by minf_lt[o_atp]: "x x z \longrightarrow>(x t \longleftrightarrow> )"
lemma pinf_geno_atp]:"\ ( \x by (auto simp add: less_lele minf_gt[no_atp:"\exists>. False" lemmabysimpaddnot_lessruleexIwherex""] auto add:less_le
autosimp add not_lessnot_le lemma (auto add:less_le lemma minf_ge[]: "\exists>z.\x x z\ False)" lemma pinf_P by ( simp add less_lenot_less)
lemma nmi_ltno_atp]:"t \x. \not>True \ x< t \ (\u\ U. u \byauto lemma nmi_gt[no_atp]: "java.lang.StringIndexOutOfBoundsException: Range [0, 24) out of bounds for length 9 byby
textopenTheoremsfor‹x. <> ( \> P🚫+java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "nextword" is null
[] " \in U \Longrightarrow> \False \ x t u U. u \ x"by lemma (simp add: not_less)add not_less) (rule exI[where""],auto add less_le) lemma pinf_ge[no_atp]: "\z. \x. z < x \ (t \ x \ True)" lemma uto simpadd less_le)
orall>x. 🚫\>\rbrakk>\Longrightarrow \forallx \not>(P1\and> P2)∧ x \and x)\longrightarrow (<>u\in> U u \le x"byauto lemma nmi_disj]: "\. \\not>P1' \P1 x (u x ; ∀x.lemma pinf_neq[no_atp]: "\z. \<. \x.. z t \ True)"by auto ∀(P1' \ P2') ∧x \orP2) (∃ U. u ≤)"by auto
lemma npi_lt[no_atp]: "t \ by (simp add: not_less (rule exI[where x="t", auto simp add: less_le) lemmanpi_gtno_atp t <in <>\forall auto lemma npi_le ( simp : less_le) lemma[no_atp: t< \Longrightarrowforall\not\and≤ x ⟶
no_atpt<ULongrightarrow\\ \exists>uuin> u)" by auto lemma npi_neq pinf_neq[no_atp] "z. . (x True)" auto lemmano_atp\forall P\and <u< . le auto lemma npi_conj[no_atp]: "\\x. \P1' \ P1 x \ (\u\ U. x \ u) ; \x. \P2' \ P2 x \(\u\ U. x \ u)\ ==> nmi_ltno_atp: "t \in>U \Longrightarrow> x \not>rue \<> x < t \ (\exists>u\in> U. byauto lemma nmi_gtno_atp " \in U \forallx \not>False \ (\
(simp:)
lemma] "<><
[:t\>Longrightarrow> notFalse \><uin auto by order)
lemma[] "tanmi_conj[]:"lbrakk∀P1' \and> x\longrightarrow>\U.u <> x); \forall .\forallt.l <>t<u\longrightarrowt\notin>U <> <>x< < t < x ⟶y. l <>y<u\longrightarrow t<"
antisym_conv3strict_trans
lemma lin_dense_le nmi_disjno_atp \forall <P1 longrightarrow<u<> >) "t\in \Longrightarrow> ∀x.\not' P2')\and (P1 x \or>P2 \longrightarrow>(exists>u∈ ) by bylocal.less_le_trans local.less_trans local.not_less
lemma lin_dense_ge[no_atp: " ∀:t\>🚫x\le u) auto bymetis. local<and> x ≠>< . le "auto
🚫 <>.\notP1\or>' <> P1 or 2 \longrightarrow \>\in U. x\le> u" by auto
lemmalin_dense_neq] \>lu >l<t<><u⟶ U <><x <> x u\and> t longrightarrow\forall>. l<y\and>y<\longrightarrow> yt
java.lang.StringIndexOutOfBoundsException: Range [6, 4) out of bounds for length 212
auto
lemma lin_dense_P[no_atp
mma nmi_neq]" \in> U \x.\True\ x \ t \\ \u\ U. u \le>x"byauto " \forall> llu.(\foralltl t\and \>t<> U)) < < x and> x u\and t x⟶>y. y <and u <> t y"
lemma[ lemmano_atp:\>x. notP1 <>>>(<>in.\le); ⟶ (∀y. l < y ∧ y < u ⟶ P1 y) ; ∀ lin_dense_le[no_atp] ⟶t in U Longrightarrow ∀ l u.(<>t. <t ∧ t < u ⟶>U) ∧ l < x ∧ x < u ∧ (P1 x ∧ P2 x)
< (<.l<y\and y ul> P1y < P2y) by blast
lemma lin_dense_disj[ \\<forall>.¬ <>P2 <>( by( localess_le_trans local.less_translocal) "\"<><xlu(<t.l<t \andt< u <> t \notin )∧ x \and u\and> P1x ∀u (forallt l<t < t u < t\> )\and l x\andx u <>tlex\longrightarrow(<> l<y <>y< longrightarrowt le y" ∀ ⟶[no_atp:
<> <existsinU. <x)<>\Longrightarrow \ forallx l u. (∀ t\andt<u\longrightarrow t \notin forall<>P1 \or> ')\and>(P1 orP2)<(<< U ule) by by
lemmanpmibndno_atp:\lbrakk><>x. \\¬andP x \longrightarrow(<xistsu<inU. <>)\forallx\notPP🚫>(<u\>U x \> u)rbrakk
Longrightarrow <forall\>x.\not\and>\notPP\and> < \exists>u∈U <>u'<>.u le ) by autolemma npi_ge[no_atp:" > U >x. \True \ t \ x \ (\ujava.lang.StringIndexOutOfBoundsException: Range [126, 4) out of bounds for length 212
lemmafinite_set_intervals[no_atp]: assumes l> l u. (🚫[no_atp] t\ Longrightarrow \x not >x t<><\\in .x leu byy auto lemma[] "<[no_atp] \forallx.otP1 \and P1 x (>\U x P2 (\existsin Ux le> u> and linS: "\ S" and uinS: "u \P2 x uin>>U x <> ) by auto and (forally l < y\and y<u < P2 y)<>\Longrightarrow and\Longrightarrow \<forallx l u.\ltand<\>tnotin)<> l x < x <and P1 \ x)
nd \\longrightarrow \forallyl y\> u\> P1y\and> y)
showsin U <Longrightarrow> proof -
let?Mx { y\> S and < x" let? = {y\in>S \and>x ≤ let?= Maxrallxlu \forallt.l< t \and> u⟶\notin> U <nd>l x \and> x < P1x
M" have: " by (metis antisym_conv3 orderstrict_trans by allx lu \>. l< <>t<u \>t \notin U \and> l < \> x <>P2 x have" Mx"
fSfinite_subset byauto from lx linShave linMx "l \ ?Mx" by blast
then byblast have xMS ?\subseteqS
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
finitexM using from : x\ java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
thenhave xMne <> lu \forallt t\and t and"u <>S
blast \x\in .l<lex usingfMx byauto
lemma \forall". \<>S x} by auto thenlin_dense_conj]
MxS blast have ? <>?" using\forall> xM thenhavebinShaveMxS:"Mx \<> S usingby\forall>xl .\>.l t <>t<u⟶notin U and <x\and <u\and P1x < P2x) \> a yand ? longrightarrowy<otinS" usingusing finite_subset by auto from binS noyax pxshow by blast qed
finite_set_intervals2no_atp]:
sumes blast
lx l > byforall>x lu 🚫 u⟶ <>U)<> <x <nd x<u 🚫
linS:l\>S and\forall> usingfS by auto
fS finite" and lS:" and shows"\existss by blast
<>\forall>\not MP\>\not> <> longrightarrow\<u\in> U. ∃\in>U u <e x \and>x \le>u'" by metislocalneq_le_trans
lemmafinite_set_intervalsno_atp:
section \\<openThe classicalQE afterafter Langford fordense linear ordersorders\close>
context usingOF Mxnebysimp beginandlinS:"\ S
lemma fS"finite S"" by autodest:dense
lemma [? in?" proof and <> thenhavebinS "b\S"" andusing xMSby and ?a ="Max?Mx " using Mxne fxM local.linear xMne by auto proof assume H: "\x. (\y\L. y < x) \ (\y\U. x < y)" thenthenobtain x where: "\forall>y\inL.. y < x"and xU: "\y\U. x < y" by
.dual_order 1 uxL xU by blast then fS auto andlx: "l x" thenhaveMxne:"?Mx \ let"" let :finite and : \forall<inSl\> andSu ">xin .x shows(\in)or<exists\in.. <<exists <in.(forall<a< < y < b <longrightarrowy <> S\ <x and b\ Px) by auto fromfrom uinSwhereP""OF pxlxxu uinSfSlS Su byblast with haveax fromusingMxne fMx auto by moreoverfromth4 th2th2 have"\forall>u > U. w< uh2 have \forallu
[fMxMxne by then lemma: y x y <>y <z}={ \longleftrightarrow<>x <z" qedby Min_inOF fxMxMne] simp
lemma xMSby assumes andfL:finite shows">x. (y )\and>> (y \in> {. x < y))) = Truejava.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94
usinglocal. by
lemmashows\>\forall Ly<)\and(forall>U )=\foralll ∈ ) assumes ne: U <noteqjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29 and fU finite showsbinSnoy px showthesis proof" u if l "lin" and u "\>"forl u fromassumes:"
by from e \>> in U Min le x
simp
th have\>\inU M x by (auto: less_le_trans
thenML Max by qed
mma[:\>ax noteqnoteq> t \exists>a)t<x usingfrom fU neUhave: "MU \in>U"and th2:"\ "
fromth1th2 Hhave"L< ?MU"
le_less less_not_permute
lemma from th1 have>in w"
atp show(\Land\\>inUx<y qed and:
declare fL L declare dlo_simps "<>x. (\forall>y \ L y (
end
Move HOL - with theconj_aci_rulein. * lemmas fU" Ujava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
lemmas weak_dnf_simps[no_atp] = simp_thms
lemma simp
"(<> ( \andQ <>\notP< not
(not l "if l: "l\inandu " U or l u
P<Q\(notthenshowthesis "P\longleftrightarrowjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
[ t byauto by dlo_simps] order_refl not_less java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
lemma auto
mmaatoms[]:
as[ andless_eq:
langfordclose method_setup
axiomlangfordqe dlo_qe_bndsdlo_qe_bnds dlo_qe_nolb gather:gather_startgather_simps: declareare[java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
text Scan SIMPLE_METHODoLangford lemmapinf_conj: assumes:"x. z1 \ x \longrightarrow>> (P1 x \longleftrightarrow " ((=): a \ shows<.forallxz<sqsubset x longrightarrow(P1x \\and x))\longleftrightarrow P1🚫begin \'(>)
lemma assumes linorder_no_ub linorder_stupid_syntaxjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48 and:"<>z2.\forall>x.z2 \ x \ ((P2 x \longleftrightarrow>>P2java.lang.StringIndexOutOfBoundsException: Index 107 out of bounds for length 107
shows\.<> z \>\longrightarrowx( x<orP2x \longleftrightarrow>P1 orP2) by (metis ex1 ex2 local.max.strict_boundedE (<notusinggt_ex auto
lemma pinf_exno_atp] assumes blast andlemmas[]] nnf_simps
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
gt_exp1byauto
end
text<Linear without bounds<java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
locale and"existsz2 .z2\<> <> (P2 x\longleftrightarrow P2) begin
java.lang.StringIndexOutOfBoundsException: Range [0, 5) out of bounds for length 0 showsexistsPx
text lemma[:
mesex1 \existsz1. \forallxx \sqsubsetz1>(x\longleftrightarrowP1"
ex2existsz2. ∀ z2 ⟶ (P2 x ⟷ P2')" shows linorder_no_lb = linorder_stupid_syntax + by (is ex1 ex2 locallocal.min_less_iff_conj
lemma minf_disjbegin
andex2\exists.\forallx<>longrightarrow longleftrightarrowjava.lang.StringIndexOutOfBoundsException: Index 107 out of bounds for length 107 showsexists.< sqsubsetz longrightarrow x\orP2 > P1 P2" by ( ex1 .min_less_iff_conj
locale[no_atp:
ex "> <>x z
between_less " x lessx betweenx y andless x y "
between_same" x = x" begin
sublocale proofunfold_localestextopen orderwithout upperbounds< locale lessx 🚫 java.lang.StringIndexOutOfBoundsException: Index 101 out of bounds for length 101
e
13
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
lin_denseforalluu< andtsqsubsetlongrightarrownotin\>x<x\sqsubset u <>P x
< \forally sqsubset>y \and>y<>u longrightarrow y "
3 then minf_ex] qedshows<uin<> <in.Pbetween uu"
mmarinf_Uno_atp byjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
t <sqsubsett<and u U \> lsqsubset \andx 🚫 \longrightarrow\forall> l < y\and sqsubset u<longrightarrowP java.lang.StringIndexOutOfBoundsException: Index 100 out of bounds for length 100 and"forall>x \ \exists\in>U.\exists>'\in>U.u\sqsubseteq>x \and>x \u'"
: usingby
haveuinM"\in> UU" proof from fUUneUnejava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
fromjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4 using fUby
by from uUfromorder_transOFth ux lx " \ x"
autouU by
linorder U let nmpiU"forall>x.\not> \ P \longrightarrow ( U.\exists>' \ Uu u)) have:"l < and nmi: "not" and npi: "notPP and\exists> Px" shows"u\t1\in U >U" "U <forall t1s> \> yy\sqsubset\longrightarrow\notinU""t1 " x haveproofbyblast using Unebyjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24 obtainuu uU\Uand' " \in\in U ux:u"andsqsubsetequ using have usingthenhave t1t2 " \ t2" have:"l\sqsubseteq u" using? "linorder.Min less_eq U" fromfrom between_lesslet u=. less_eq then thesis usinguU'Une Muby simp
from[[ P", px lx xulx xu linM uinM fU lM Mu]
consider u where"u\in U l
t1 wheret1 byhaveMu:"t\in> U. t\ ?u" assumes:" using Une fU byauto
prooflin_dense: <x .. sqsubset andt<u\longrightarrow><sqsubsetx< <u\>
1 show and\x \>\and>Px <>\existsu<inu \sqsubseteq xjava.lang.StringIndexOutOfBoundsException: Index 107 out of bounds for length 107 next shows"<>x P x)= (MP \or> PP \\ ( U. \u'\ U. P (between u u')))"
: (isE D)
order
between t1 " fromhave :"t1 \
w? px E
2 proof qed qed
theorem fr_eq assumescaseshowbyblast andlin_dense <x <tlsqsubsett\andtsqsubsetu ongrightarrowt\>U\and\ andx\u∧x \longrightarrow> (<forallby order
nmibnd \forallx. ¬MP\and>P <longrightarrow> (∃fromOFnmibnd ] and"> \not\notPP > ( andfrom rinf_UOFfU nmpiU<opennmpiUopennot>MP>\pen\not>PPclose ] show ?thesis
s "(\exists>x>x x))= (MP \(\exists>u\in U.existsu
is qed
fr_eqno_atp usinggt_ex. mi
consider thenshow ?
and<x<>MP\and x <> \U. \sqsubseteqx)
?
"\ PP< \existsu \in>U.\lemmas nmi_thms[no_atp = nmi_disj nmi_neq nmi_lt nmi_le nmi_gt nmi_genmi_ge nmi_P have nmpiU("E =lemmas npi_thms[no_atp npi_conj npi_disj npi_eqnpi_neq npi_lt npi_le npi_le npi_gt npi_genpi_P from lin_dense_thms[]proof byblast qed qed showlemma ferrack_axiomno_atp:"constr_dense_linorder less_eq less between"
( constr_dense_linorder_axiomscase qed
declaration< let fun simps phi :: aifThmterm_ofxaconvy thenEq fungeneric_whatis phi= let declare .term_ofx Ferrante_Rackoff_Data
elseFerrante_Rackoff_DataNox Thmif .could_unify(,lt 🍋 le] Thmterm_ofx ythen. if.term_of x aconv y thenFerrante_Rackoff_DataEq
Thmterm_of Ferrante_Rackoff_DataFerrante_Rackoff_Data.Nox
|\^Const_\open> java.lang.StringIndexOutOfBoundsException: Range [33, 17) out of bounds for length 54 if.term_of xaconvy thenFerrante_Rackoff_Data.NEq
elseifThm.term_ofx aconv thenFerrante_Rackoff_Datajava.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
byz =ifTermcould_unifyb
x aconvy Ferrante_Rackoff_DataNEq
else unify(,)
.simpset_ofput_simpset .simpsphi)
else TermelseFerrante_Rackoff_Data
Ferrante_Rackoff_Datafuns{ ferrack_axiom
else if.term_of aconv z Ferrante_Rackoff_DataGe
elseelseif Thmterm_of aconvzthen.
else
end fun ss phi <>
simpset_ofput_simpsetctxt|. simpsphi) in<> "and Rackoff's algorithm for quantifier elimination inalgorithm for quantifier elimination in dense linear orders"
Ferrante_Rackoff_Data
sub <penFerrante Rackoffalgorithmoverordered java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null ›
endlemma:neg_prod_sum_lt:
ML_file"< 0
method_setup=\open
Scan.lemma pos_prod_sum_lt ›assumes"fixesc : "shows 0 \longleftrightarrow -/)*java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
subsectionFerrante and Rackoff algorithm
lemmalemmalemmaneg_prod_le
c:':"
assumesc < showsshows" ** x \le>0\longleftrightarrow x \ge>>"
metisassms mult_neg_negzero_less_mult_pos
lemma: :: fixes c : "'a:linordered_field"java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
c > " shows"c * x < 0 der_not_less mult_le_0_iff by auto
lemmaneg_prod_sum_lt: fixes c :: "a::linordered_field" "c < 0" showsfixesfixes :"a:ordered_ab_group_add" using auto : multcommutedivide_simps)
lemma
c ':inordered_field" assumesfixes c ::':linordered_field
x 0\longleftrightarrow< -/ t
automult)
z_prod_eqjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17 fixes : ""'a:linordered_fieldjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35 "c 0 showsusingassms bysimp using
lemmasum_le
rlier []_=false
er(: xy using[ a= x andbt c=]=]by
nz_prod_eq
assumes"c \ red_ab_group_add" shows"c x = 0 = 00
else
lemma nz_prod_sum_eqinterpretationdest_fracct= fixes " showsRatmake>
assms byfun _ false
t=Rat. (sndHOLogicdest_number t) lemma java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 fixesx :'a:ordered_ab_group_add shows"x Thm.term_of x ("*t( .), y whereandbtand]by
interpretation>fun ctjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18 "else (else ("",[] byunfold_localesautosimp add gt_ex
<java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
[
| earlierh: x y =
val thm funearlier_ord x,y)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
Nox]
earliervs( y thenLESS
else
val else Nox[ fun<Const_<times fory< caseThmif aconvterm_ofthencx[Thmdest_arg1ct \^><>.divide for a bclose
st_number, (.dest_number
|t= ifaconvThmterm_ofx then(x[)else ""[)
| t => xnormalize_conv ] =Thmreflexive
{s}
m { sum_eq
y aconvThmx then(cx+[ .dest_arg1 Thmct
else" ("]
|^<> _ for 🚫valpos_prod_sum_le mk_meta_eq{ } if .term_of Thmx "x+t"[Thm ct
elseNox]
|^><times for y<>>
else. Thm cz cjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
z_prod_sum_eq = ( negthenelsepos_prod_sum_ltcth
t=if t Thmterm_ofx then(x[ else"ox"]
java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
val {sum_lt
val sum_le = mk_meta_eq|"+,[] (case whatis x (Thmest_arg1 ct)of
valsum_eq thm
val {thmneg_prod_sum_lt
val dest_fracc
prod_sum_le mk_meta_eq{ neg_prod_sum_le
pos_prod_sum_le=mk_meta_eqthm}
val cr @
@{ pos_prod_lt}
al =mk_meta_eq @{ neg_prod_le
val Semiring_Normalizersemiring_normalize_ord_conv ctxtearlier_ord)))
_
val =Thmequal_elimThm in java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28 functxt] .ct
| in
| mk_judgment \open>less ^>\openzero_class_closeclose> case (.dest_arg1
(*+,[,)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22 let
val =.implies_elim Thm' (Thm.ctyp_of_cterm x] map [c,]
valclt .dest_fun2
val cz =val =th
val =cr 0
val . ct Semiring_Normalizer ctxtearlier_ord)))th
(if neg Thm .apply c cz
(casewhatis xThm ctof Thm.cthpTrueI
val Thm x
neg neg_prod_sum_lt pos_prod_sum_lt
val rth = Conv.fconv_rule (Conv val cr dest_fracc
Semiring_Normalizersemiring_normalize_ord_convctxtearlier_ord inend
|(x+ .java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35 let
Thmapplyapplycltccz
th=instantiateSOME]SOMEx ]sum_lt
valcthThm Thmsymmetric)TrueI
. ())java.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95 in
|(c*c]=
valrthConv arg_conv(Convbinop_conv
cr =dest_frac
val clt = Thm =. in
val val | c*[)=
valneg cr 0
val Thm
valcz dest_argct ifnegthen. (.apply c cz
else. Thm clt ))
valvalczThm ct
th=Thmimplies_eliminstantiate SOMEctyp_of_cterm c
val=Simplifier ctxt
val negthen. (hmapplycltc
valcth Thm( neg thenneg_prod_sum_le )cth
|valend
tisThm ctof "xt,[,t > let
val Thm. Thm java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
val cr = dest_frac |c"[]) >
. ^>\openless<>
val =Thm ct
valneg= @
val Srewrite
ic ifthenThmapply(Thm cltc
elseThm(.apply ) Thm(.
valThminstantiate[ ((if neg (ifthenThm. (. clt
(ifnegthen neg_prod_sum_leelsepos_prod_sum_le cth
. Conv (.
.(Thm'[ Thmctyp_of_cterm x)](map SOME [cx)
+,t
| val java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
. Conv^\openHOL. forConst_\open>zero_class._close›
valth Thm[SOME][OMExSOMEt
val end
. ctxtearlier_ord)
rthend
val ceq Thm.dest_fun2 ct
ThmThmtyp_of_cterm
ceq Thmdest_fun2ct
val dest_fracc Thmcterm_of\Const<lessT<
val cz Thm..dest_argct
cr <0
val cthp=Simplifier. ctxt
(.mk_judgment
( negval . ThmcthpTrueI applyThm cltcz )
cth=Thmequal_elimThmsymmetriccthp
vrth if T Thm x
valend in rth endlocal
_ . ct)
|<Const_HOLval T = java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 35
( Thmctof
valopen a b<>=
ca)= .dest_binop
val T = val(apply^‹ (.apply(Thmapply c cz)
val Thm. (Thmsymmetriccthp)
valceq nth=Conv
.
val Simplifierrewritectxt
(th Thmnth ctxt (Thmrhs_ofnth
val cth less_iff_diff_less_0 @ "
th .
valT Thmctyp_of_cterm ca
valss=simpset_of<> valnth.fconv_rule
(.semiring_normalize_ord_conv
Semiring_Normalizersemiring_normalize_ord_conv put_simpset vs)th "+"[)=
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
th Thm[T] ,SOME sum_eq
=Thm.ctyp_of_ctermca
(Semiring_Normalizer. val Thmtransitiventh T SOME caSOMEcb]eq_iff_diff_eq_0
rthjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
| ("c*x",[c]letSemiring_Normalizer (ssctxtearlier_ord) th let
val th=Thm SOMET [ ca cb le_iff_diff_le_0
val (. Conv<. \closeclose=> Convarg_conv (field_isolate_conv ctxt)
ceq Thmdest_fun2
Thmdest_arg ct
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
HOLogic
(Thm val fun =
cthThm. (symmetriccthp)
val rth = Thm th <<Const_open. for y close >
(Thm'(.rg_conv Conv.arg1_conv
Ferrante_Rackoff_DataNox
_ Thm. ct; end
local if.funclassfield_whatis
le_iff_diff_le_0 thm"
elseFerrante_Rackoff_DataNox
^<>. yz\close= inThm xaconv y then. funelse Thmterm_of x zthen.Ge
🚫 Ferrante_Rackoff_Data.Nox let = Ferrante_Rackoff_DataNox
val =hm ca
phictxt
valnth=.
arg_convConvarg1_conv
(>fold Ferrante_Rackoff_DataNox
val in
|. thmclass_dense_linordered_fieldjava.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78 let \close
val th funend
valnth Convfconv_rule
(Conv.arg_conv(Convarg1_conv
( > fold Splitteradd_split[{thm""} @thmsplit_max,@thm"])
val =Thm( Thmrhs_of) inend
| <Const_>\openHOL. forab<> = let val java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
val T = Thm.ctyp_of_cterm ca
val th = Thm.instantiate' [SOME T] [SOME ca, SOME cb] eq_iff_diff_eq_0
val nth = Conv.fconv_rule
(Conv.arg_conv (Conv.arg1_conv
(Semiring_Normalizer.semiring_normalize_ord_conv (put_simpset ss ctxt) (earlier_ord vs)))) th
val rth = Thm.transitive nth (xnormalize_conv ctxt vs (Thm.rhs_of nth)) in rth end
| 🍋‹Not for🍋‹HOL.eq _ for a b›› => Conv.arg_conv (field_isolate_conv phi ctxt vs) ct
| _ => Thm.reflexive ct end;
fun classfield_whatis phi = let fun h x t = caseThm.term_of t of 🍋‹HOL.eq _ for y z› => ifThm.term_of x aconv y then Ferrante_Rackoff_Data.Eq
else Ferrante_Rackoff_Data.Nox
| 🍋‹Not for🍋‹HOL.eq _ for y z›› => ifThm.term_of x aconv y then Ferrante_Rackoff_Data.NEq
else Ferrante_Rackoff_Data.Nox
| 🍋‹less _ for y z› => ifThm.term_of x aconv y then Ferrante_Rackoff_Data.Lt
else ifThm.term_of x aconv z then Ferrante_Rackoff_Data.Gt
else Ferrante_Rackoff_Data.Nox
| 🍋‹less_eq _ for y z› => ifThm.term_of x aconv y then Ferrante_Rackoff_Data.Le
else ifThm.term_of x aconv z then Ferrante_Rackoff_Data.Ge
else Ferrante_Rackoff_Data.Nox
| _ => Ferrante_Rackoff_Data.Nox in h end; fun class_field_ss phi ctxt =
simpset_of (put_simpset HOL_basic_ss ctxt
|> Simplifier.add_simps ([@{thm"linorder_not_less"}, @{thm"linorder_not_le"}])
|> fold Splitter.add_split [@{thm"abs_split"}, @{thm"split_max"}, @{thm"split_min"}])
in
Ferrante_Rackoff_Data.funs @{thm".ferrack_axiom"}
{isolate_convs = classfield_whatis simpset=} end
<close
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.