lemmaule,simp:,,al_neg_nonzero""] ==> apply (simp:vals_nonequiv_def
cut_tacerule)+,assumption cdotsub(-^>a x\plusminus1r", simp add:valuations_ (cut_ frule aarou._O_loe[f "x,umption,
frule_tac a = 0infruleg_one K,
ate_tac,
drule_tac a = "Suc 0"inmption(simp add:aadd_commute[applyt_nv"\subr \ x \cdot\^s>r (1] apply (drule_tac a = "Suc"in foalse,sp rotate_tac -1, drule_taca = = le Rn.ringOlsd,supto+ subvaropgO_mut,sst,
java.lang.NullPointerException frule_tac v = "vv ddalue_of_one_,impne
erule bexEassumption
simpadd orps OstrowskiTr10lbrakk K v <> carrierK;
frule_tac 2[f "],assumption+, simp add:aadd) nonequiv_ex_Ostrowski_elem, a ut_tac i[f "<>< <><> 1r ± \> v_equiv(Suc ( 0)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
thin_tacpg_mOp_closedK""] frule[of v""x], assumption+,erule,
frule.ring_one "",
lines assumption apply erule
x = t andnCorps:"vals_nonequiv K ( 0) vv apply (simp add:less_ant_def, (erule conjE)+, frule_tac x = s and v = "vv (Suc 0)" in val_neg_nonzero, assumption+, unfold less_ant_def) apply (rule conjI, assumption+)
apply (frule_tac s = s and t = t and v = "vv 0" in OstrowskiTr2, +,r a, assum+) apply (frule_tac s = s and t = t aand v "Sucin OstrowskiTr3Nset_Suc0 ),
+, rule, assumption apply (subgoal_tac -1
mprowski_elem_def,
simp only: nset_m_m[of "Suc 0"], blast) (* Here simp add:nset_m_m[of "Suc 0"] wouldn't work *) apply(ut_tac, fruleRing[ofK]
rule Ring.ring_tOp_closed, assumption+frulelus_x_nonzerozero v-^ba",assumption, frule_tac s 1,, +, rule ale_neq assumptio+, apply (frule_ a = 0 in forall_spec, si, apply (cut_tc a = "0"in simp apply assumption (* in the above two lines, simp wouldn't work *) value_less_eq sym "v"-<, done
(** subsection on inequality **)
lemma (in Corps,simp:_zpz aminusadd[THEN ,
bexEjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4 apply (induct_tac n\thin_tac\not v_equiv vv (Suc)
rule allI (** case (Suc n) **) apply(lin
frule_tac n = n and vv = vv in restrict_vals_nonequiv1erule,
frule_tac vv inrestrict_vals_nonequiv2,simp:valuations_def
frule_tac .\ n} vv 1)" forall_spec, assumption, rule_taca= co ff a = 0 in forallspec, simp,, assumption+ erule bexE)+) apply (rdr a = "Suc"in forll_spec im cut_tac field_iSuca(rul cI sumpio (** case * * * **) apply uex =s and y = t n Ring.r_tOp_cose[o "]ssumption
case_tac "0 ≤ d = andndt i Ostrskir5 smtton+ apply blast
(** case * * * **) apply (simp case_tac "\>(vv bexE
frule_tac =ucd Suc 0)"and vv =v n vals_nonequiv_valuation, simp, frule_tac v = "vv, assumption,
assumption
frule_tac x = "1bexE, frule_tac x = t and y = "(1java.lang.NullPointerException
ion) apply (subgoal_tac"strowski_elem Kass, rule ale_neq_le assump+, \<>\lines *) blast) apply (subst apply (cut_tac x = "s v =vvinassumptionn
mption eveimpldn
thin_tac "Ostrowski_elem K (Suc fr x = s nd v "
(compose nfoldess_ant_def
thin_tac K (Suc n)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
n_tacK (Suc n) (compose.hle n} vv 2))", thin_tac "0≤Ostrowski_elemK n) vv
Suc ( n" vvv = = vv and m = 0 in vals_nonequiv_valuation, simp, ule_tac = vv 0" n
OstrowskiTr8 assumption ndals_nonequiv2v2
apply (simp,
thin_tac a ={hleSuc n (skip inrall_spec 0 < (composeassumptionrule
addompose_defe_defkip_def
rule ballI,
thin_tac0\> v( 0) 0)),
thin_tac "Ostrowski_elem K (Suc n) (o {h. h ≤"
frule_tac " ≤ vv (Suc (Suc 0)) t",
vals_nonequiv_valuation,
simp cut_tac =splusminusn _losededblast (** case * * * **)
pplyc"j = Suc 0",,
drule_tac x = "Suc 0"java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
simp simpapplymp rule_tac="(uc))xin ,+, frule_tacjjandn=nnset_Tr51,assumption, drule_tacfrule_tacn=assumption+, )
(** case * * * **) applyfrule_tac=t y = "(\^>r ± (1\<hyphen>K rule_tac v = "vv
ging_tOp_closed_ assumption
subgoal_tac "rule exE) rule_tac v vv j"and = in
OstrowskiTr9 Ring.[of"") apply (simp add:nset_defblast
thin_tacvals_nonequiv strowski_elem_def compose <levvd=snd in,mptionjava.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
thin_tac
(compose simp,
thin_tac "Ostrowski_elem K (Suc n) (compose hh <(Sun) v (ski 2 " apply (subgoal_tac "s ⋅ Suc n} vv (skip 2))", "Ostrowski_elem K (Suc (Suc n)) vv (s r n = ""Suc (Suc n)"and =Suc 0 vvvv prefer2 apply ( n = "Suc (Suc n)"andfrule_tac=Suc) and vv m=0in
als_nonequiv_valuationluation simp
frule_tac v = "v 0 and x = t in rule Ring.ring_tOp_closed, assumption+, frule_tac x = "\^>r ±r ±in
simp
yrule njI apply (thin_tacj∈ 0<compose (subgoal_tacOstrowski_elem n apply (
thin_tac"vals_nonequivK ( (Surule ballI, erule conjE)+, thin_tac "∀j∈nset (Suc 0) (Suc n). 0 < (compose add:nset_def add"Ostrowski_elem K (Su ) simp add:compose_def skip_def, rule ballI) (** case *** *** **) apply (case_tac " drule_tacSuc0" in bsp, rule_tac v = "vvcompose {h.he
simp"\<e frule_tac nn i e_r1,smi, rule_tac v = "vv r9
simp add:vals_nonequiv_valuationrule_tacSucSucn) dvv 0n
(erulevals_nonequiv_valuation
frule_tac v =vvand tin
drule_tac , assumption apply (simp add:nset_defsimp:Ostrowski_elem_def,erule conjE done
lemma (in Corps) val_1_nonzero:"[valuation K v; x ∈ carrier K; v x = 1]==>compose_d ski, ≠ apply (rule contrapos_pp, simp+, simp a:value_of_zero, rotate_tac 3drues,sm nly:_1[HN sy] simp del:ant_1) done
lemmakvasnoevK(u )v Ostrowski_elem K (Suc n) vv x] ∀m. 2 ≤ apply (cuttac fi, frule Ring.ring_is_agof "K]
frule Ring.ring_one[of "K"],
rulejandt_Tr51assumption
uleluation n""" "0]
,
simp add vv(Suc(Suc" x t OstrowskiTr10, frule val_1_nonzero[of "vv 0" "a"], assumption+) apply ( apply (frule vals_nonequiv_valuation[of "Suc n" "vv "]p frule val_nonzero_noninf[of "vvvvj"and x=ti frule val_unit_cond[of "vv 0" "x"], assumption+, frule_tac n = m in Ring.npClose[of "K" "x"], assumption+, frule aGroup.ag_mOp_closed (simp add:nset_f euecj),rl stT5 assmto+ frule aGroup.ag_pOp_closed[of ""K""\<^ubr apply (subgoal_tac "0 m,
frule_tac x = "a ⋅" K (Suc n) value_less_eq[of "vv 0"], rule Ring.ring_tOp_closed, assumption+, rule Ring.npClose, assumption+, simp add: val_t2p, frule value_zero_nonzero[of "vv 0" "x], assumption,
simp add:val_exp_ringapply ( "s ⋅r ((1s ⋅r (1-\<hyphen>K carrier K", apply case_tac " 1\\^>r\^bsub>K frule_tac n = m in Ring.npZero_sub[of K"], simp
simp add:value_of_zero) apply java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53 apply (rotate_tac -1, drule not_sym,
frule .ag_neq_diffnonzero[ "K"1<r" "x"], simp add:Ring.ring_one[of "K"], assumption+, simp, simp addva_x_n[HNy] cut_tac n1 = m in of_nat_0_less_i d:srwk_lmdf apply rl oj) assumption) pplyin_tac" m) = (0 < int m)", frule val_nonzero_z[of "vv 0" "1 ( " = Suc (Suc 0)" simp
xEtz_z
simp only:ant_1[THENy
apply (subst aGroup v = "vv "xt
ruleleK"], assumption+, e_tac-1 d sym i, "vva <±)^<^sub>r x^java.lang.NullPointerException apply (simp add:val_t2p,(erule conjE,
frulezero_nonzero vv"x], assumpt, simp add:val_exp hin_ta "vals_nonequivSuc (omposeh\> Suc n} (skip 0) j ),
simp add:aadd_0_r,
cut_tac z = m in less_le_trans[of "0""2"], simp, assumption+) (compose {h. h e ( 2))", done
lemma (in Corps) Approx"<lbrakk>vals_nonequiv "s \<>< s ⋅(\^>r ±&hyphen ca K",
x <> <>s ⋅r ± -\<hyphen>K
Longrightarrowr ±vv s rowskiTr9 apply ( Ostrowski_elem_not_one "n vv"",suto, cut_tac field_is_ring, frule Ring.ring_is_ag[of "K"], frlRingigoe[of "K" frule aGroup.ag_pOp_closed[of "K" "1<^frule_tac r±, simp apply (simpp addrowski_elem_defi_elem_defjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
frule_tac j inofnjava.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
simp,
frule_tacthin_tac(nvv
val_exp_ringerule)+,
apply (frule_tac v = "vv j"and x = "1r"and y = "-<(com {h. h e} v (skip (Suc 0))j s)"
value_less_eq, assumption+, simp
applysimpadd:value_of_oneapply(se_tac j = Suc" simp, add:Osnset) apply(simp add:value_of_one, ro -1, drule sym, add:as) done
lemma ( forall>m 2 ≤r ±a x)^m<^esup> \\<p> a \<cdot\m \in air ; Ostrowski_elem K rul x= " - 0inc+tion
aacdot^>r (^<> mvv j xjava.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95 apply frule[of x"], assumption+,
applyfrule_tacrle_tacm=j invals_nnequvv (rl orpp,sp apply (subst val_t2p[of "vv j"], assumption+, rule Ring.npClose, assu+,si ln_ cut_tac field_is_idom, frule_tac v1 = "vv j" and x1 = x and n1 = m in val_exp_ringTHEN sym], ssumptin+, imp done
lemma (in Corps) AppOstr K (Suc n) vin.pC[of K x"]+,
a \>carrier K; a ≠< K;
K ( n x; \> (Suc( n)<> \Longrightarrow> \ Ringof"], apply (frule Ostrowski_elem_nonzero[of "n" "vv"frule v[f Suc n""v""], subgoal_tac "∀[of""1\^>r" "simp
simp, "\<foralln>r x^\^s>K n\<^>) refer apply (rule frul a_oenif[o""], a+, assumption+, simp add:nset_def)frule val_unit_cond[of ""], ass+, apply (frule_tac m j i valsof "Sucvv
simp add:nset_deffruleK""x"], assumption+, frule val[of "vv ngsumption:_java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
simp addOstrowski_elem_def
frule, fold,
ule_tacssumption(ase_tac " = 1<sub>r\^u>\ rl ng.rintpled, assumpo, apply (frle Ostrowski_elm_fr e_tcn= m i nnZero_ub[o "K] mp
frule add) fruleo_nonzerof 0"" assumption
frule_tac=za x= in,
simp add:asprod_amult( "x = 1" ( -, done
lemma (in Corps) Approximation1 add:val_[THEN sym], ∈0; x ∈ carrier K; Ostrowski_elem K (Su n) vv x; j ∈==> ∃m. l < m ⟶a x)^±K m apply (frule vals_nonequiv_valuation[of "Suc(te_tac
mpt_def
frule Approximation1_5Tr5simpneK" supto+ im, assumption+, erule exE, cut_tac field_is_ring, frule Ring.ring_is_ag[of "K"], subgoal_tac "∀and< m" in a_b_exchange, simp
java.lang.NullPointerException apply (simp add:Approximation1_5Tr3, blast) apply (rule allI, rule impI, drule_tac erueexEsp,sm dardauaz frule_tac x = "(1a x)^and y = "a ⋅r (x^"in
value_less_eq[of "vv j"],
rule Ring.npClose,assumption
rule aGroup.ag_pOp_closed, assumption+, simp 0 (a <>\^>r x^\^>K mr ±a x)^ = vv 0 (a ⋅r x^") simp add:aGrouag_mOp_closed) apply (rule Ring.ringtOp_c, assumption+, rule Ring.npC, assump+, simp add:Approximation1_5Tr3,sim add:aadd_0_r, frule sym, assu) done
lemma (in Corps) Approximation1_5Tr7:"[\lbrakkvals_nonequiv
x ∈\Longrightarrow
vals_nonequiv K (Suc n🚫) = 0" (∃l. ∀ (1^su> <> -\<^ba(cuta = "0 < m" and b = " intnb_exchange apply (induct_tac frule<= int,
rule impI, erule conjE impt_m_mapply( :aGroup, addnset_def
frule[of "uc "vv" "0"], simp, frule Approximation1_5Tr6[of "0 simp applyfrule[of0vv], simp,
frule val_1_nonzero[of "vv 0""a"], val_exp_ring sym+)
assumption) (** case n **) mmute] ssumption
apply(rule.losemption+, rule.ring_tOp_closed"], frule_tac = in rest[of _ "vv
restrict_Ostrowski_elemvv
, simp
erulejava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
frule_tac :asprod_n_0
[done
frule_tac n = "Suc (Suc n)"in vals_nonequiv_valuation[of _ "vv" "0"],simp z m less_le_translemmain) Approximation1_5Tr4> (Suc;
rule
simp add:nset_def) apply (erule,
subgoal_tac <> K; Ostrowski_elem Suc n vv>nset (Suc 0) (Suc n)]⋅ vv(1^> \plusminus -<> x)^java.lang.NullPointerException
vj1<r<> -<> \^>plusminus <>K m
blast,
simpnset_Suc done
lemma m=als_nonequiv_valuationiv_valuationionSuc", n_val K (vv 0) = vv 0] vals_nfrule_tac v1 " j"and "\^ub \plusminus -<a x d1 n ∃ val_t2p[ jand"1<>r" yxn apply als_nonequiv_valuation n"""""] simp) apply ( frule (s add:ielfield_isidom,, rename_tac a) apply ( cut_tac n n in Ostrowski) apply ( simp a:asprod_n_0) apply (
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4 frule_tac = aaad x x inAprxmo_5r1o "n ""java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
assumption
simp, assumption+)
ximation1_5Tr7[of _ "vv" _ "n"],
simpj\cdottsubr (x^=aaa (vv j x)" simp, erule exE, xcobounded1nd[o2], cut_tac b = "Suc l" in max.cobounded2[of _ "2"], cut_tac n = l in lessI, frule_tac x = l and y = "assumption,
less_le_trans field_is_ring .ring_is_ag]) "∀^s x^<bs>K n drule_tac a = "max 2
drule_tac"j"x1 in
lemma:"k \le> (frOstrowskielemof "" " x]sumption apply impZset_def)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26 done
lemma transpos_eq:"(τ dd:asprod_amult a_z_z a_zp by (simp add:transpos_def)
lemma (in Corps) Ostrowski_base_mem:"vals_nonequiv K (Suc n) vvvvr ±a x)^±K m ∀ by (rule allI, java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
etrowski_base_hom"], simp add:funcset_mem del:Pi_I')
lemma (in Corps) Ostrowski_base_mem_1:"[ vals_nonequiv_valuation "Suc n"""0,imp
j ≤ (Suc n)] by Suc
lemma (in Corps) Ostrowski_base_nonzero
j ≤ (ΩK vv (Suc n)" apply (simp add:Ostrowski_base_def, frule_tac j = j in transpos_vals_nonequiv[of "n" "vv"], +, cut_tac Ostrowski[of "n", drule_tac a = "vv
someI2_ex) apply (thin_taccut_tac b ="Suc l"in.cobounded2 _"",
eruleconjE apply (rule_tac vv = "vv f x = l an y = "Suc=max l)" in
done
lemma (in Corps) Ostrowski_base_pos:"[^r ±suba x)^±K (max 2 (Suc l))
j ≤ Suc n; ja ≤ apply (simp field_is_ring Ring[of],
frule_tac in[of " v], assumption+, cut_tacOstof "n"], drule_tac a = "vv τin forall_spec, assumption)java.lang.StringIndexOutOfBoundsException: Index 90 out of bounds for length 90 apply (rule omeI2_ex
thin_tac "∃ simp add:Ostrowski_ele apply (case_tac " = 0", simp, cut_tac transpos_eq[oof "j"], simp add:nset_def, frule Suc_leI[of "0" "j"], frule_tac a = j in forall_spec, simp, simp) apply (case_tac "j = 0", simp, frule_tac x = ja in bspec, simp add:nset_def, cut_tac transpos_[of"" " n" "ja ) apply (frule_tac x = j in bspec,uledef
cut_tac transpos_id[of "0""Suc n""ja""j"], simp+) done
apply (case_tac "m = 0", simp,
drule_tac x = l in bspec, simp add:nset_def,
pdanspos_ij_2
drule_tac x = m in bspec, simp add:nset_def,
simp add:transpos_id) done
lemmaCorpsseTr1vals_nonequiv K (Suc n) vv; l ≤ ==>0 < ((vv l) (1java.lang.NullPointerException by (simp add:Ostrowski_baseTr0)
lemma (in CorpspIgCloseapply( dngClose
l ≤ 0 < ((vv m) (Ostrowski_base K vvut_tac^<supK jSuc nSuc jx^" apply altans) applysimpmp done
lemma (in Corps) nsum_in_VrTr:"valuationK vLo (∀ 0 ≤ apply (induct_tac n) apply (rule impI, erule conjE, simp add:val_pos_mem_Vr) apply (rule impI, erule conjE) apply (frule Vr_ring[of v], frule Ring.rin+, frule_tac x = "f (Suc n)" and y = "nsum K f n" in aGroup._ldof"]java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
substassumption+
rule , apply (simp, subst Vr_pOp_f_pOpjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
substrule._sedmptiong_one
simp+) apply (subst.ag_pOp_commute,assumption+, simp add:val_pos_mem_Vr
assumption done
lemma (in Corps) nsum_in_Vr:"[ ∀j ≤ n. 0 ≤a (x l)"], assumption+, apply (simp add:nsum_in_VrTr) done
lemma(norps_em_in_Vrlbrakk>valuation K v; ∀.ag_mOp_closed+, simp
(nsum ) <n> carrier (Vr K v)" by (rule nsum_in_Vr)
lemma (in Corps) val_nscal_ge_selfTr:"[, simp ==> v x ≤ v (n ×, assumption, apply (cut_tac field_is_ring, induct_tac n, simp) apply (simp add:value_of_zero,
simp,
frule_tac y = java.lang.NullPointerException rule Ring.nsClose, assmpton apply-sb>a(x l)", simp
frule Ring.ring_is_ag__r _ -<sub>a(l),assumption+,
frule_tac = in.nsClose K x] +,
simp:aGroup) done
lemma (in allI impI,
v \>(v (1-r±<bsup>K (Suc n) apply(ut_tacgng_is_ag", case_tac "x = 0", simp, frule Ring.ring_one[of "K"], simp add:aGroup.ag_r_zero, simp add:Ring.npOne, simp add:Ring.ring_l_one,simp add:aGroup.ag_r_inv1, subst Ring.tail_of_expansion1[of "K" "x"], assumption+, frule Ring.ring_one[of "K"]) apply (subgoal_tac "(nsum K (λi. nC i× x^ i) n)∈carrier (Vr K v)", frule Vr_mem_f_mem[of "v" "(nsum K (λi. nC i× x^ i) n)"], assumption+, frule_tac x = x and y = "nsum K (λi. nC i× x^ i) n" in Ring.ring_tOp_closed[of "K"], assumption+, subst aGroup.ag_pOp_commute[of "K" _ "1r"], assumption+, subst aGroup.ag_p_inv[of "K" "1r"], assumption+, subst aGroup.ag_pOp_assoc[THEN sym], assumption+, simp add:aGroup.ag_mOp_closed, rule aGroup.ag_mOp_closed, assumption+, simp del:binomial_Suc_Suc add:aGroup.ag_r_inv1, subst aGroup.ag_l_zero, assumption+, rule aGroup.ag_mOp_closed, assumption+, simp add:val_minus_eq)
apply (subst val_t2p[of v], assumption+) apply ( simp add:val_pos_mem_Vr[THEN sym, of v "nsum K (λi.(C + C i) × x^ i) n"], frule aadd_le_mono[of "0" "v (nsum K (λi.(C + C i) × x^ i) n)" "v x"], simp add:aadd_0_l, simp add:aadd_commute[of "v x"])
lemma (in Corps) eSum_minus_x:"[∀in ∀ n. (b j) ∈ ; ∀j∈
gl=x l 🚫
(nsum K (λj∈rule.ag_mOp_closed, rule.ring_one)
nsum K g n" by (cut_tac eSum_tr[of "n" "x" "b" "l" "g"], simp)
lemma (in Corps app_LBvals_nonequiv K (Suc n) vv; applypadd_ r_def ∀N. (Ψ<^bsub>P jesub and x = a and y = "-a b"in
(apply_tactive_of_pd_valuation
-java.lang.NullPointerException apply (frule ApproximationTr3[of "n""vv""x""j""m"],
assumption+) apply (simp del:nsum_suc(e llI applyamin_gt apply (rule impI) apply blast done
lemma (in ( plusminus -java.lang.NullPointerException ∀j∈{h. h ≤ ∃l. ∀N. l < N (tacrnd=xnRingO\^K P n
(vv j (Σe K (λj∈
-a ((\addt_pds_def apply (oal_tac<> <Psi\K (Suc n) vv x m⟶
(∀f(enjE
(vv j (Σe K (λj∈K (P j)) r)")
java.lang.NullPointerException apply blast apply (rule allI, rule impI)+ apply (frule_tac j = j in app_LB[of "n" "vv" "x" _ "m"], simp, assumption, subgoal_tac "(Ψ (Suc n) vv x m) j < N", blast) apply (frule_tac l = j and n = "Suc n" and f = "Ψ (Suc n) vv x m" in m_max_gt, frule_tac x = "(Ψ (Suc n) vv x m) j" and y = "m_max (Suc n) (Ψ (Suc n) vv x m)" and z = N in le_less_trans, assumption+) done
theorem (in Corps) Approximation_thm:"[vals_nonequiv K (Suc n) vv; ∀j≤ (Suc n). (x j) ∈ carrier K]==> ∃y∈carrier K. ∀j≤ (Suc n). (an m) ≤ (vv j (y ± -a (x j)))" apply (cut_tac field_is_ring, frule Ring.ring_is_ag[of "K"]) apply (subgoal_tac "∃l. (∀N. l < N ⟶ (∀j ≤ (Suc n). (an m) ≤ ((vv j) ((nsum K (λj∈{h. h ≤ (Suc n)}. (x j) ⋅r (1r± -a (1r± -a ((Ω vv (Suc n)) j)^ N)^ N)) (Suc n)) ± -a (x j)))))") apply (erule exE) apply (rename_tac M) apply (subgoal_tac "∀j≤ (Suc n). (an m) ≤
(vv j ( (Σe K (λj∈{h. h ≤ (Suc n)}. (x j) ⋅r (1r± -a (1r±
-a ((Ω vv (Suc n)) j)^ (Suc M))^ (Suc M))) (Suc n)) ± -a (x j)))") apply (subgoal_tac "Σe K (λj∈{h. h ≤ (Suc n)}. (x j) ⋅r (1r±
-a (1r± -a ((Ω vv (Suc n)) j)^ (Suc M))^ (Suc M))) (Suc n) ∈ carrier K") apply blast apply (rule aGroup.nsum_mem[of "K" "Suc n"], assumption+) apply (rule allI, rule impI, simp del:nsum_suc npow_suc) apply (rule Ring.ring_tOp_closed, assumption+, simp, rule ApproximationTr1, simp add:Ostrowski_base_mem)
definition distinct_pds :: "[_, nat, nat ==> ('b ==> ant) set] ==> bool" where "distinct_pds K n P ⟷ (∀j≤ n. P j ∈ PdsK) ∧
(∀l≤ n. ∀m≤ n. l ≠ m ⟶ P l ≠ P m)"
(** pds --- prime divisors **) lemma (in Corps) distinct_pds_restriction:"[distinct_pds K (Suc n) P]==>
distinct_pds K n P" apply (simp add:distinct_pds_def) done
lemma (in Corps) ring_n_distinct_prime_divisors:"distinct_pds K n P ==>
Ring (Sr K {x. x∈carrier K ∧ (∀j≤ n. 0≤ ((νK (P j)) x))})" apply (simp add:distinct_pds_def) apply (erule conjE) apply (cut_tac field_is_ring) apply (rule Ring.Sr_ring, assumption+) apply (subst sr_def) apply (rule conjI) apply (rule subsetI) apply simp apply (rule conjI) apply (simp add:Ring.ring_one) apply (rule allI, rule impI) apply (cut_tac P = "P j" in representative_of_pd_valuation, simp, simp add:value_of_one) apply (rule ballI)+ apply simp apply (frule Ring.ring_is_ag[of "K"]) apply (erule conjE)+ apply (frule_tac x = y in aGroup.ag_mOp_closed[of "K"], assumption+) apply (frule_tac x = x and y = "-a y" in aGroup.ag_pOp_closed[of "K"], assumption+) apply simp apply (rule conjI) apply (rule allI, rule impI) apply (rotate_tac -4, frule_tac a = j in forall_spec, assumption, rotate_tac -3, drule_tac a = j in forall_spec, assumption) apply (cut_tac P = "P j" in representative_of_pd_valuation, simp) apply (frule_tac v = "ν (P j)" and x = x and y = "-a y" in amin_le_plus, assumption+) apply (simp add:val_minus_eq) apply (frule_tac x = "(ν (P j)) x" and y = "(ν (P j)) y" in amin_ge1[of "0"]) apply simp apply (rule_tac j = "amin ((ν (P j)) x) ((ν (P j)) y)" and k = "(ν (P j)) (x ± -a y)" in ale_trans[of "0"], assumption+) apply (simp add:Ring.ring_tOp_closed) apply (rule allI, rule impI, cut_tac P = "P j" in representative_of_pd_valuation, simp, subst val_t2p [where v="ν P j
rule aadd_two_pos, simp+) done
lemmainct_pds_valuationj ≤
distinct_pds K (Suc n) P] apply (rule_tac P = "P j"in representative_of_pd_valuation) apply (simp add:distinct_pds_def) done
lemma (in Corps) distinct_pds_valuation1:"[0 < n; j ≤ n; distinct_pds K n P] ==> valuation K (ν (P j))" apply (rule distinct_pds_valuation[of "j""n - Suc 0""P"]) apply simp+ done
lemma (in Corps) distinct_pds_valuation2:"[j ≤ n; distinct_pds K n P]==> valuation K (ν (P j))" apply (case_tac "n = 0",
simp add:distinct_pds_def,
subgoal_tac "0 ∈ {0::nat}",
simp add:representative_of_pd_valuation[of "P 0"],
simp)
definition
ring_n_pd :: "[('b, 'm) Ring_scheme, nat ==> ('b ==> ant) set, nat ] ==> ('b, 'm) Ring_scheme"
(‹(3O _ _)› [98,98,99]98) where "O P n = Sr K {x. x ∈ carrier K ∧ (∀j ≤ n. 0 ≤ ((ν (P j)) x))}" (** ring defined by n prime divisors **)
lemma (in Corps) ring_n_pd:"distinct_pds K n P ==> Ring (O P n)" by (simp add:ring_n_pd_def, simp add:ring_n_distinct_prime_divisors)
lemma (in Corps) ring_n_pd_Suc:"distinct_pds K (Suc n) P ==> carrier (OK P (Suc n)) ⊆ carrier (O P n)" apply (rule subsetI) apply (simp add:ring_n_pd_def Sr_def) done
lemma (in Corps) ring_n_pd_pOp_K_pOp:"[distinct_pds K n P; x∈carrier (O P n); y ∈ carrier (O P n)]==> x ±O P n) y = x ± y" apply (simp add:ring_n_pd_def Sr_def) done
lemma (in Corps) ring_n_pd_tOp_K_tOp:"[distinct_pds K n P; x ∈carrier (O P n); y ∈ carrier (O P n)]==> x ⋅rO P n) y = x ⋅r y" apply (simp add:ring_n_pd_def Sr_def) done
lemma (in Corps) ring_n_eSum_K_eSumTr:"distinct_pds K n P ==> (∀j≤m. f j ∈ carrier (O P n)) ⟶ nsum (O P n) f m = nsum K f m" apply (induct_tac m) apply (rule impI, simp)
apply (rule impI, simp,
subst ring_n_pd_pOp_K_pOp, assumption+,
frule_tac n = n in ring_n_pd[of _ "P"],
frule_tac Ring.ring_is_ag, drule sym, simp) apply (rule aGroup.nsum_mem, assumption+, simp+) done
lemma (in Corps) ring_n_eSum_K_eSum:"[distinct_pds K n P; ∀j ≤ m. f j ∈ carrier (O P n)]==> nsum (O P n) f m = nsum K f m" apply (simp add:ring_n_eSum_K_eSumTr) done
lemma (in Corps) ideal_eSum_closed:"[distinct_pds K n P; ideal (O P n) I; ∀j ≤ m. f j ∈ I]==> nsum K f m ∈ I" apply (frule ring_n_pd[of "n""P"]) thm Ring.ideal_nsum_closed apply (frule_tac n = m in
Ring.ideal_nsum_closed[of "(O P n)""I" _ "f"], assumption+) apply (subst ring_n_eSum_K_eSum [THEN sym, of n P m f], assumption+,
rule allI, simp add:Ring.ideal_subset) apply assumption done
definition
prime_n_pd :: "[_, nat ==> ('b ==> ant) set, nat, nat] ==> 'b set"
(‹(4P _ _ _)› [98,98,98,99]98) where "P P n j = {x. x ∈ (carrier (O P n)) ∧ 0 < ((ν (P j)) x)}"
lemma (in Corps) zero_in_ring_n_pd_zero_K:"distinct_pds K n P ==> 0O P n) = 0" apply (simp add:ring_n_pd_def Sr_def) done
lemma (in Corps) one_in_ring_n_pd_one_K:"distinct_pds K n P ==> 1rO P n) = 1r" apply (simp add:ring_n_pd_def Sr_def) done
lemma (in Corps) mem_ring_n_pd_mem_K:"[distinct_pds K n P; x ∈carrier (O P n)] ==> x ∈ carrier K" apply (simp add:ring_n_pd_def Sr_def) done
lemma (in Corps) ring_n_tOp_K_tOp:"[distinct_pds K n P; x ∈ carrier (O P n); y ∈ carrier (O P n)]==> x ⋅rO P n) y = x ⋅r y" apply (simp add:ring_n_pd_def Sr_def) done
lemma (in Corps) ring_n_exp_K_exp:"[distinct_pds K n P; x ∈ carrier (O P n)] ==> x^ m = x^O P n) m" apply (frule ring_n_pd[of "n""P"]) apply (induct_tac m) apply simp apply (simp add:one_in_ring_n_pd_one_K)
apply simp apply (frule_tac n = na in Ring.npClose[of "O P n""x"], assumption+) apply (simp add:ring_n_tOp_K_tOp) done
lemma (in Corps) prime_n_pd_prime:"[distinct_pds K n P; j ≤ n]==> prime_ideal (O P n) (P P n j)" apply (subst prime_ideal_def) apply (rule conjI) apply (simp add:ideal_def) apply (rule conjI) apply (rule aGroup.asubg_test) apply (frule ring_n_pd[of "n""P"], simp add:Ring.ring_is_ag) apply (rule subsetI, simp add:prime_n_pd_def) apply (subgoal_tac "0O P n)∈ P P n j") apply blast
lemma (in Corps) n_eq_val_eq_idealTr: "[distinct_pds K n P; x ∈ carrier (O P n); y ∈ carrier (O P n); \<forall>j ≤ n. ((ν (P j)) x) ≤ ((ν (P j)) y)]==> Rxa (O P n) y ⊆ Rxa (O P n) x" apply (subgoal_tac "∀j ≤ n. valuation K (ν (P j))") apply (case_tac "x = 0O P n)",
simp add:zero_in_ring_n_pd_zero_K) apply (simp add:value_of_zero) apply (subgoal_tac "y = 0", simp,
drule_tac a = n in forall_spec, simp,
drule_tac a=n in forall_spec, simp) apply (cut_tac inf_ge_any[of "(ν (P n)) y"],
frule ale_antisym[of "(\<nu>\<^bsub>K (P n)\<^esub>) y""\<infinity>"], assumption+)
apply (rule value_inf_zero, assumption+)
apply (simp add:mem_ring_n_pd_mem_K, assumption)
apply (rule allI, rule impI, drule_tac a = j in forall_spec, assumption+,
cut_tac invf_closed1[of x], simp, erule conjE)
apply (subst val_t2p [where v="\<nu>\<^bsub>K P j\<^esub>"], simp,
rule mem_ring_n_pd_mem_K[of "n""P""y"], assumption+,
frule_tac x = j in spec, simp,
simp add:zero_in_ring_n_pd_zero_K)
apply (subst value_of_inv [where v="\<nu>\<^bsub>K P j\<^esub>"], simp,
simp add: applysimp
apply (frule_tac x = "(\<nu>\<^bsub>K (P j)\<^esub>) x" and y = "(\<nu>\<^bsub>K (P j)\<^esub>) y" in ale_diff_pos,
simp add:diff_ant_def,
simp add:mem_ring_n_pd_mem_K[of "n""P""x"] zero_in_ring_n_pd_zero_K)
apply (rule allI, rule impI,
simp add:distinct_pds_def, (erule conjE)+,
rule_tac P = "P j" in representative_of_pd_valuation, simp)
done
lemma (in Corps) n_eq_val_eq_ideal:"\<lbrakk>distinct_pds K n P; x \<in> carrier (O\<^bsub>K P n\<^esub>);
y \<in> carrier (O\<^bsub>K P n\<^esub>); \<forall>j \<le> n.((\<nu>\<^bsub>K (P j)\<^esub>) x) = ((java.lang.StringIndexOutOfBoundsException: Index 111 out of bounds for length 111
Rxa (O\<^bsub>K P n\<^esub>) x = Rxa (O\<^bsub>K P n\<^esub>) y"
apply (rule equalityI)
apply (subgoal_tac "\<forall>j\<le> n. (\<nu>\<^bsub>K (P j)\<^esub>) y \<le> ((\<nu>\<^bsub>K (P
apply (rule n_eq_val_eq_idealTr, assumption+)
apply (rule allI, rule impI, simp)
definition
mI_gen :: "[_ , nat \<Rightarrow> ('r \<Rightarrow> ant) set, nat, 'r set] \<Rightarrow> 'r" where "mI_gen K P n I = (SOME x. x \<in> I \<and>
(\<forall>j \<le> n. (\<nu>\<^bsub>K (P j)\<^esub>) x = LI K (\<nu>\<^bsub>K (P j)\<^esub>) I))"
definition
mL :: "[_, nat \<Rightarrow> ('r \<Rightarrow> ant) set, 'r set, nat] \<Rightarrow> int" where "mL K P I j = \ \<forallj<>( ) \<in carrier \<ero})<>Longrightarrow
lemma (in Corps) mI_vals_nonempty:"\<lbrakk>distinct_pds K n P; ideal (O\<^bsub>K P n\<^esub>) I; j\<le>n\<rbrakk> \<Longrightarrow> (\<nu>\<^bsub>K (P j)\<^esub>) ` I \<noteq> {}"
apply( ring_n_pdof"""")
apply (frule Ring.ideal_zero [of "O\<^bsub>K P n\<^esub>""I"], assumption+)
apply (simp add:image_def)
apply blast
done
lemma (in Corps) mI_vals_LB:"\<lbrakk>distinct_pds K n P; ideal (O\<^bsub>K P n\<^esub>) I; j \<le> n\<rbrakk> \<Longrightarrow>
((\<nu>\<^bsub>K (P j)\<one
apply (rule subsetI)
apply (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
apply (frule ring_n_pd[of "n""P"])
apply (frule_tac h = xa in Ring.ideal_subset[of "O\<^bsub>K P n\<^esub>""I"], assumption+)
apply (thin_tac "ideal (O\<^bsub>K P n\<^esub>) I")
apply (thin_tac "Ring (O\<^bsub>K P n\<^esub>)")
apply (simp add: ring_n_pd_def Sr_def) apply (erule conjE)+
apply (drule_tac a = j in forall_spec, simp)
apply (simp add:LBset_def ant_0)
done
lemma (in Corps) mL_hom:"\<lbrakk>distinct_pds K n P; ideal (O\<^bsub>K P n\<^esub>) I;
I \<noteq> {\<zero>\<^bsub>(O\<^bsub>K P n\<^esub>)\<^esub>}; I \<noteq> carrier (O\<^bsub>K P n\<^esub>)\<rbrakk> \<Longrightarrow> \<forall>j \<le> n. mL K P I j \<in> Zset"
apply (rule allI, rule impI)
apply (simp add:mL_def LI_def)
apply (simp add:Zset_def)
done
lemma (in Corps) ex_Zleast_in_mI:"\<lbrakk>distinct_pds K n P; ideal (O\<^bsub>K P n\<^esub>) I; j \<le> n\<rbrakk> \<Longrightarrow> \<exists>x\<in>I. (\<nu>\<^bsub>K erule conjE addmprod_Suc
apply (frule_tac j = j in mI_vals_nonempty[of "n""P""I"], assumption+)
apply (frule_tac j = j in mI_vals_LB[of "n""P""I"], assumption+)
apply (frule_tac A = "(\<nu>\<^ apply rule Ringring_tOp_closed[of K] assumption+,
apply (simp add:LI_def)
apply (thin_tac "(\<nu>\<^bsub>K (P j)\<^esub>) ` I \<subseteq> LBset (ant 0)")
apply (simp add:image_def, erule bexE)
apply (drule sym)
apply blast
done
lemma (in Corps) val_LI_pos:"\<lbrakk>distinct_pds K n
I \<noteq> {\<zero>\<^bsub>(O\<^bsub>K P n\<^esub>)\<^esub>}; j \<le> n\<rbrakk> \<Longrightarrow> 0\<le> LI K (\<nu>\<^bsub>K (P j)\<^esub>) I"
apply (frule_tac j = j in mI_vals_nonempty[of n P I], assumption+)
apply (frule_tac j = j in mI_vals_LB[of n P I], assumption+)
j\^> "and z inAMin_mem, +)
apply (simp add:LI_def)
apply (frule subsetD[of "(\<nu>\<^bsub>K (P j)\<^esub>) ` I""LBset (ant 0)""AMin ((\<nu>\<^bsub>K (P j)\<^esub>) ` I)"], assumption+)
apply (simp add:LBset_def ant_0)
done
lemma (in Corps) val_LI_noninf:"\<lbrakk>distinct_pds K n P; ideal (O\<^bsub>K P n\<^esub>) I;
I \<noteq> {\<lemma (in Corps Kbase_Kroneckerdistinct_pdsK P\<Longrightarrow
apply j [ "n""P""I"], assumption+)
java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
apply (frule_tac A = "(\<nu>\<^bsub>K (P jjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
apply (thin_tac "(\<nu>\<^bsub>K (P j)\<^esub>) ` I \<subseteq> LBset (ant 0)",
thin_tac "(\<nu>\<^bsub>K (P j)\<^esub> ) ` I \<noteq> {}")
apply (frule ring_n_pd[of "n""P"])
apply (frule Ring.ideal_zero[of "O\<^ apply subgoal_tac (<u><bsubK ( j<>)(Kb<bsub>K n P\<^esub>) j=<delta<bsubjj\^
apply (erule conjE, simp add:LI_def)
apply (frule singleton_sub[of "\<zero>\<^bsub>O\<^bsub>K P n\<^esub>\<^esub>""I"])
apply (frule sets_not_eq[of "I""{\<zero>\<^bsub>O\<^bsub>K P n\<^esub>\<^esub>}"],
assumption+, erule bexE)
apply (simp add:zero_in_ring_n_pd_zero_K)
apply (subgoal_tac "\<exists>x\<in>I. AMin ((\<nu>\<^bsub>K (P j)\<^esub>) ` I) = (\ apply(imp :value_of_zero onlyant_1THENsym,
erule bexE) apply simp
apply (drule_tac x = a in bspec, assumption)
apply (thin_tac "AMin ((\<nu>\<^bsub>K (P j)\<^esub>) ` I) = (\<nu>\<^bsub>K (P j)\<^esub>) x")
apply (frule_tac h = a in Ring.ideal_subset[of "O\<^bsub>K P n\<^esub>""I"], assumption+)
apply (frule_tac x = a in mem_ring_n_pd_mem_K[of n P], assumption+)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
apply (cut_tac representative_of_pd_valuation[of "P j"])
defer apply simp apply blast
apply (frule_tac x = a in val_nonzero_z[of "\<nu>\<^bsub>K (P j)\<^esub>"], assumption+,
erule exE, simp)
apply (thin_tac "\<forall>l \<le> n. \<forall>m \<le> n. l \<noteq> m \<longrightarrow> P l \<noteq> P m",
thin_tac "(\<nu>\<^bsub>K (P j)\<^esub>) a = ant z")
apply (rule contrapos_pp, simp+)
apply (cut_tac x = "ant z" in inf_ge_any)
apply (frule_tac x = "ant z" in ale_antisym[of _ "\<infinity>"], assumption+)
applysimp
done
lemma (in Corpslemma( Corps) :\lbrakkdistinct_pds KnP ideal(\^> P n\^> ;j \<>n<rbrakk>
<>(Zl_mIK P I j \<in>)\and (<nu\^>K ( )<esub)( KP j)=LIK (<><bsub>K Pj<esub>) I
apply (simp add:mL_def)
apply (apply( "<xists>.( <>I <and (<>^> P j<^> x= K(nu><bsub> (P j)\<^sub) )"
erule bexE, frule sym, thin_tac "(\<nu>\<^bsub>K (P j)\<^esub>) x = LI K (\<nu>\<^bsub>K (P j)\<^esub>) I")
apply (subgoal_tac "LI K (\<nu>\<^bsub>K (P j)\<java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 36
apply (thin_tac "LI K (\<nu>\<^bsub>K (P j)\<^esub>) I = (\<nu>\<^bsub>K (P j)\<^esub>) x")
apply (frule ring_n_pd[of "n""P"])
apply (frule_tac h = x in Ring.ideal_subset[of "O\<^bsub>K P n\<^esub>""I"], assumption+)
apply (thin_tac "ideal (O\<^bsub>K P n\<^esub>) I")
apply (thin_tac "Ring (O\<^bsub>K P n\<^esub>)")
apply (simp add: ring_n_pd_def Sr_def) apply (erule conjE)
apply (drule_tac a = j in forall_spec, assumption)
apply (simp add:apos_tna_pos)
apply (apply subgoal_tac"\^> P\^>=VrK(nu>^> P)^>)
done
lemma (in Corps) Zleast_mL_I:" apply ( add:g_defZl_mI_def)
I \<noteq> {\<zero>\<^bsub>(O\<^bsub>K P n\<^esub>)\<^esub>}; x \<in> I\<rbrakk> \<Longrightarrow> ant (mL K P I j) \<le> ((\<nu>\<^bsub>K (P j)\<^esub>) x)"
apply (frule val_LI_pos[of "n""P""I""j"], assumption+)
apply frule[ LIK(<>^> Pj)^>I]java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
apply (frule val_LI_noninf[of "n""P""I""j"], assumption+)
apply (simp add:mL_def LI_def)
apply (simp add:ant_tna)
apply (frule Zleast_in_mI_pos[of "n""P""I""j"], assumption+)
lemma (in Corps) Zleast_LI:"\<lbrakk>distinct_pds K n P; ideal (O\<^bsub>K P n\<^esub>) I; j \<le> n;
I \<noteq> {\<zero>\<^bsub>(O ( :em_ring_n_pd_mem_K)applyjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
apply (frule mI_vals_nonempty[of "n""P""I""j"], assumption+)
apply (frule mI_vals_LB[of "n""P""I""j"], assumption+)
apply (frule AMin[of "(\<nu>\<^bsub>K (P j)\<^esub>) `I""0"], assumption+)
apply (erule conjE)
apply (simp add:LI_def)
done
lemma (in Corps) mpdiv_vals_nonequiv:"distinct_pds K n P \<Longrightarrow>
vals_nonequiv K n (\<lambda>j. \<nu>\<^bsub>K (P j)\<^esub>) "
applyfrulevalue_Zl_mI n""P ""l" +
apply (rule conjI)
apply (simp add:valuations_def)
allI impI)
apply (rule representative_of_pd_valuation,
simp add:distinct_pds_def)
apply ((rule allI, rule impI)+, rule impI)
apply (simp add:distinct_pds_def, erule conjE)
apply (rotate_tac 4) apply (
drule_tac a = j in forall_spec, assumption)
apply (rotate_tac
drule_taca=lin forall_specassumption, simp)
apply (simp add:distinct_p_divisors)
done mprod_expR_memTr"<orallj<len. j \in>carrier ) <ongrightarrow>
definition
KbaseP :: "[_, nat \<Rightarrow> ('r \<Rightarrow> ant) set, nat] \<Rightarrow>
(nat \<Rightarrow> 'r) \<Rightarrow> bool" where "KbaseP K P n f \<longleftrightarrow> (\<forall>j \<le> n. f j \<in> carrier K) \<and>
(\<forall>j \<le> n. \<forall>l \<le> n. (\<nu (cut_tac.npCloseof K f ""0
definition
Kbase :: "[_, nat, nat \<Rightarrow> ('r \<Rightarrow> ant) set] \<Rightarrow> (nat \<Rightarrow> 'r)" (\<open>(3Kb\<^bsub>_ _ _\<^esub>)\<close> [95,95,96]95) where "Kb\<^bsub>K n P \<^esub> = (SOME f. KbaseP K P n f)"
lemma (in Corps) KbaseTr:"distinct_pds K n P \<Longrightarrow> \<exists>f. KbaseP K P n f"
apply (simp add: KbaseP_def)
apply (frule mpdiv_vals_nonequiv[of "n""P"])
apply (case_tac "n = 0")
apply (simp add:vals_nonequiv_def valuations_def)
apply (simp add:distinct_pds_def)
apply (frule n_val_n_val1[of "P 0"])
apply (frule n_val_surj[of "\<nu>\<^bsub>K (P 0)\<^esub>"])
apply (erule bexE)
apply (subgoal_tac "pply (ubgoal_tac" <> j <> n <> "simp)
(\<nu>\<^bsub>K (P 0)\<^esub>) ((\<lambda>j\<in>{0::nat}. x) (0::nat)) = (\<delta>\<^bsub>00\<^esub>)")
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
apply (rule conjI)
apply simp apply (simp add:Kronecker_delta_def)
apply (cut_tac Approximation1_5[of "n - Suc 0""\<lambda>j. \<nu>\<^bsub>K (P j)\<^esub>"])
apply simp
apply simp+
apply (rule allI, rule impI)
apply lemma(in Corps mprod_memTr:"
apply (simp add:distinct_pds_def)
done
lemma (in Corps) KbaseTr1:"distinct_pds K n P \<Longrightarrow> KbaseP K P n (Kb\<^bsub>K n P \<^esub>)"
apply (subst Kbase_def)
apply (frule KbaseTr[of n P])
apply (erule exE)
apply (simp add:someI)
done
lemma (in Corps) Kbase_hom:"distinct_pds K n P \<Longrightarrow> \<forall>j \<le> n. (Kb\<^bsub>K n P\<^esub>) j \<in>
apply (frule KbaseTr1[of "n""P"])
apply (simp add:KbaseP_def)
done
lemma (in Corps) Kbase_Kronecker:"distinct_pds K n P \<Longrightarrow> \<forall>j \<le> n. \<forall>l java.lang.NullPointerException
apply (frule KbaseTr1[of n P])
apply simpadd:)
done
lemma (in Corps) Kbase_nonzero:"distinct_pds K n P \<Longrightarrow> \forallj <>. Kb^> Pesub)j \>\zero>java.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 89
apply (rule allI, rule impI)
apply (frule Kbase_Kronecker[of n P])
apply (subgoal_tac "(\<nu>\<^bsub>K (P j)\<^esub>) ((Kb\<^bsub>K n P\<^esub>) j) = \<delta>\<^bsub>j j\<^esub>")
apply (thin_tac "\<forall>j\<le>n. (\<forall>l\<le>n. ((\<nu>\<^bsub>K P j\<^esub>) ((Kb\<^bsub>K n P\<applyruleallI impI addnpowf_mem
ronecker_delta_def
apply (rule contrapos_pp, simp+)
apply (cut_tac P = "P j" in representative_of_pd_valuation)
apply (simp add:distinct_pds_def)
apply (simp only:value_of_zero, simp only:ant_1[THEN sym],
frule sym, thin_tac " \<infinity> = ant 1", simp del:ant_1)
apply simp
done
lemma (in Corps) Kbase_hom1:"distinct_pds K n P \<Longrightarrow> \<forall>j \<le> n. (Kb\<^bsub>K n P\<^esub>) j \<in> carrier K - {\<zero>}"
by(simp add:Kbase_nonzero Kbase_hom)
definition
Zl_mI :: "[_, nat \<Rightarrow> ('b \pply (frule ring_n_pd[of nP]) \<Rightarrow> nat \<Rightarrow> 'b" where "Zl_mI K P I j = (SOME x. (x \<in> I \< apply( impI, eruleconjE),
lemma (in Corps) value_Zl_mI:"\<lbrakk>distinct_pds K n P; ideal (O\<^bsub>K P n\<^esub>) I; j \<le> n\<rbrakk> \<Longrightarrow> (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
apply (subgoal_tac "\<exists>x. (x \<in> I \<and> ((\<nu>\<^bsub>K (P j)\<^esub>) x = LI K (\<nu>\<^bsub allI ruleimpI
apply (subst Zl_mI_def)+
apply (rule someI2_ex, assumption+)
apply (frule ex_Zleast_in_mI[of "n""P""I""j"], assumption+)
ulebexE blast
done
lemma (in Corps) Zl_mI_nonzero:"\<lbrakk>distinct_pds K n P; ideal (O\<^bsub>K P n\<^esub>) I;
I \<noteq> {\apply substring_n_tOp_K_tOp,assumption,
apply (case_tac "n = 0")
apply (simp add:distinct_pds_def)
apply ruleRingmprod_expR_mem,simp:,
apply (subgoal_tac ,
apply (subgoal_tac "Zl_mI K P I 0 = Ig K (\<nu>\<^bsub>K simpjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
apply simp apply (simp add:Ig_nonzero)
apply (simp add:Ig_def Zl_mI_def)
apply (simp add:ring_n_pd_def Vr_def)
apply (simp)
( value_Zl_mI[of n PIj] assumption)
apply (erule conjE)
apply (rule contrapos_pp\Longrightarrowmprod_expK = O<bsub n\^>)( oe f"
apply (frule distinct_pds_valuation1[of n j P], assumption+)
apply (simp add:value_of_zero)
apply (simp add:zero_in_ring_n_pd_zero_K)
apply (frule singleton_sub[of "\<zero>""I"],
sets_not_eqofI" "<>},,
erule bexE, simp)
apply (frule_tac x = a in Zleast_mL_I[of "n""P""I""j"], assumption+)
apply (frule_tac x = a in val_nonzero_z[of "\<nu>\<^bsub>K (P j)\<^esub>"])
apply (frule ring_n_pd[of "n""P"])
apply (frule_tac h = a in Ring.ideal_subset[of "O\<^bsub>K P n\<^esub>""I"], assumption+)
apply (simp add:mem_ring_n_pd_mem_K) apply assumption
simp :, :field_potent_nonzero1 \<Longrightarrow> (Zl_mI K P I l) \<in> carrier K"
apply (frule value_Zl_mI[of "n""P""I""l"], assumption+)
apply (erule conjE)
apply (frule ring_n_pd[of "n""P"])
frule.[ O<bsub> P<esub> I Zl_mI l],+
applysimpadd:mem_ring_n_pd_mem_K n" PZl_mIKP ")
done
definition
mprod_exp :: "[_, nat \<Rightarrow> int, nat \<Rightarrow> 'b, nat] \<Rightarrow> 'b" where "mprod_exp K e f n = nprod K (\<lambda>j. ((f j)\<^bsub>K\<^esub>\<^bsup>(e j)\<^esup>)) n"
lemma (in Corps) mprod_expR_memTr:"(\<forall>j\<le>n. f j \<in> carrier K) \<longrightarrow>
K efn <>carrier K"
apply cut_tacfield_is_ring)
apply (induct_tac n)
apply (rule impI, simp)
apply (simp add:mprod_expR_def)
apply (cut_tac Ring.npClose[of K "f 0""e 0"], assumption+)
apply (rule impI)
apply simp
apply (substjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 0
apply (simp)
apply (simp)
apply (rule Ring.ring_tOp_closed[of K], assumption+)
ruleRing., assumption+)
apply simp
done
lemma( ) mprod_expR_mem"<> \le .f \in carrierK\Longrightarrow>java.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 91
mprod_expR K e f n \<in> carrier K"
apply (cut_tac field_is_ring)
apply (cut_tac Ring applysimp
apply simp
apply (subgoal_tac "f \<in> {j. j \<le> n} \<rightarrow rotate_tac-,drulenot_sym)
done
lemma (in Corps) mprod_Suc:"\<lbrakk> \<forall> \<forall>j apply frule val_LI_noninfof" ""P "" "", +)
mprod_exp K e f (Suc n) = (mprod_exp K e f n) \<cdot>\<^sub>r ((f (Suc n))\<^bsub>K\<^esub>\<^bsup>(e (Suc n))\<^esup>)"
apply (simp add:mprod_exp_def)
done
lemma (in Corps) mprod_mem:"\<lbrakk>\<forall>j \<le> n. e j :delta_in_Zinf
apply (cut_tac mprod_memTr[ allIrule,
done
lemma (in Corps) mprod_mprodR:"\<lbrakk>\<forall>j \<le> n. e j \<in> Zset; \<forall>j \<le> n. 0 \<le> (e j); \<forall>j \<le> n. f j \<in> ((carrier K) - {\<zero>}java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
mprod_exp K e f n = mprod_expR K (nat o e) f n"
apply (cut_tac field_is_ring)
pplysimp :mprod_exp_defmprod_expR_def)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
apply (rule Ring.nprod_eq, assumption+)
apply (rule allI, rule impI, simp add:npowf_mem)
apply (rule allI, rule impI, rule Ring.npClose, assumption+, simp)
apply (rule allI, rule impI)
apply(add:)
done
subsection "Representation of an ideal I as a product of prime ideals"
lemma (in Corps) ring_n_mprod_mprodRTr:"distinct_pds K n P \<Longrightarrow>
(\<forall>j \<le> m. e j \<in> Zset) \<and> (\<forall>j \<le> m. 0\<le> (e j)) \<and>
(\<forall>j \<le> m. f j \<in> carrier (O\<^bsub>K P n\<^esub>)-{\<zero>\<^bsub>(O\<^bsub>K P n\<^esub>)\<^esub>}) \<longrightarrow>
mprod_exp K e f m = mprod_expR (O\<^bsub>K P n\<^esub>) (nat o e) f m"
apply (frule ring_n_pd[of n P])
apply (induct_tac m)
apply (rule impI, (erule conjE)+,
simp add:mprod_exp_def mprod_expR_def)
apply (erule conjE, simp add:npowf_def, simp add:ring_n_exp_K_exp)
lemma (in Corps) ring_n_mprod_mprodR:"\<lbrakk>distinct_pds K n P; \<forall>j \<le> m. e j \<in> Zset; \<forall>j \<le> m. 0\<le> (e j); \<forall>j \<le> m. f j \<in> carrier (O\<^bsub>K P n\<^esub>)-{\<zero>\<^bsub>(O\<^bsub>K P n\<^esub>)\<^esub>}\<rbrakk> \<Longrightarrow> mprod_exp K e f m = mprod_expR (O\<^bsub>K P n\<^esub>) (nat o e) f m"
apply (simp add:ring_n_mprod_mprodRTr)
done
lemma (in Corps) value_mprod_expTr:"valuation K v \<Longrightarrow>
(\<forall>j \<le> n. e j \<in> Zset) \<and> (\<forall>j \<le> n. f j \<in> (carrier K - {\<zero>})) \<longrightarrow>
v (mprod_exp K e f n) = ASum (\<lambda>j. (e j) *\<^sub>a (v (f j))) n"
apply (induct_tac n)
apply simp
apply (rule impI, erule conjE)
apply(simp add:mprod_exp_def val_exp)
apply (rule impI, erule conjE)
apply simp
apply (subst mprod_Suc, assumption+)
apply (rule allI, rule impI, simp)
apply (subst val_t2p[of v], assumption+)
apply (cut_tac n = "n" in mprod_mem[of _ e f],
(rule allI, rule impI, simp)+, simp)
apply (simp add:npowf_mem, simp add:field_potent_nonzero1)
apply (simp add:val_exp[THEN sym, of "v"])
done
lemma (in Corps) value_mprod_exp:"\<lbrakk>valuation K v; \<forall>j \<le> n. e j \<in> Zset; \<forall>j \<le> n. f j \<in> (carrier K - {\<zero>})\<rbrakk> \<Longrightarrow>
v (mprod_exp K e f n) = ASum (\<lambda>j. (e j) *\<^sub>a (v (f j))) n"
apply (simp add:value_mprod_expTr)
done
lemma (in Corps) mgenerator0_1:"\<lbrakk>distinct_pds K (Suc n) P;
ideal (O\<^bsub>K P (Suc n)\<^esub>) I; I \<noteq> {\<zero>\<^bsub>(O\<^bsub>K P (Suc n)\<^esub>)\<^esub>};
I \<noteq> carrier (O\<^bsub>K P (Suc n)\<^esub>); j \<le> (Suc n)\<rbrakk> \<Longrightarrow>
((\<nu>\<^bsub>K (P j)\<^esub>) (mprod_exp K (mL K P I) (Kb\<^bsub>K (Suc n) P\<^esub>) (Suc n))) =
((\<nu>\<^bsub>K (P j)\<^esub>) (Zl_mI K P I j))"
apply (frule distinct_pds_valuation[of j n P], assumption+)
apply (frule mL_hom[of "Suc n""P""I"], assumption+)
apply (frule Kbase_hom1[of "Suc n""P"])
apply (frule value_mprod_exp[of "\<nu>\<^bsub>K (P j)\<^esub>""Suc n""mL K P I" "Kb\<^bsub>K (Suc n) P\<^esub>"], assumption+)
apply (simp del:ASum_Suc)
apply (thin_tac "(\<nu>\<^bsub>K (P j)\<^esub>) (mprod_exp K (mL K P I) (Kb\<^bsub>K (Suc n) P\<^esub>) (Suc n)) =
ASum (\<lambda>ja. (mL K P I ja) *\<^sub>a (\<nu>\<^bsub>K (P j)\<^esub>) ((Kb\<^bsub>K (Suc n) P\<^esub>) ja)) (Suc n)")
apply (subgoal_tac "ASum (\<lambda>ja. (mL K P I ja) *\<^sub>a
((\<nu>\<^bsub>K (P j)\<^esub>) ((Kb\<^bsub>K (Suc n) P\<^esub>) ja))) (Suc n) =
ASum (\<lambda>ja. (mL K P I ja) *\<^sub>a (\<delta>\<^bsub>j ja\<^esub>)) (Suc n)")
apply (simp del:ASum_Suc)
apply (subgoal_tac "\<forall>h \<le> (Suc n). (\<lambda>ja. (mL K P I ja) *\<^sub>a (\<delta>\<^bsub>j ja\<^esub>)) h \<in> Z\<^sub>\<infinity>")
apply (cut_tac eSum_single[of "Suc n""\<lambda>ja. (mL K P I ja) *\<^sub>a (\<delta>\<^bsub>j ja\<^esub>)""j"])
apply simp
apply (simp add:Kronecker_delta_def asprod_n_0)
apply (rotate_tac -1, drule not_sym)
apply (simp add:mL_def[of "K""P""I""j"])
lemma (in Corps) mgenerator0_2:"\<lbrakk> 0 < n; distinct_pds K n P; ideal (O\<^bsub>K P n\<^esub>) I;
I \<noteq> {\<zero>\<^bsub>(O\<^bsub>K P n\<^esub>)\<^esub>}; I \<noteq> carrier (O\<^bsub>K P n\<^esub>); j \<le> n\<rbrakk> \<Longrightarrow>
((\<nu>\<^bsub>K (P j)\<^esub>) (mprod_exp K (mL K P I) (Kb\<^bsub>K n P\<^esub>) n)) = ((\<nu>\<^bsub>K (P j)\<^esub>) (Zl_mI K P I j))"
apply (cut_tac mgenerator0_1[of "n - Suc 0""P""I""j"])
apply simp+
done
lemma (in Corps) mgenerator1:"\<lbrakk>distinct_pds K n P; ideal (O\<^bsub>K P n\<^esub>) I;
I \<noteq> {\<zero>\<^bsub>(O\<^bsub>K P n\<^esub>)\<^esub>}; I \<noteq> carrier (O\<^bsub>K P n\<^esub>); j \<le> n\<rbrakk> \<Longrightarrow>
((\<nu>\<^bsub>K (P j)\<^esub>) (mprod_exp K (mL K P I) (Kb\<^bsub>K n P\<^esub>) n)) = ((\<nu>\<^bsub>K (P j)\<^esub>) (Zl_mI K P I j))"
apply (case_tac "n = 0",
frule value_Zl_mI[of "n""P""I""j"], assumption+,
frule val_LI_noninf[of "n""P""I""j"], assumption+,
frule val_LI_pos[of "n""P""I""j"], assumption+,
frule apos_neq_minf[of "LI K (\<nu>\<^bsub>K (P j)\<^esub>) I"],
simp add:distinct_pds_def, erule conjE)
apply (cut_tac representative_of_pd_valuation[of "P j"], simp+,
simp add:mprod_exp_def,
subst val_exp[THEN sym, of "\<nu>\<^bsub>K (P 0)\<^esub>""(Kb\<^bsub>K 0 P\<^esub>) 0"], assumption+,
cut_tac Kbase_hom[of "0""P"], simp,
simp add:distinct_pds_def,
cut_tac Kbase_nonzero[of "0""P"], simp+,
simp add:distinct_pds_def)
apply (cut_tac Kbase_nonzero[of "0""P"], simp add:distinct_pds_def)
apply(cut_tacKbase_Kronecker[of 0 P] simpadd:distinct_pds_defjava.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
apply (simp add:Kronecker_delta_def, simp add:mL_def, simp add:ant_tna)
apply (simp add:distinct_pds_def)+
apply (cut_tac mgenerator0_2[of "n""P""I""j"], simp+)
apply (simp add:distinct_pds_def) apply simp+
done
lemma (in Corps) mgenerator2Tr1:"\<lbrakk>0 < n; j \<le> n; k \<le> n; distinct_pds K n P\<rbrakk> \<Longrightarrow>
(\<nu>\<^bsub>K (P j)\<^esub>) (mprod_exp K (\<lambda>l. \<gamma>\<^bsub (\<gamma>\<^bsub>k j\<^esub>) *\<^sub>a (\<delta>\<^bsub>j j\<^esub>)"
apply (frule distinct_pds_valuation1[of "n""j""P"], assumption+)
apply (frule K_gamma_hom[of k n])
apply (subgoal_tac "\<forall>j \<le> n. (Kb\<^bsub>K n P\<^esub>) j \<in> carrier K - {\<zero>}")
apply (simp add:value_mprod_exp[of "\<nu>\<^bsub>K (P j)\<^esub>" n "K_gamma k""(Kb\<^bsub>K n P\<^esub>)"])
apply (subgoal_tac "ASum (\<lambda>ja. (\<gamma>\<^bsub>k ja\<^esub>) *\<^sub>a (\<nu>\<^bsub>K (P j)\<^esub>) ((Kb\<^bsub>K n P\<^esub>) ja)) n
= ASum (\<lambda>ja. (((\<gamma>\<^bsub>k ja\<^esub>) *\<^sub>a (\<delta>\<^bsub>j ja\<^esub>)))) n")
apply simp
apply (subgoal_tac "\<forall>j \<le> n. (\<lambda>ja. (\<gamma>\<^bsub>k ja\<^esub>) *\<^sub>a (\<delta>\<^bsub>j ja\<^esub>)) j \<in> Z\<^sub>\<infinity>")
apply (cut_tac eSum_single[of n "\<lambda>ja. ((\<gamma>\<^bsub>k ja\<^esub>) *\<^sub>a (\<delta>\<^bsub>j ja\<^esub>))""j"], simp)
apply (rule allI, rule impI, simp add:Kronecker_delta_def,
rule impI, simp add:asprod_n_0 Zero_in_aug_inf, assumption+)
apply (rule ballI, simp)
apply (simp add:K_gamma_def, rule impI, simp add:Kronecker_delta_def)
apply (rule allI, rule impI)
apply (simp add:Kronecker_delta_def, simp add:K_gamma_def)
apply (simp add:ant_0 Zero_in_aug_inf)
applycut_tacz_in_aug_infof1add:ant_1)
lemma (in Corps) mgenerator2Tr2:"\<lbrakk>0 < n; j \<le> n; k \<le> n; distinct_pds I<^esub>",assumption+)
(\<nu>\<^bsub>K (P j)\<^esub>) ((mprod_exp K (\<lambda>l. \<gamma>\<^bsub>k l\<^esub> ) (Kb\<^bsub>K n Pjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
lemma (in Corps) mgenerator2Tr3_1:"\<lbrakk>0 < n; j \<le> n; k \<le> n; j = k;
distinct_pds K n applyfrule Kbase_Kronecker n P]
(\<java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
apply (simp add:mgenerator2Tr2) apply (simp add:K_gamma_def)
done
lemma (in Corps) mgenerator2Tr3_2:"\<lbrakk>0 < n; j \<le> n; k \<le> n; j \<noteq> k;
distinct_pds K n P\<rbrakk> \<Longrightarrow>
(\<nu>\<^bsub>K (P j)\<^esub>) ((mprod_exp K (\apply (simpaddKronecker_delta_def
apply (simp add:mgenerator2Tr2) apply (simp add:K_gamma_def)
done
inCorpsmgeneratorTr4"<> < n;distinct_pds ;ideal (\<^>K Pn<esub)I;
I \<noteq> {\<zero>\<^bsub>O\<^bsub>K P n\<^esub>\<^esub>}; I \<noteq> carrier (O\<^bsub>K P n\<^esub>)\<rbrakk> \<Longrightarrow>
mprod_exp K (mL K P I) (Kb\<^bsub>K n (rule_tac xinRinga_in_principal[ "\^> Pn<^>")
apply (subst ring_n_pd_def)
apply (simp add:Sr_def)
apply (frule mL_hom[of "n""P""I"], assumption+)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
apply (rule Kbase_hom1, assumption+)
definition
m_zmax_pdsI_hom :: "[_, nat \<Rightarrow> ('b \<Rightarrow> ant) set, 'b set] \<Rightarrow> nat \<Rightarrow> int" where "m_zmax_pdsI_hom K P I = (\<lambda>j. tna (AMin ((\<nu>\<^bsub>K (P j)\<^esub>) ` I)))"
definition
m_zmax_pdsI :: "[_, nat, nat \<Rightarrow> ('b \<Rightarrow> ant) set, 'b set] \<Rightarrow> int" where "m_zmax_pdsI K n P I = (m_zmax n (m_zmax_pdsI_hom K P I)) + 1"
lemma (in Corps) value_Zl_mI_pos:"\<lbrakk>0 < n; distinct_pds K n P; ideal (O\<^bsub>K P n\<^esub>) I;
I \<noteq> {\<zero>\<^bsub>(O\<^bsub>K P n\<^esub>)\<^esub>}; I \<noteq> carrier (O\<^bsub>K P n\<^esub>); j \<le> n; l \<le> n\<rbrakk> \<Longrightarrow> 0\<le> ((\<nu>\<^bsub>K (P j)\<^esub>) (Zl_mI K P I l))"
apply (frule add:npowf_mem assumption,
apply (erule add:field_potent_nonzero1
apply (frule ring_n_pd[of "n""P"])
apply (frule Ring.ideal_subset[of "O\<^bsub>K P n\<^esub>""I""Zl_mI K P I l"], assumption+)
apply (thin_tac "ideal (O\<^bsub>K P n\<^esub>) I")
apply (thin_tac "I <noteq>{<><^>O<^>K \^esub>\<^esub>}")
apply (thin_tac "I \<noteq> carrier (O\<^bsub>K P n\<^esub>)")
apply (thin_tac "Ring (O\<^bsub>K P n\<^esub>)")
apply (simp add:ring_n_pd_def Sr_def)
done
lemma (in Corps) value_mI_genTr1:"\<lbrakk>0 < n; distinct_pds K n P; ideal (O\<^bsub>K P n\<^esub>) I;
I \<noteq> {\<zero>\<^bsub>O\<^bsub>K P n\<^esub>\<^esub>}; I \<noteq> carrier (O\<^bsub>K P n\<^esub>); j \<le> n\<rbrakk> \<Longrightarrow>
(mprod_exp K (K_gamma j) (Kb\<^bsub>K n P\<^esub>) n)\<^bsub>K\<^esub>\<^bsup>(m_zmax_pdsI K n P I)\<^esup> \<in> carrier K"
apply (frule K_gamma_hom[of "j""n"])
apply (frule mprod_mem[of n "K_gamma j""Kb\<^bsub>K n P\<^esub>"])
apply (rule Kbase_hom1, assumption+)
apply (rule npowf_mem)
apply simp+
done
lemma (in Corps) value_mI_genTr1_0:"\<lbrakk>0 < n; distinct_pds K n P;
ideal (O\<^bsub>K P n\<^esub>) I; I \<noteq> {\<zero>\<^bsub>O\<^bsub>K P n\<^esub>pply(cut_tac field_is_ring \<Longrightarrow> (mprod_exp K (K_gamma j) (Kb\<^bsub>K n P\<^esub>) n) \<in> carrier K"
apply (frule K_gamma_hom[of "j""n"])
apply (frule mprod_mem[of n "K_gamma j""Kb\<^bsub>K n P\<^esub>"])
apply (rule Kbase_hom1, assumption+)
apply simp
done
lemma (in Corps) value_mI_genTr2:"\<lbrakk>0 < n; distinct_pds K n P; ideal (O\<^bsub>K P n\<^esub>) I;
I \<noteq> {\<zero>\<^bsub>O\<^bsub>K P n\<^esub>\<^esub>}; I \<noteq> carrier (O\<^bsub>K P n\<^esub>); j \<le> n\<rbrakk> \<Longrightarrow>
(mprod_exp K (K_gamma j) (Kb\<^bsub>K n P\<^esub>) n)\<^bsub>K\<^esub>\<^bsup>(m_zmax_pdsI K n P I)\<^esup> \<noteq> \<zero>"
apply (frule K_gamma_hom[of "j""n"])
apply (frule mprod_mem[of n "K_gamma j""Kb\<^bsub>K n P\<^esub>"])
apply (rule Kbase_hom1, assumption+) apply simp apply (erule conjE)
apply (simp add: field_potent_nonzero1)
done
lemma (in Corps) value_mI_genTr3:"\<lbrakk>0 < n; distinct_pds K n P; ideal (O\<^bsub>K P n\<^esub>) I;
I \<noteq> {\<zero>\<^bsub>O\<^bsub>K P n\<^esub>\<^esub>}; I \<noteq> carrier (O\<^bsub>K P n\<^esub>); j \<le> n\<rbrakk> \<Longrightarrow>
(Zl_mI K P I j) \<cdot>\<^sub>r ((mprod_exp K (K_gamma j) (Kb\<^bsub>K n P\<^esub>) n)\<^bsub>K\<^esub>\<^bsup>(m_zmax_pdsI K n P I)\<^esup>) \<in> carrier K"
apply (cut_tac field_is_ring)
apply (rule Ring.ring_tOp_closed, assumption+)
apply (simp add:Zl_mI_mem_K)
apply (simp add:value_mI_genTr1)
done
lemma (in Corps) value_mI_gen:"\<lbrakk>0 < n; distinct_pds K n P; ideal (O\<^bsub>K P n\<^esub>) I;
I \<noteq> {\<zero>\<^bsub>(O\<^bsub>K P n\<^esub>)\<^esub>}; I \<noteq> carrier (O\<^bsub>K P n\<^esub>); j \<le> n\<rbrakk> \<Longrightarrow>
(\<nu>\<^bsub>K (P j)\<^esub>) (nsum K (\<lambda>k. ((Zl_mI K P I k) \<cdot>\<^sub>r ((mprod_exp K (\<lambda>l. (\<gamma>\<^bsub>k l\<^esub>)) (Kb\<^bsub>K n P\<^esub>) n)\<^bsub>K\<^esub>\<^bsup>(m_zmax_pdsI K n P I)\<^esup>))) n) = LI K (\<nu>\<^bsub>K (P j)\<^esub>) I"
apply (cut_tac field_is_ring, frule Ring.ring_is_ag[of "K"])
apply (case_tac "j = n", simp)
apply (cut_tac nsum_suc[of K "\<lambda>k. Zl_mI K P I k \<cdot>\<^sub>r
mprod_exp K (K_gamma k) (Kb\<^bsub>K n P\<^esub>) n\<^bsub>K\<^esub>\<^bsup>m_zmax_pdsI K n P I\<^esup>" "n - Suc 0"],
simp,
thin_tac "\<Sigma>\<^sub>e K (\<lambda>k. Zl_mI K P I k \<cdot>\<^sub>r
mprod_exp K (K_gamma k) (Kb\<^bsub>K n P\<^esub>) n\<^bsub>K\<^esub>\<^bsup>m_zmax_pdsI K n P I\<^esup>) n = \<Sigma>\<^sub>e K (\<lambda>k. Zl_mI K P I k \<cdot>\<^sub>r
mprod_exp K (K_gamma k) (Kb\<^bsub>K n P\<^esub>)
n\<^bsub>K\<^esub>\<^bsup>m_zmax_pdsI K n P I\<^esup>) (n - Suc 0) \<plusminus>
Zl_mI K P I n \<cdot>\<^sub>r
mprod_exp K (K_gamma n) (Kb\<^bsub>K n P\<^esub>) n\<^bsub>K\<^esub>\<^bsup>m_zmax_pdsI K n P I\<^esup>")
apply (cut_tac distinct_pds_valuation[of "n""n - Suc 0""P"])
prefer 2 apply simp
apply (subst value_less_eq1[THEN sym, of "\<nu>\<^bsub>K (P n)\<^esub>" "(Zl_mI K P I n)\<cdot>\<^sub>r (mprod_exp K (K_gamma n) (Kb\<^bsub>K n P\<^esub>) n\<^bsubapply (simp addant_tna "nsum K (\<lambda>k.(Zl_mI K P I k)\<cdot>\<^sub>r (mprod_exp K (K_gamma k) (Kb\<^bsub>K n P\<^esub>) n\<^bsub>K\<^esub>\<^bsup>m_zmax_pdsI K n P I\<^esup>)) (n - Suc 0)"], assumption+)
apply (cut_tac e = "K_gamma ja" in mprod_mem[of n _ "Kb\<^bsub>K n P\<^esub>"])
apply (simp add:Zset_def) apply (rule Kbase_hom1, assumption+)
apply (subst val_exp[of "\<nu>\<^bsub>K (P
apply simp+
apply (subst mgenerator2Tr1[of "n""n" _ "P"], assumption+, simp, simp,
assumption+)
apply (simp add:K_gamma_def Kronecker_delta_def)
apply (frule_tac l = ja in value_Zl_mI_pos[of "n""P""I""n"],
assumption+, simp, simp)
apply (simp add:Nset_preTr1)
apply (frule_tac y = "(\<nu>\<^bsub>K (P n)\<^esub>) (Zl_mI K P I ja)" in
aadd_le_mono[of "0" _ "ant (m_zmax_pdsI K n P I)"]) apply (simp add:aadd_0_l)
apply (subgoal_tac "LI K (\<nu>\<^bsub>K (P n)\<^esub>) I < ant (m_zmax_pdsI K n P I)")
apply simp
apply (rule aless_le_trans[of "LI K (\<nu>\<^bsub>K (P n)\<^esub>) I" "ant (m_zmax_pdsI K n
apply (simp add:m_zmax_pdsI_def)
apply (cut_tac aless_zless[of "tna (LI K (\<nu>\<^bsub>K (P n)\<^esub>) I)" "m_zmax n (m_zmax_pdsI_hom K P I) + 1"])
(of"n """"""] + simp,simp
apply (frule val_LI_pos[of "n""P""I""n"], assumption+, simp,
frule apos_neq_minf[of "LI K (\<nu>\<^bsub>K (P n)\<^esub>) I"], simp add:ant_tna)
apply (subst m_zmax_pdsI_hom_def)
apply (subst LI_def)
apply (cut_tac m_zmax_gt_each[of n "\<lambda>u.(tna (AMin ((\<nu>\<^bsub>K (P u)\<^esub>) ` I)))"])
apply simp
apply (subst val_t2p[of "\<nu>\<^bsub>K (P n)\<^esub>"], assumption+)
apply (rule Zl_mI_mem_K, assumption+, simp)
apply (simp add:value_mI_genTr1)
apply (simp add:mgenerator2Tr3_1[of "n""n""n""P""m_zmax_pdsI K n P I"])
apply (simp add:aadd_0_r)
apply (simp add:value_Zl_mI[of "n""P""I""n"])
(*** case j = n done ***)
apply (frule aGroup.addition3[of "K""n - Suc 0""\<lambda>k. (Zl_mI K P I k) \<cdot>\<^sub>r
((mprod_exp K (K_gamma k) (Kb\<^bsub>K n P\<^esub>) n)\<^bsub>K\<^esub>\<^bsup>(m_zmax_pdsI K n P I)\<^esup>)" "j"])
thin_tac"\Sigma\^sub>e K (\lambda>k. Zl_mI K P <>\^>
mprod_exp K (K_gamma k) (Kb\<^bsub>K n P\<^esub>) n\<^bsub>K\<^esub>\<^bsup>m_zmax_pdsI K n P I\<^esup>) n = \<Sigma>\<^sub>e K (cmp (\<lambda>k. Zl_mI K P I k \<cdot>\<^sub>r
mprod_exp K (K_gamma k) (Kb\<^bsub>K n P\<^esub>) n\<^bsub>K\<^esub>\<^bsup>m_zmax_pdsI K n P I\<^esup>) (\<tau>\<^bsub>j n\<^esub>)) n")
apply (cut_tac nsum_suc[of K "cmp (\<lambda>k. Zl_mI K P I k \<cdot>\<^sub>r
mprod_exp K (K_gamma k) (Kb\<^bsub>K n P\<^esub>) n\<^bsub>K\<^esub>\<^bsup>m_zmax_pdsI K n P I\<^esup>) (\<tau>\<^bsub>j n\<^esub>)" "n - Suc 0"])
apply (simp del:nsum_suc) apply (
thin_tac "\<Sigma>\<^sub>e K (cmp (\<lambda>k. Zl_mI K P I k \<cdot>\<^sub>r
mprod_exp K (K_gamma k) (Kb\<^bsub>K n P\<^esub>) n\<^bsub>K\<^esub>\<^bsup>m_zmax_pdsI K n P I\<^esup>) (\<tau>\<^bsub>j n\<^esub>)) n = \<Sigma>\<^sub>e K (cmp (\<lambda>k. Zl_mI K P I k \<cdot>\<^sub>r
mprod_exp K (K_gamma k) (Kb\<^bsub>K n P\<^esub>) n\<^bsub>K\<^esub>\<^bsup>m_zmax_pdsI K n P I\<^esup>) (\<tau>\<^bsub>j n\<^esub>))
(n - Suc 0) \<plusminus> (cmp (\<lambda>k. Zl_mI K P I k \<cdot>\<^sub>r
mprod_exp K (K_gamma k) (Kb\<^bsub>K n P\<^esub>) n\<^bsub>K\<^esub>\<^bsup>m_zmax_pdsI K n P I\<^esup>) (\<tau>\<^bsub>j n\<^esub>)) n")
apply (cut_tac distinct_pds_valuation[of "j""n - Suc 0""P"])
prefer 2 apply simp prefer 2 apply simp
apply (simp add:cmp_def)
apply (cut_tac n_in_Nsetn[of "n"])
apply (simp add:transpos_ij_2)
apply (subst value_less_eq1[THEN sym, of "\<nu>\<^bsub>K (P j)\<^esub>" "(Zl_mI K P I j) \<cdot>\<^sub>r (mprod_exp K (K_gamma j) (Kb\<^bsub>K n P\<^esub>)
n\<^bsub>K\<^esub>\<^bsup>m_zmax_pdsI K n P I\<^esup>)" "\<Sigma>\<^sub>e K (\<lambda>x.(Zl_mI K P I ((\<tau>\<^bsub>j n\<^esub>) x)) \<cdot>\<^sub>r
(mprod_exp K (K_gamma ((\<tau>\<^bsub>j n\<^esub>) x)) (Kb\<^bsub>K n P\<^esub>) n\<^bsub>K\<^esub>\<^bsup>m_zmax_pdsI K n P I\<^esup>)) (n - Suc 0)"], assumption+)
apply (simp add:value_mI_genTr3)
apply (rule aGroup.nsum_mem[of "K""n - Suc 0"], assumption+)
apply (rule allI, rule impI)
apply (frule_tac l = ja in transpos_mem[of "j""n""n"], simp+)
apply (simp add:value_mI_genTr3)
apply (frule value_Zl_mI[of "n""P""I""j"], assumption+)
apply (erule conjE)
apply (simp add:aadd_0_r)
apply (cut_tac f = "\<lambda>x. (Zl_mI K P I ((\<tau>\<^bsub>j n\<^esub>) x)) \<cdot>\<^sub>r
(mprod_exp K (K_gamma ((\<tau>\<^bsub>j n\<^esub>) x)) (Kb\<^bsub>K n P\<^esub>) n\<^bsub>K\<^esub>\<^bsup>m_zmax_pdsI K n P I\<^esup>)" in
value_ge_add[of "\<nu>\<^bsub>K (P j)\<^esub>" "n - Suc 0" _ "ant (m_zmax_pdsI K n P I)"], assumption+)
apply (rule allI, rule impI)
apply (frule_tac l = ja in transpos_mem[of "j""n""n"], simp+)
apply (simp add:value_mI_genTr3)
apply (rule allI, rule impI) apply (simp add:cmp_def)
apply (frule_tac l = ja in transpos_mem[of "j""n""n"], simp+)
apply (subst val_t2p [where v="\<nu>\<^bsub>K P j\<^esub>"], assumption+)
apply (simp add:Zl_mI_mem_K)
apply (simp add:value_mI_genTr1)
apply (cut_tac k = ja in transpos_noteqTr[of "n" _ "j"], simp+)
apply (subst mgenerator2Tr3_2[of "n""j" _ "P"], simp+)
apply (cut_tac l = "(\<tau>\<^bsub>j n\<^esub>) ja" in value_Zl_mI_pos[of "n""P""I""j"],
simp+)
apply (frule_tac y = "(\<nu>\<^bsub>K (P j)\<^esub>) (Zl_mI K P I ((\<tau>\<^bsub>j n\<^esub>) ja))" in
aadd_le_mono[of "0" _ "ant (m_zmax_pdsI K n P I)"])
apply (simp add:aadd_0_l)
apply (subgoal_tac "LI K (\<nu>\<^bsub>K (P j)\<^esub>) I < ant (m_zmax_pdsI K n P I)")
apply (rule aless_le_trans[of "LI K (\<nu>\<^bsub>K (P j)\<^esub>) I" "ant (m_zmax_pdsI K n P I)"], assumption+)
inCorps :\><;distinct_pdsK ;ideal(<bsubKP \^> ;
I \<noteq> {\<zero>\<^bsub>(O\<^bsub>K P n\<^esub>)\<^esub>}; I \<noteq> carrier (O\<^bsub>K P n\<^esub>)\<rbrakk> \<Longrightarrow>
(nsum K (\<lambda>k. ((Zl_mI K P I k) \<cdot>\<^sub>r
((mprod_exp K (\<lambda>l. (\<gamma>\<^bsub>k l\<^esub>)) (Kb\<^bsub ruleallI, impI
apply (cut_tac field_is_ring, frule ring_n_pd[of n P])
apply (rule ideal_eSum_closed[of n P I n], assumption+)
apply (rule allI, rule impI)
apply (frule_tac j = j in value_Zl_mI[of "n""P""I"], assumption+)
apply (erule conjE)
apply (thin_tac "(\<nu>\<^bsub>K (P j)\<^esub>) (Zl_mI K P I j) = LI K (\<nu>\<^bsub>K (P j)\<^esub>) I")
apply (subgoal_tac "(mprod_exp K (K_gamma j) (Kb\<^bsub>K n P\<^esub>) n)\<^bsub>K\<^esub>\<^bsup>(m_zmax_pdsI K n P I)\<^esup> \<in> carrier (O\<^bsub>K P n\<^esub>)")
apply (frule_tac x = "Zl_mI K P I j" and
r = "(mprod_exp K (K_gamma j) (Kb\<^bsub>K n P\<^esub>) n)\<^bsub>K\<^esub>\<^bsup>(m_zmax_pdsI K n P I)\<^esup>"
in Ring.ideal_ring_multiple1[of "(O\<^bsub>K P n\<^esub>)""I"], assumption+)
apply (frule_tac h = "Zl_mI K P I j" in
java.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 79
apply (simp add:ring_n_pd_tOp_K_tOp[of "n""P"])
textWe write the element ‹eΣ K (λk. (Zl_mI K P I k) ⋅K ((mprod_exp K (K_gamma k) (Kb n P)
n)K(m_zmax_pdsI K n P I))) n›
as ‹
mIg :: "[_, nat, nat ==> ('b ==> ant) set,
'b set] ==> 'b" (‹(4mIg_ _ _ _)› [82,82,82,83]82) where
"mIapply (simp adad:Nse_rT1
((mprod_exp K (K_gamma k) (Kb n P) n)m_zmax_pdsI K n P I))) n"
‹We can rewrite above two lemmas by using ‹mIg G a i n P I››
(in Corps) value_mI_gen1:"[0 < n; distinct_pds K n P; ideal (O P n) I;
I ≠ {0O P n)}; I ≠ carrier (O P n)]==> ∀j ≤ n.(ν (P j)) (mIg n P I) = LI K (ν (P j)) I"
(rule allI, rule impI)
apply (simp add:mIg_def value_mI_gen)
(in Corps) mI_gen_in_I1:"[0 < n(P n)
I ≠ {0O P n)}; I ≠
(simp add:mIg_def mI_gen_in_I)
(in Corps) mI_principalTr:"[0 < n; distinct_pds K n P; ideal (O P apply (simp add:m_zmxpdsdef
I ≠ {0O P n)}; I ≠ carrier (O^bsub> (P n)) I)" ∀j ≤ n. ((ν (P j)) (mIg n P I)) ≤
(simp add:value_mI_gen1)
apply (rule allI, rule impI)
apply (rule Zleast_LI, assumption+)
(in Corps) mI_principal:"[0 < n; distinct_pds K n P; ideal (O P n) I;
I ≠ {0\<^apply(
I = Rxa (O P n) (mIg n P I)"
(frule ring_n_pd[of "n" "P"])
(rule equalityI)
apply (rule subsetI)
apply (sbst Idef)
assumption+)
apply (frule_tac y = x in n_eq_val_eq_idealTr[of "n" "P" "mIg(P u)
apply (frule mI_gen_in_I1[of "n" "P" "I"], assumption+)
apply (simp add:Ring.ideal_subset)+
apply (thin_tac "∀j≤n. (ν (P j)) (mIgK n P I
apply (frule_tac h = x in Ring.ideal_subset[of "O P n" "I"], assumption+)
java.lang.NullPointerException
apply (simp add:subsetD)
apply (rule Ring.ideal_cont_Rxa[of "O P n" "I" "mIg], assumption+)
apply (rule mI_gen_in_I1[of "n" "P" "I"], assumption+)
‹‹
(in Corps) prime_n_pd_principal:"[distinct_pds K n P; j ≤ n]==>
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null
(frule ring_n_pd[of "n" "P"])
(frule prime_n_pd_prime[of "n" "P" "j"], assumption+)
(simp add:prime_ideal_def, frule conjunct1)
apply (fold prime_ideal_def)
apply (thin_tac "prime_ideal (O P n) (P P n j)")
(rule equalityI)
apply (rule subsetI)
apply (frule_tac y = x in n_eq_val_eq_idealTr[of n P "(Kb n P) j"])
apply (thin_tac "Ring (O P n)", thin_tac "ideal (O P n) (P P n j)")
apply (simp add:ring_n_pd_def Sr_def)
apply (frule Kbase_hom[of "n" "P"], simp)
apply (rule allI, rule impI)
apply (frule Kbase_Kronecker[of "n" "P"])
apply (simp add:Kronecker_delta_def, rule impI)
apply (simp only:ant_0[THEN sym], simp only:ant_1[THEN sym])
apply (simp del:ant_1)
apply (simp add:prime_n_pd_def)
apply (rule allI, rule impI)
apply (frule Kbase_Kronecker[of "n" "P"])
apply simp
apply (thin_tac "∀j≤n. ∀l≤n. (ν (P j)) ((Kb n P) l) = δ l")
apply (case_tac "ja = j", simp add:Kronecker_delta_def)
apply (thin_tac "ideal (O P n) (P P n j)")
apply (simp add:prime_n_pd_def, erule conjE)
apply (frule_tac x = x in mem_ring_n_pd_mem_K[of "nn" P],
assumption+)
apply (case_tac "x = 0 K (cmp (λ K P I k ⋅r
apply (frule distinct_pds_valuation2[of "j" "n" "P"], assumption+)
apply (rule gt_a0_ge_1, assumption)+
apply (simp add:Kronecker_delta_def)
apply (frule_tac j = ja in distinct_pds_valuation2[of _ "n" "P"],
assumption+)
def, erule con)
apply (thin_tac "ideal (O P n) {x. x ∈ carrier (O(bn P) n K n P I) (τ n)" "n - Suc 0"])
apply (simp add:ring_n_pd_def Sr_def)
apply (cut_tac h = x in Ring.ideal_subset[of "O P n" "P P n j"])
apply (frule_tac a = x in Ring.a_in_principal[of "O P n"])
apply (simp add:Ring.ideal_subset, assumption+)
(rule_tac c = x and A = "(O♢p x" and B = "(O♢K n P
in subsetD, assumption+)
(simp add:Rin.a_in_principal)
apply (rule Ring.ideal_cont_Rxa[of "O P n" "P P n j" "(Kb(K nK n P I n))
apply (subst prime_n_pd_def, simp)
apply (frule Kbase_Kronecker[of "n" "P"])
apply (simp add:Kronecker_delta_def)
apply (simp only:ant_1[THEN sym], simp only:ant_0[THEN sym])
apply (simp del:ant_1 add:aless_zless)
(subst ring_n_pd_def, simp add:Sr_def)
apply (frule Kbase_hom[of "n" "P"])
apply simp
apply (rule allI)
apply (simp add:ant_0)
apply (rule impI)
apply (simp only:ant_1[THEN sym], simp only:ant_0[THEN sym])
apply (simp del:ant_1)
(in Corps) ring_n_prod_primesTr:"[0 < n; distinct_pds K n P;
ideal (O P n) I; I ≠ distinct_pds_valuation[of "j" "n - Suc 0" ""P"]) ∀j ≤ n.(ν (P j)) (mprod_exp K (mL K P I) (Kb n P) n) =
(ν (P j)) (mIg n P I)"
(rule allI, rule impI)
apply (simp add:mgenerator1)
apply (simp add:value_mI_gen1)
apply (simp add:value_Zl_mI)
(in Corps) ring_n_prod_primesTr1:"[0 < n; distinct_pds K n P;
ideal (O P n) I; I ≠ {0 P n}; I ≠ carrier (O P n)]==>
I = (O P n) ♢p (mprod_exp K (mL K P I) (Kb n P) n)"
(frule ring_n_pd[of "n" "P"])
(subst n_eq_val_eq_ideal[of "n" "P" "mprod_exp K (mL K P I)
(Kb n P) n" "mIg n P I"], assumption+)
(simp add:mgeneratorTr4)
(frule mI_gen_in_I1[of "n" "P" "I"], assumption+)
(simp add:Ring.ideal_subset)
(simp add:ring_n_prod_primesTr)
(simp add:mI_principal)
(in Corps) ring_n_prod_primes:"[0 < n; distinct_pds K n P;
ideal (O P n) I; I ≠ {0 P n}; I ≠ carrier (O P n); ∀k ≤ n. J k = (P P n k)♢(O P n) (nat ((mL K P I) k))]==>
I = iΠO P n),n J"
(simp add:prime_n_pd_principal[of "n" "P"])
(subst ring_n_prod_primesTr1[of "n" "P" "I"], assumption+)
(frule ring_n_pd[of "n" "P"])
(frule Ring.prod_n_principal_ideal[of "O P n" "nat o (mL K P I)" "n"
"Kb n P" "J"])
apply (frule Kbase_hom[of "n" "P"])
apply (simp add:nat_def)
apply (subst ring_n_pd_def) apply (simp add:Sr_def)
apply (rule Pi_I, simp)
apply (simp add:Kbase_Kronecker[of "n" "P"])
apply (simp add:Kronecker_delta_def)
apply (simp only:ant_1[THEN sym], simp only:ant_0[THEN sym])
apply (simp del:ant_1)
apply (simp add:Kbase_hom) apply simp
apply simp
apply (frule ring_n_mprod_mprodR[of "n" "P" n "mL K P I" "Kb n P"])
apply (rule allI, rule impI, simp add:Zset_def)
apply (rule allI, rule impI)
apply (simp add: Zleast_in_mI_pos)
¤ 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.425Bemerkung:
¤
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.