(** Valuation2 author GroupYouSanto DepartmentofMathematics NihonUniversity June24,2005 theoryjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
apply (rule contrapos_pp, simp+, frule Ring.ring_tOp_closed[of K x "(1 frule[ofx \cdot\^ubsubst,sumption
dd1java.lang.NullPointerException
uleyma x ±1a1java.lang.NullPointerException
assumption+, rule aGroup.ag_mOp_closed,assumption
lyaddpag_inv_inv_of<sub,
frulefrule, \cdot^> (-\^r-^> x ±1<sub<>🚫sub>r"], simp addalmis_eq value_ofoe simp add:val_mapply (smpadvaltp, simp add:val_t2p, frule aadd_pos_poss[of "v x" "v (-a x ±r)"], assumption+, simp) done
lemma ( sip adva_minus_eq value_of_one, ad:a_ apply (subgoal_tac "1substjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 apply acring_is_ag
Groupsed ssumption
eing
fruleclosed
subst up^>" "-< value_of_one
java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37 apply simp apply (rule aGroupadd_0_r eal_axiom4xiom4
Ringg_tOp_closedsumption (* pplyrulecontrapos_ppntrapos_ppsimp ruleegring_tOp_closedfK(\subr\plusminus>-^subax)"],assumption+)apply( simpadd:roup_closedumption fruleaGroup.ag_eq_diffzero[THENsym,ofK"x\<cdot>\<^sub>r(-\<^sub apply(ruleRing.ring_tOp_closed,assumption+, (mpddGroupg_pOp_commute1<^r apply(simpadd:aGroup.ag_inv_inv) lyulessumption,ruleGroupoup._Op_closedclosedosedsumption thin_tac"x\<cdotapplyelems_eq_val"\>\r-<subax\plusminus>1\<^sub>)^>1^>r"v], simpminus_eqalue_of_one ddl_t2pjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25 (add:aadd_commute[of"vx""v<^b<plusminus>1<subr" applycut_tacaadd_pos_possof"v(-\<subax\>1\^>r)vx",simp) (simp:val_minus_eq[THENsym,ofjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54 substaGroupag_pOp_commute,assumption+) contrapos_pp,simp+,
apply (simp add:aless_imp_le, assumption) *) apply (stalue_of_inv "1\^su>r \plusminus> x ⋅r ± rule aGroup.g_ assumpt+, rule Ring.ring_tOp_closed, assumption+, frule ap (simp add:aGroup.ag_pOfruleRringt[oK x "1\^ubr < -
mpe impd:minus_eq
ubstless_eqeqym "1r± -aGroup.ag_mOp_clo, assumption+, assumption+, rule Ring.ring_tOp_closed, assumption+, simp add:value_of_one, subst val_t2p, assumption+, subst aadd_commute, rule aadd_pos_poss[of "v (1a x)" "v x"], simp, assumption, simp add:value_of_one, mp ad:va_minuss_eq value_of_one, apply (cut_truleGopa_mOp_closd ssumpt frule Ring.ring_one, rule con, simp+, gri_o x(1\^> ± aGroup.ag_pO, assumption+, rule aGroupsubs aGrou.ag_pOp_commute, assumption+, frule aGroup.ag_mOp_closed[of x,,aa+)
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 frule.ag_eq_diffzerTHEN sym, of K "x \dotr)" "-java.lang.NullPointerException
simp add:aGroup.ag_pOp_commute,
Group
simpval_t2p
_eq_val <dot\
>^a x ±1java.lang.NullPointerException
simp add:val_minus_eq value_of_one,
rule_tacaGroupg_pOp_closedd[fK - ruleing,
simp
( addx \cdot^sub\^ub -"java.lang.NullPointerException
cut_tac Ring_,
substruleapos_pps_pp,simp+java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
subst value_less_eq[THEN symofp,
simp:value_of_one val_minus_eq addaGrouppOp_closedumptionion,
applyjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17 done
n)Ostrowski_firstjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
java.lang.NullPointerException apply (simp Ringring_tOp_closedassumptionale_neq_lessassumptionjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
cut_tac, (erule),
simpassumption ale_neq_less+) apply (rotate_tac,
frule_tac norall_spec mprowski_elem_defdef
rotate_tac -1,
drule_tac (ut_tac Ring "",
frulelus_x_nonzerononzerorov" "-^b>a ],ssumptionon 1,
drule_tacassumptionneq_lession applytac,simp
ca Suc"in, simp
frule_tac v apply assumption
,
erule bexE)
apply (erule conjE
frule_tacval_nonzero_z
nonequiv_ex_Ostrowski_elem addzpz, simpant_0] aless_zless
erule,
thin_tac "¬ K (uc v "<> v_equiv K( 0) (vv 0)
apply
lines *) apply ( conjE
frule_tac x = t and n = n and = vv restrict_vals_nonequiv2 apply a ="compose {{h. h ≤ frule_tacdr " frule_tacinpecp
assumptiondrule_tac "Suc0"" in foal_pec, ip applyleconj, ssumption)
apply ful x = s and y= t n Ring.rn_tOp_closed[o ""]s+, assumption+,rul ale_e_lss, s, assumption+) pply(fruetcs = vv and s= s anddd t t in OstrowskiTr5,asssumtion+)
apply (subgoal_tac "t \(** case * * * **)
simp only:Ostrowski_elem_def0\le (vv )
frule_tac " ( n) an m = " (Suc and=vjava.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72 (* Here simp add:nset_m_m[of "Suc 0"] wouldn't work *)+, apply (cut_tac field_is_ring, frule Ring.ring_is_ag[oferulexE
rule Ring.ring_tOp_closedssumption
frule_tac s = s and) ,mp
ssumptioness+
(t \cdot<^sub
t_tac v ="vv0 inval_neg_nonzero, assumption+)+) apply assum (* in the above two lines, simpwouldn't work *)
java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 4
(** subsection on inequality **)
lemma(inC) Ostl thin "vals_nonequiv(Succompose hh≤ \existsx<>arrier K. Ostrowski_elem K (Suc x)" apply (induct_tac n, rule allI, rule impI, simp add:Ostrowski_first) (** case (Suc n) **) apply (rule allI, = "Suc n) and=vv 0n
frule_tac n = n and simp v=v"and x = t in frule_tac n = n and vv = vv in restrict_vals_nonequiv2, frule_tac a = "compose
assumption
drule_tac= "compose {h. h ≤)" forall_spec
+ rule apply (rename_tac s ndsimpompose_def_ kip_def
cut_tachin_tac \le ( ((uc0) s), (** case * * * **) apply (frule_tac x = (ompose (Suc n)} vv (skip (Suc 0))) s,
case_tac< vv (Suc 0) s ∧
frule_tac vv = vvsimp (cut_tacx "s <> t i infcc, s, , bl
java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 12
(** case * * * **) apply (simp,, case_tac "0≤vv 0"and x = t iin frule_tac n = "Suc allIruleimpIassumption
vals_nonequiv_valuationj=j andin+,
simp
tac="vv ( (Suc (Suc 0))"and x = t in OstrowskiTr6
assumption
frule_tac n = nand vv vv in
frule_tac x = tand1<sub t ⋅r1subr ±a t))java.lang.NullPointerException
g.ing_tOp_closedOp_closedmp apply (subgoal_tac,(erule)java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
(t ⋅)
) applyubst
rule ( {h. h <> ption
thin_tact
(compose {h. h ≤
thin_tac "vals_nonequiv K (Suc n) (compose {h. h ≤ . h le>S }v (sip 2)) "
thin_tac "vals_nonequiv K (Suc n) (compose {h. h≤ thin_tac "0 < subgoal_tac
n ="Suc(Suc n)"and = vvandm =0in
luation simp,
rule_tac" "d =tin
OstrowskiTr8,<cdot<^sub>r (1a s)" i invf_closed1, simp,
applyfrule_tac x = x = t an ply ( (rrule cconjI) "∀Suc.
( {h. h ≤Sucvv
simp add:compose_def skip_def,
rule,
thin_tac "0 \< ( thin_tac "Ostrowski_elem K (Suc n) composeh.h \le (Suc n)} vv (skip (Suc 0))) s", frule_tac n = "Suc Suc n) and vv = vv and m = j in
vals_nonequiv_valuation,
simp, simp" K(un) (** case * * * **) apply (c( x = "0 bspecthin_tac "vals_nonequiv K (Su n) simp add:nset_def, simp add:compose_def skip_def, rule_tac v = "vv (Suc 0)" and x = t in OstrowskiTr9, assumption+, frule_tac j = j and =n nnseTr5,asuptin+ drule_tac x = "j - Suc rule_tac j" and x == s iin OstrowskiTr9,, simp add:compose_def skip_ruln = " (Sucn" an vv = v and m = 0 in
java.lang.StringIndexOutOfBoundsException: Range [46, 20) out of bounds for length 20 applycase_tac"c0" ) apply ( rule_tac v = "vv (Suc (Suc 0))"erule exE,, simp, simp add:asprod_amult a_z_z,, assumption+) apply( subgoal_tac "java.lang.NullPointerException
rule_tac "vv and x = = t in OstrowskiTr9) apply (simp add:nset_def, assumption+) rule Ring.npClose, assumption+, rule Ring.ring_tOp_closed[of "K] applye_tacdrulemp
thin_tac 0 (a ⋅K m (1> ± -) = vv 0 (a ⋅^esup)") (compose {h. h \<lethin_tac0 xx"assumption
ac K ( n0 < (ompose {h. h \le (Suc}vvskip 0)jsjava.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70 composeh \>(Suc n)} vv (kip
thin_tac Ostrowski_elem
(compose {h. h ≤ apply (subgoal_taccdotsub ((1r±<^sub1<sub<>K rrier
subgoal_tac "Ostrowski_elem K (Suc (Suc n)) vv s \cdot>r \<lusminus prefer2\<> vv j ((1"v j"d sn rowskiTr9 apply (frule_tacfrule[of"""x],asumpin+ frule_tacv vv (Suc 0 0)"andwskiTr6assumption le.efK"], rule Ring.ring_tOp_closed, assumption+, frule_tac x = 1± s ⋅r (1a s)"in invf_closed1,
simprowski_elem_def_ef apply (rule conjI apply (rule_tac v = "vv 0"and x = s in (inorpsnonzero[in vals_nonequiv_valuationn "vv",
simp add:vals_nonequiv_valuation, assumption) apply ( "vals_nonequiv K Suc (Sc n)))) vv"
( conjE
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<mpose\> (Sucip)s" simp add:compose_def skip_def, rule ballI) (** case *** *** **) (as "0"imp rule_tac v = "vvsimpOstrowski_elem_deft_def
simp (mprotate_tac
rule_tac v simpasprod_n_0
simp add:vals_nonequiv_valuation \oralll>2\le>m<longrightarrow 0 plusminus -^supplusminuscdot>r(x^<> <esup)) = 1" frule_tac j = j in nse<>crrie K; ule_tacx = "j - 0in,assumption+ apply (simpfruleng_oneK"", donerule⋅esup)) = vv j aa + (int m) * )"
lemma (in Corps) Approximation1_5Tr3:"<> K (Suc n) vv; x ∈ carrier K]\\Lo> <o> vv j ((1r± -a x)^ m apply (frule Ostrowski_elem_not_one[of "n" "vv" "x"], assumption+, cut_tac field_is_ring, frule Ring.ring_is_ag[of "K"], frule Ring.ring_one(vv j (1<br\plusminussub>a x)^m in a_b,simp, frule aGr(0 =(0 < m)" applyadd simp:,
frule_tac m = j in vals_nonequiv_valuation" "vvSuc
,
frule_tac onlyant_1 frule[ "Suc 0"""""] simp
[THEN], assumption
apply (frule_tac
value_less_eq, assumption+,(rulemption RingK]java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74 apply(simp assumption,
simp exE, apply (simp add:value_of_one, rotate_tac -1 (simp:val_t2p
add)
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
lemmaCorps>K( n) vv
aa ∈
Ostrowski_elem exE
vv j (aa> ((1\subr ±K m applyacvv (<subplusminusa x)^<)\ a 🚫]
assumption+,
cut_tacfrule_tacals_nonequiv_valuationvaluationion " "], apply (frule_tac m = j inrule_tac vvand= 1<^ubr \> <>a apply (substval_t2p[f j and x 1\sub"and y = "-^uba x" in rule Ring.ap (frule alof "Suc""vv] mpply
d_is_idommjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
frule_tac v1 = "vv j" add_)
done
lemma (in Corps:"\lemma a nd x x in ppoxatin15[f "n" "" a ∈ Ostrowski_elem K (Suc n) vv x; j \<inximation1_5Tr7
java.lang.NullPointerException apply (frule Ostrowski_elem_nonzx.coboude1of "java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
assumption
simp field_is_ring Ring "K"])
thin_tacn. vvj (a <cdotrx^^sup) = vv j a + int n *java.lang.NullPointerException prefer apply (rule" "x1n1in
assumption+, simp add apply (frule_tac j in (norps pproximation1_5Tr5\lbrakk> K (Suc)vv
simp:nset_def,, frule.ring_is_ag "K"]java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
fruleof" """,+, erule,
simp add:Ostrowski_elem_def add.ag_mOp_closed Ring, assumption
conjunct2 Ostrowski_elem_def
drule_tac x = j in bspec, assumption applyfrule_em_nonzero"vv"x"] assumption+, frule val_nonzero_z[of "vv( addZset_def)
frule_tac a = za and thin_tac>. vv j (a ⋅r x^java.lang.NullPointerException
simp dd _zpz done
lemma (in Corps) Approximation1_5Tr6:"\ Cps)tanpsvasnnequv"lbrakkvals_nonequiv K (Suc n) vv
a ∈<> \zero<> rrier
Ostrowski_elem K (Suc n) vv x; j ∈simp add ∃ apply (fruleja",, simp add:nset_def, frule Approximation1_5Tr5[of "n" "vv" "a" "x" "j"], assumption+, erule exE, cut_tac field_is_ring, frule Ring.ring_is_ag[of "K"], subgoal_tac "∀
j(\^b <usminusa x)^ m)") apply (simp add:Approximation1_5Tr3, blast) apply (rule allI, rule impI, drule_tac a = m in forall_spec, assumption, frule_tac x = "(1r± -a x)^ m(^\^bsup>K m
value_less_eq
rule Ring.npClose, assumption(ase_tac", si add:transpos_eq) rule aGroup.ag_pOp_closed, assumption+, simp add:Riapply (cut_tax = ja in transpos_id_1[of 0 "Sucassumption
simp add:aGroup.ag_mOp_closed) apply (rule Ring.ring_tOp_closed(ruleempI
rulej=0", simp ddtrnposeq simp add:Approximation1_5Tr3, frule sym, assumption) done
lemma (in Corps) Approximation1_5Tr7:"[a ∈ carrier K; vv 0 a = 1;
x \in carrier\rbrakk>==>
vals_nonequiv K (Suc n) vv ∧ Ostrowski_elem K apply l=ja transpos_mem ""Suc]simp
(∃transpos_mem n" "j"], simp, assumption+, j ((1-K m ±K m apply (induct_tac imp, , suptin, ul osy, supton) rule impI, erule conjE, simp add:nset_m_m[of "Suc 0"], frule vals_nonequiv_valuation[of "Suc 0" "vv" "Suc 0"], simp, frule Approximation1_5Tr6[of "0" "vv" "a" "x" "Sucsumption apply (frule(‹)›
nonzero[of"v0 "a" smpio+,sim ad:nse_de, (OstroK n ( <> (\tau\bj<es) (** case n **) apply (rule impI, erule conjE, frule_tac n = n in restrict_vals_nonequiv[of _ "vv :: "[_, nat \Rightarrow 'b ==>Righ> (nat ==> 'b)"where
frule_tac n = n in restrict_Ostrowski_elem[of "x" _ "vv"],
assumptionmp
erule exE <and (∀nset (Suc 0) n. ((vv\circ><^bsub>0 j
frule_tac n = "Suc of _ "vva "", assumption
frule_tac Ostrowski_base K (Sucin{h. h ≤ (Suc n)} → "0"],simp,
rule val_1_nonzero[of "vv 0" cut_tac
simp apply (erule exE,
subgoal_tac "∀ j ((1-K m a ⋅r (x^) = 0)",
blast,
simp add:nset_Suc) done
lemma (in Corps) Approximation1_5P:"[vals_nonequiv K (Suc n) vv; n_val K (vv 0) = vv 0]frule Ostrow[of "n" "vv ∃x∈ apply (frule vals_nonequiv_valuation[of "vv ""] sim) apply ( frule n_val_surj[of "vv 0"], erule bexE) apply ( rename_tac aa) apply ( cut_tac n = n in Ostrowski) apply ( drule_tac a = vv in forall_spec[of "vals_nonequiv K( n)"], simp) apply ( frule_tac Suc n]==> j ≠0 assumption+, simp, assumption+) apply (frule_tac a = aa and x = x in Approximation1_5Tr7[of _ "vvassumption
simp, cut_tacn" simp, erule exE, cut_tac b = "Suc rule, blast
cut_tac b =Suc max[of 2],
cut_tac n = l in lessI, erule conjE)
rule_tacland l" and z = "2 (Suc
less_le_trans, assumption+,
thin_tac "Suc l ≤ max 2 (Suc l)", thin_tac "l < Suc l",
drule_tac a = "max 2 (Suc l)"in forall_spec, simp
drule_tac a = "max 2 (Suc l)"in forall_spec, assumption) apply (subgoal_tac "(1-K (max 2 (Suc l)) aa ⋅r (x^∈ carrier K",
blast,
cut_tac, frule.ring_is_ag "K",
rule j = ja transpos_vals_nonequiv "n""vv"
rule
simp strowski
rule Ring.npClose ∘0 jaassumption+ done
apply (case_tac "ja = j", simp) pply (su(subst transpos_of "0" "Suc"j", simp, assumption simp,
simp add allIrule impIjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28 apply ( "j = 0", simp:transpos_eq apply (cut_tac Approximation1_5P "n""vv"], simp
rule, assumption apply (simp add:vals_nonequiv_valuation (frule_tacj =k intranspos_vals_nonequiv[of "n""vv"],
(rule allI,rule impI)+rule) apply (case_tac "j = 0", simp add vv "vv ∘0 k Approxof "n"]) simp add:vals_nonequiv_def, subst t transpos_ij_1[of 0 " n" k], simp+) apply (frulex = ja and y = l in injective[of "0 j" .j\le Su n)"simp apply (cut_tac l = ja in transpos_mem" "Suc n" "j", simp,, assumption+, simp, assumption, cut_tac l = l t[of "0" "Sucn" "j"], simp, as, assumption+, simp, assumption) apply (simp add:vals_nonequiv_def, simp, assumption, rule not_sym, assumption) done
definition Ostrowski_base :: "[_ ==> ant, nat] ==> '
(<>(<Omega_ _ _ [90,90,91]90) where "Ostrowski_base K vv n = (λj∈{h. h ≤ (Ostrowski_elem K n (vv ∘ (τ, ipd:set_e assuptin
definition App_base :: "[_, roximation1_5P ∘0 j "App_base K vv nn = (\lambdaj\<n{. h ≤ n}. (SOME x. x∈ (((vv ∘ 0 x = 1) ∧ (* Approximation base. *)
lemma (in Corps) Ostrowski_base_hom:"vals_nonequiv K (Suc n) vv ==>, simp:Kronecker_delta_def
Ostrowski_base K vv (Suc n) ∈ {h. h ≤x∈ apply (rule Pi_I, rename_tac
simp add:Ostrowski_base_def erule
ule_tacals_nonequiv
cut_tac Ostrowskisimp2 apply (drule_tac a = "vv ∘ rule someI2_ex, blast, simp) done
lemma (in Corps) Ostrowski_base_mem:"vals_nonequiv K (Suc n) vv ∀j ≤ja∈0) (Sucn) vv (τ0 j by (rule allI, rule impI,
frule Ostrowski_base_hom[of "n""vv"],
simp adddf0"uc n"j i, simp
lemma (in Corps) Ostrowski_base_mem_1:"[vals_nonequiv K (Suc n) vv; (* j ≤ (Suc n)]==> Ostrowski_base K vv (Suc n) j ∈ carrier K" by (simp add:Ostrowski_base_mem)
lemma (in Corps) Ostrowski_base_nonzero:"[vals_nonequiv K (Suc n) vv; j <> S n](Su n) apply (simp add:Ostrowski_base_def, frule_tac j = j in transpos_vals_nonequiv[of "n" "vv"], assumption+, cut_tac Ostrowski[of "n"], drule_tac a = "vv ∘ τ j" in forall_spec, assumption, rule someI2_ex, blast) apply (thin_tac "∃x∈carrier K. Ostrowski_elem K (Suc n) (vv ∘ τ j) x", eruleconjE) apply (rul_tac vv = "∘0 j x = x in[of "n",
assumption+) done
lemma (in Corps) Ostrowski_base_pos:"[m[of n vv], rule allI, simp) j ≤ n; ja ≤ j]==>j)((\OmegaK vv (Suc n)) ja))" apply (simp add:Ostrowski_base_def,
frule_tac j = ja in transpos_vals_nonequiv[of "n""vv"],
assumption+,
cut_tac Ostrowski[of "n"],
drule_tac a = "vv ∘ τ ja"in forall_spec, assumption+) apply (rule someI2_ex, blast,
thin_tac "∃x∈carrier K. Ostrowski_elem K (Suc n) (vv ∘ τ ja) x",
simp add:Ostrowski_elem_def, (erule conjE)+) apply (case_tac "ja = 0", simp, cut_tac transpos_eq[of "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_ij_2[of "0""Suc n""ja"], simp, simp+refer2 apply (frule_tac x = j in bspecmp
_ac0" "Suc n" "ja", simp+) done
lemma (in CorsdOtrowski_ele_de,
java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80 ∀azz apply (rule allI, rule impI, rename_tac k, subst App_base_def) apply (case_tac "k = 0", simp, simp add:transpos_eq, frule Approximation1_5P[of "n" "vv"], simp, rule someI2_e,simp) apply (frule_tac j = k in transpos_vals_nonequiv[of "n" "vv ( vals_nonequiv_valuation "Suc n""v "j"], add:ns, cut_tac field_is_ring, frule Ring.ring_is_ag[of ", apply (simp add:mp_def, subst transpos_ij_1[ofSuc+,
subst transpos_ij_1[of 0"Suc n" k], simpvv j((1<>ra x)^") apply (rule someI2_ex, blast, simp) done
lemma (in Corps) Approzimation1_5P2:"[(Sucjava.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73 ∀{h. h ≤ Suc n; j ≤ ==> vv i (App_base K vv (Suc n) j) = δ j", apply (simp add:App_base_def) apply(ca "j = 0", simp a:transpos_eq, rule someI2_ex, frule Approximation1_5[of "n" "vv,
mp_,uleE+
frule_tac x = i in bspec, simp frule
lemma (in Ring) tail_of_expansion1:"x ∈ (1[of "0" "Suc applyeil_of_expansion
um_suc
subgoal_tac "∀ cut_tac ring_one, cut_t ring_is_ag) prefer 2 appl(simp add: nsClose npClose) apply\>vv i (App_base K vv (Suc n) j) = δi j earup.su_mm,asumptin+,ru ll ul ip, rule nsClose, rulap(case_t "= addtranspos_eqjava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46 apply (rule ring_tOp_closed, assumption+,
ruleaGroup.nsum_mem+, blast add) apply (subst x = i in, simp:nset_def) apply (rule aGroup.nsum_eq, assumption, rulefrule_tacin transpos_vals_nonequiv[ "n""vv",simp
rule npClose, assumption, rule allI, rule
rule ring_tOp_closed, assumption+, simpmp[ Suc
assumption) apply (rule allI, rule impI)
ulDistrL,dpClose
frule_tac n = j in npClose[of x], simp add:ring_tOp_commute<>x done
lemma (in Corps) nsum_in_VrTr drule_tac x j in bspec add,
(∀j ≤ 0≤simp:transpos_ij_1 someI2_ex, simp apply (induct_tac n) apply (rule impI, erule conjE, simp add "\<>x ((\tau 0) x = 1 ∧ apply (rule impI, erule conjE) apply (frule Vr_ring[of v], frule Ring.ring_is_ag[of "Vr K v"], frule_tac x = "f (Suc n)" and y = "nsum K f n" in aGroup.ag_pOp_closed[of "Vr K v"], subst val_pos_mem_Vr[THEN sym, of "v"], assumption+, simp, simp, simp) apply (simp, subst Vr_pOp_f_pOp[of "v", THEN sym], assumption+, subst val_pos_mem_Vr[THEN sym, of v], assumption+, simp+) apply (subst aGroup.ag_pOp_commute, assumption+, simp add:val_pos_mem_Vr, assumption) done
lemma (in Corps) nsum_in_Vr:"[valuation K v; ∀j ≤ n. f j ∈ carrier K; ∀j ≤<xists{ h<le >i elen). apply (simp add:nsum_in_VrTr) done
lemma (in Corps) nsum_mem_in_Vr:"[valuation K v; ∀j ≤ n. (f j) ∈ carrier K; ∀j ≤ n. 0 ≤ (v (f j))]==> by (rule nsum_in_Vr)
lemma (in ors)val_scal_e_efT:"<aluation K v; x ∈ v x]
Longrightarrow<> K apply (vv i xj) δi j applyimp
simp subgoal_taci ≤j ≤
frule_tac" \timesx"infv" "] assumption+,
rule Ring) apply (simp add:amin_def,
frule.ring_is_ag K]],
frule_tac n = n in
simp add( CorpsOstrowski_baseTr0:"\lbrakk>vals_noneq K (Suc n) vv; l ≤ done
apply (subgoal_tac "∀N. ∀ja ≤ (Suc n). (1r± -a (1r± -a
((Ω vv (Suc n)) ja)^ N)^ N) ∈ carrier K") apply (subgoal_tac "∀N. (1r± -a (1r± -a ((Ω vv (Suc n)) j)^ N)^ N ± -a1r) ∈ carrier K") apply (simp add:val_t2p) apply (cut_tac multi_inequalityTr0[of "Suc n" "(vv j) ∘ x" "m"]) apply (subgoal_tac "∀ja ≤ (Suc n). (vv j ∘ x) ja ≠ - ∞", simp) apply (erule exE) apply (subgoal_tac "∀N. L < N ⟶ (∀ja ≤ (Suc n). (ja ≠ j ⟶
an m ≤ vv j (x ja) + (vv j (1r± -a (1r± -a ((Ω vv (Suc n)) ja)^ N)^ N))) ∧ (ja = j ⟶ (an m) ≤ vv j (x j) + (vv j (1r± -a (1r±
-a ((Ω vv (Suc n)) j)^ N)^ N± -a (1r)))))") apply blast apply (rule allI, rule impI)+
apply (case_tac "ja = j", simp) apply (thin_tac "∀N. 1r± -a (1r± -a (Ω vv (Suc n)) j^ N)^ N± -a1r∈
carrier K") apply (thin_tac "∀l≤Suc n. x l ∈ carrier K") apply (drule_tac x = N in spec) apply (drule_tac a = j in forall_spec, assumption, thin_tac "∀ja≤Suc n. 1r± -a (1r± -a (Ω vv (Suc n)) ja^ N)^ N ∈ carrier K") apply (cut_tac N = N in ApproximationTr0 [of "(Ω vv (Suc n)) j"]) apply (simp add:Ostrowski_base_mem) apply (frule Ring.ring_one[of "K"], frule aGroup.ag_mOp_closed[of "K" "1r"], assumption) apply ( frule_tac x = "(1r± -a ((Ω vv (Suc n)) j)^ N)^ N" in aGroup.ag_mOp_closed[of "K"], assumption+) apply (simp only:aGroup.ag_pOp_assoc) apply (simp only:aGroup.ag_pOp_commute[of "K" _ "-a1r"]) apply (simp only:aGroup.ag_pOp_assoc[THEN sym]) apply (simp add:aGroup.ag_r_inv1) apply (simp add:aGroup.ag_l_zero) apply (simp only:val_minus_eq) apply (thin_tac "(1r± -a (Ω vv (Suc n)) j^ N)^ N∈ carrier K", thin_tac "-a (1r± -a (Ω vv (Suc n)) j^ N)^ N∈ carrier K") apply (subst val_exp_ring[THEN sym, of "vv j"], assumption+) apply (rule aGroup.ag_pOp_closed[of "K"], assumption+) apply (rule aGroup.ag_mOp_closed[of "K"], assumption) apply (rule Ring.npClose, assumption+) apply (simp add:Ostrowski_base_mem) apply (rule Ostrowski_base_npow_not_one) apply simp apply assumption+ apply (drule_tac a = N in forall_spec, assumption) apply (drule_tac a = j in forall_spec, assumption) apply (frule Ostrowski_baseTr1[of "n" "vv" "j"], assumption+) apply (frule_tac n = "N - Suc 0" in val_1mx_pow[of "vv j" "(Ω vv (Suc n)) j"]) apply (simp add:Ostrowski_base_mem) apply assumption apply (thin_tac "vv j (x j) ≠ - ∞") apply (simp only:Suc_pred) apply (thin_tac "0 < vv j (1r± -a ((Ω vv (Suc n)) j))") apply (cut_tac b = "vv j (1r± -a ((Ω vv (Suc n)) j)^ N)" and N = N in asprod_ge) apply assumption apply simp apply (cut_tac x = "an N" and y = "int N *a vv j (1r± -a ((Ω vv (Suc n)) j)^ N)" in aadd_le_mono[of _ _ "vv j (x j)"], assumption) apply (simp add:aadd_commute)
apply simp apply (frule_tac aa = "(Ω vv (Suc n)) ja" and N = N in ApproximationTr2[of "vv j"]) apply (simp add:Ostrowski_base_mem) apply (rule Ostrowski_base_nonzero, assumption+) apply (frule_tac l = ja in Ostrowski_baseTr0[of "n" "vv"], assumption+, erule conjE) apply (rotate_tac -1, frule_tac a = j in forall_spec) apply assumption apply (frule_tac x = j in bspec, simp) apply (rule aless_imp_le) apply blast apply (rotate_tac -5, drule_tac a = N in forall_spec, assumption) apply (rotate_tac -2, drule_tac a = ja in forall_spec, assumption) apply ( drule_tac a = ja in forall_spec, assumption) apply (frule_tac l = ja in Ostrowski_baseTr0[of "n" "vv"], assumption+) apply (erule conjE, rotate_tac -1, frule_tac a = j in forall_spec, assumption+) apply (thin_tac "vv j (x ja) ≠ - ∞") apply (cut_tac b = "vv j ((Ω vv (Suc n)) ja)" and N = N in asprod_ge) apply simp apply simp apply (frule_tac x = "an N" and y = "int N *a vv j ((Ω vv (Suc n)) ja)" and z = "vv j (x ja)" in aadd_le_mono) apply (frule_tac x = "int N *a vv j ((Ω vv (Suc n)) ja)" and y = "(vv j)
(1r± -a (1r± -a ((Ω vv (Suc n)) ja)^ N)^ N)" and z = "vv j (x ja)" in aadd_le_mono) apply (frule_tac i = "an N + vv j (x ja)" and j = "int N *a vv j ((Ω vv (Suc n)) ja) + vv j (x ja)" and k = "vv j (1r± -a (1r± -a ((Ω vv (Suc n)) ja)^ N)^ N) +
vv j (x ja)" in ale_trans, assumption+) apply (subst aadd_commute) apply (frule_tac x = "an m" and y = "vv j (x ja) + an N" in aless_imp_le) apply (rule_tac j = "vv j (x ja) + an N" in ale_trans[of "an m"], assumption) apply (simp add:aadd_commute) apply (rule allI, rule impI, subst comp_def) apply (frule_tac a = ja in forall_spec, assumption) apply (frule_tac x = "x ja" in value_in_aug_inf[of "vv j"], assumption+) apply (simp add:aug_inf_def)
apply ((rule allI)+, rule impI) apply (rule_tac aa = "(Ω vv (Suc n)) ja" in ApproximationTr1, simp add:Ostrowski_base_mem) done definition app_lb :: "[_ , nat, nat ==> 'b ==> ant, nat ==> 'b, nat] ==>
(nat ==> nat)" (‹(5Ψ _ _ _ _)› [98,98,98,98,99]98) where "Ψ n vv x m = (λj∈{h. h ≤ n}. (SOME L. (∀N. L < N ⟶
(an m) ≤ (vv j (Σe K (λj∈{h. h ≤ n}. (x j) ⋅r (1r± -a
(1r± -a ((Ω vv n) j)^ N)^ N)) n ± -a (x j))))))" (** Approximation lower bound **)
lemma (in Corps) app_LB:"[vals_nonequiv K (Suc n) vv; ∀l≤ (Suc n). x l ∈ carrier K; j ≤ (Suc n)]==> ∀N. (Ψ (Suc n) vv x m) j < N ⟶ (an m) ≤
(vv j (Σe 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 (frule ApproximationTr3[of "n" "vv" "x" "j" "m"], assumption+) apply (simp del:nsum_suc add:app_lb_def) apply (rule allI) apply (rule someI2_ex) apply assumption+ apply (rule impI) apply blast done
lemma (in Corps) ApplicationTr4:"[vals_nonequiv K (Suc n) vv; ∀j∈{h. h ≤ (Suc n)}. x j ∈ carrier K]==> ∃l. ∀N. l < N ⟶ (∀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)^sup)^ N)) (Suc n) ± -a (x j))))" apply (subgoal_tac "∀N. (m_max (Suc n) (Ψ (Suc n) vv x m)) < N ⟶
(∀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)^ N)^ N)) (Suc n) ± -a (x j))))") 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± -java.lang.NullPointerException applyule apply (rename_tac M) apply (subgoal_tac (subgoal_tacj ≤K (P j)
(vv\>^>e K (λj∈ (Suc n)}. (x j) ⋅r (1a (1<
-simpzero_in_ring_n_pd_zero_K apply (subgoal_tac "\_>mp,
java.lang.NullPointerException pplya apply (eGronu_emo K"]ption 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)
apply (subgoal_tac M") apply blast apply simp apply (rule ApplicationTr4apply (subg "cdot\<hyphen>KK P n apply simp done
(** pds --- prime divisors **) lemma Rxin_Rxa<b> <^eu> "cdot\<hyphen>K
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∈ 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 (ruleng_n_pd_zero_K) apply (rule conjI) apply (simp addsimp apply (rule apply (cut_tac P = "P j"in representative_of_pd_valuation, simp,
simp add:value_of_one) apply (rule ballI)+ apply simp epresentative_of_pd_valuation apply (frule Ring.ring_is_ag
pply nGroup) apply (frule_tac<carrier (O;< n.((νK (P j) y)]
n+ apply simp apply (le 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 apply (frule_tac v = java.lang.NullPointerException assumption+) apply(mp a:vlmns_q apply (feta " nu y" in amin_ge1[of "0"]) simp apply (rule_tac j = "amin ((\definition applypadd
apply (rule allI, rule impI,
cut_tac P = "P j"in representative_of_pd_valuation inlbrakkdistinct_pds K n P; ideal (O ;j<n]
subst val_t2p ==> (P j) {}" rule aadd_two_pos, simp+) done
lemma (in Corps) distinct_pds_valuation:"[
distinct_pds K (Suc n) P] apply (rule_tac P = "P j"in representative_of_pd_valuation) apply (simptinct_pds_def done
lemma (in Corpsapply ( ubsetI
< applyK P n applyrule distinct_pds_valuation[of "j""n - Suc 0""P"]) apply simp+ done
lemma (inapply(rule_tac
valuation K (νjava.lang.NullPointerException apply (case_tac "n = 0", lemmaCorpsdistinct_pds K n P; ideal (O I;
subgoal_tac {0::nat" simp add:representativef_latnP0, simp) apply (simp add:distinct_pds_valuation1[of "n"]) done
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 apply (simp add:zero_in_ring_n_pd_zero_K) apply (simp add:prime_n_pd_def) apply (simp add: ring_n_pd_def Sr_def) apply (cut_tac field_is_ring, simp add:Ring.ring_zero) apply (rule conjI) apply (rule allI, rule impI) apply (cut_tac P = "P ja" in representative_of_pd_valuation, simp add:distinct_pds_def, simp add:value_of_zero) apply (cut_tac P = "P j" in representative_of_pd_valuation, simp add:distinct_pds_def, simp add:value_of_zero) apply (simp add:ant_0[THEN sym])
apply (rule ballI)+ apply (simp add:prime_n_pd_def) apply (erule conjE)+ apply (frule ring_n_pd [of "n" "P"], frule Ring.ring_is_ag[of "O P n"]) apply (frule_tac x = b in aGroup.ag_mOp_closed[of "O P n"], assumption+) apply (simp add:aGroup.ag_pOp_closed) apply (thin_tac "Ring (O P n)") apply (thin_tac "aGroup (O P n)") apply (simp add:ring_n_pd_def Sr_def) apply (erule conjE)+ apply (cut_tac v = "ν (P j)" and x = a and y = "-a b" in amin_le_plus) apply (rule_tac P = "P j" in representative_of_pd_valuation, simp add:distinct_pds_def) apply assumption+ apply (cut_tac P = "P j" in representative_of_pd_valuation) apply (simp add:distinct_pds_def) apply (frule_tac x = "(ν (P j)) a" and y = "(ν (P j)) (-a b)" in amin_gt[of "0"]) apply (simp add:val_minus_eq)
apply (frule_tac y = "amin ((ν (P j)) a) ((ν (P j)) (-a b))" and z = "(ν (P j)) ( a ± -a b)" in aless_le_trans[of "0"], assumption+)
apply (rule ballI)+ apply (frule ring_n_pd [of "n" "P"]) apply (frule_tac x = r and y = x in Ring.ring_tOp_closed[of "O P n"], assumption+) apply (simp add:prime_n_pd_def) apply (cut_tac P = "P j" in representative_of_pd_valuation, simp add:distinct_pds_def) apply (thin_tac "Ring (O P n)") apply (simp add:prime_n_pd_def ring_n_pd_def Sr_def, (erule conjE)+, simp add:val_t2p) apply (subgoal_tac "0≤ ((ν (P j)) r)") apply (simp add:aadd_pos_poss, simp)
lemma (in Corps) n_eq_val_eq_idealTr:
"[distinct_pds K n P; x ∈ carrier (O P n); y ∈ carrier (O P n); ∀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 "(ν (P n)) y" "∞"], assumption+) apply (rule value_inf_zero, assumption+) apply (simp add:mem_ring_n_pd_mem_K, assumption) apply (frule ring_n_pd[of n P]) apply (subgoal_tac "∀j≤n. 0≤ ((ν (P j)) (y ⋅r (x<hyphen>K)))") apply (subgoal_tac "(y ⋅r (x<hyphen>K)) ∈ carrier (O P n)") apply (cut_tac field_frac_mul[of "y" "x"], frule Ring.rxa_in_Rxa[of "O P n" "x" "y ⋅r (x<hyphen>K)"], assumption+, simp add:ring_n_pd_tOp_K_tOp[THEN sym], frule Ring.principal_ideal[of "O P n" "x"], assumption+) apply (cut_tac Ring.ideal_cont_Rxa[of "O P n" "(O P n) ♢p x" "y"], assumption+, simp add:mem_ring_n_pd_mem_K, simp add:mem_ring_n_pd_mem_K, simp add:zero_in_ring_n_pd_zero_K) apply (frule Ring.rxa_in_Rxa[of "O P n" "x" "y ⋅r (x<hyphen>K)"], assumption+, simp add:ring_n_pd_def Sr_def, (erule conjE)+, cut_tac field_is_ring, rule Ring.ring_tOp_closed, assumption+, cut_tac invf_closed1[of x], simp, simp, simp add:ring_n_pd_def Sr_def) apply (cut_tac Ring.ring_tOp_closed, assumption+, cut_tac field_is_ring, assumption+, simp+, cut_tac invf_closed1[of x], simp, simp)
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="ν P j"], 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="ν P j"], simp, simp add:ring_n_pd_def Sr_def, assumption+) apply (frule_tac x = "(ν (P j)) x" and y = "(ν (P j)) 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:"[distinct_pds K n P; x ∈ carrier (O P n);
y ∈ carrier (O P n); ∀j ≤ n.((ν (P j)) x) = ((ν (P j)) y)]==>
Rxa (O P n) x = Rxa (O P n) y" apply (rule equalityI) apply (subgoal_tac "∀j≤ n. (ν (P j)) y ≤ ((ν (P j)) x)") apply (rule n_eq_val_eq_idealTr, assumption+) apply (rule allI, rule impI, simp)
apply (subgoal_tac "∀j≤ n. (ν (P j)) x ≤ ((ν (P j)) y)") apply (rule n_eq_val_eq_idealTr, assumption+) apply (rule allI, rule impI) apply simp done definition mI_gen :: "[_ , nat ==> ('r ==> ant) set, nat, 'r set] ==> 'r" where "mI_gen K P n I = (SOME x. x ∈ I ∧
(∀j ≤ n. (ν (P j)) x = LI K (ν (P j)) I))"
definition mL :: "[_, nat ==> ('r ==> ant) set, 'r set, nat] ==> int" where "mL K P I j = tna (LI K (ν (P j)) I)"
lemma (in Corps) mI_vals_nonempty:"[distinct_pds K n P; ideal (O P n) I; j≤n] ==> (ν (P j)) ` I ≠ {}" apply (frule ring_n_pd[of "n" "P"]) apply (frule Ring.ideal_zero [of "O P n" "I"], assumption+)
apply (simp add:image_def) apply blast done
lemma (in Corps) mI_vals_LB:"[distinct_pds K n P; ideal (O P n) I; j ≤ n]==>
((ν (P j)) `I) ⊆ LBset (ant 0)" apply (rule subsetI) apply (simp add:image_def, erule bexE) apply (frule ring_n_pd[of "n" "P"]) apply (frule_tac h = xa in Ring.ideal_subset[of "O P n" "I"], assumption+) apply (thin_tac "ideal (O P n) I") apply (thin_tac "Ring (O P n)") 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:"[distinct_pds K n P; ideal (O P n) I;
I ≠ {0O P n)}; I ≠ carrier (O P n)]==> ∀j ≤ n. mL K P I j ∈ 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:"[distinct_pds K n P; ideal (O P n) I; j ≤ n] ==>∃x∈I. (ν (P j)) x = LI K (ν (P j)) 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+) apply (frule_tac A = "(ν (P j)) ` I" and z = 0 in AMin_mem, assumption+) apply (simp add:LI_def) apply (thin_tac "(ν (P j)) ` I ⊆ LBset (ant 0)") apply (simp add:image_def, erule bexE) apply (drule sym) apply blast done
lemma (in Corps) val_LI_pos:"[distinct_pds K n P; ideal (O P n) I;
I ≠ {0O P n)}; j ≤ n]==>0≤ LI K (ν (P j)) 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+) apply (frule_tac A = "(ν (P j)) ` I" and z = 0 in AMin_mem, assumption+) apply (simp add:LI_def) apply (frule subsetD[of "(ν (P j)) ` I" "LBset (ant 0)" "AMin ((ν (P j)) ` I)"], assumption+) apply (simp add:LBset_def ant_0) done
lemma (in Corps) val_LI_noninf:"[distinct_pds K n P; ideal (O P n) I;
I ≠ {0O P n)}; j ≤ n]==> LI K (ν (P j)) 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+) apply (frule_tac A = "(ν (P j)) ` I" and z = 0 in AMin, assumption+) apply (thin_tac "(ν (P j)) ` I ⊆ LBset (ant 0)", thin_tac "(ν (P j) ) ` I ≠ {}") apply (frule ring_n_pd[of "n" "P"]) apply (frule Ring.ideal_zero[of "O P n" "I"], assumption+) apply (erule conjE, simp add:LI_def) apply (frule singleton_sub[of "0 P n" "I"]) apply (frule sets_not_eq[of "I" "{0 P n}"], assumption+, erule bexE) apply (simp add:zero_in_ring_n_pd_zero_K) apply (subgoal_tac "∃x∈I. AMin ((ν (P j)) ` I) = (ν (P j)) x", erule bexE) apply simp apply (drule_tac x = a in bspec, assumption) apply (thin_tac "AMin ((ν (P j)) ` I) = (ν (P j)) x")
apply (frule_tac h = a in Ring.ideal_subset[of "O P n" "I"], assumption+) apply (frule_tac x = a in mem_ring_n_pd_mem_K[of n P], assumption+) apply (simp add:distinct_pds_def, (erule conjE)+) 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 "ν (P j)"], assumption+, erule exE, simp) apply (thin_tac "∀l ≤ n. ∀m ≤ n. l ≠ m ⟶ P l ≠ P m", thin_tac "(ν (P j)) 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 _ "∞"], assumption+) apply simp done
lemma (in Corps) Zleast_in_mI_pos:"[distinct_pds K n P; ideal (O P n) I;
I ≠ {0O P n)}; j ≤ n]==>0≤ mL K P I j" apply (simp add:mL_def) apply (frule ex_Zleast_in_mI[of "n" "P" "I" "j"], assumption+, erule bexE, frule sym, thin_tac "(ν (P j)) x = LI K (ν (P j)) I") apply (subgoal_tac "LI K (ν (P j)) I ≠∞", simp) apply (thin_tac "LI K (ν (P j)) I = (ν (P j)) x")
apply (frule ring_n_pd[of "n" "P"]) apply (frule_tac h = x in Ring.ideal_subset[of "O P n" "I"], assumption+) apply (thin_tac "ideal (O P n) I") apply (thin_tac "Ring (O P n)") 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 (rule val_LI_noninf, assumption+) done
lemma (in Corps) Zleast_mL_I:"[distinct_pds K n P; ideal (O P n) I; j ≤ n;
I ≠ {0O P n)}; x ∈ I]==> ant (mL K P I j) ≤ ((ν (P j)) x)" apply (frule val_LI_pos[of "n" "P" "I" "j"], assumption+) apply (frule apos_neq_minf[of "LI K (ν (P j)) I"]) 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) 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)
donejava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
lemma (in Corps) Kbase_hom:"distinct_pds K)<esub)` I and =0 AMin_mem assumption \<forall>j \<le> n. (Kb\<^bsub>K n P\<^esub>) j \<in> carrier K"
apply (frule KbaseTr1[of "n""P"])
apply (simp add:KbaseP_def)
done
in):" K nP \Longrightarrow> \<forall>j \<le> n. \<forall>l \<le> n. (\<nu>\<^bsub>K (P j)\<^esub>) ((Kb\<^bsub>K n P\<^esub>) l) = \<delta apply (frule_tacj = j inmI_vals_nonemptyof apply (frule_tac j = j in mI_vals_LB[of "n""P""I"], assumption+)
apply (frule KbaseTr1[of n P])
apply (simp add:KbaseP_def)
done
lemma (in Corps) Kbase_nonzero:"distinct_pds K n P \<Longrightarrow> \<forall>j \<le> n. (Kb\<^bsub>K n P\<^esub>) j \<noteq> \<zero>"
apply (rule allI, rule impI)
apply (frule Kbase_Kronecker[of n P])
apply(subgoal_tac"\<u><^>K (Pj)\^esub) (\^bsub>) \delta>\^bsub> <^esub>")
apply (thin_tac "\<forall>j\<le>n. (\<forall>l\<le>n. ((\<nu>\<^bsub>K P j\<^esub>) ((Kb\<^bsub>K n P\<^esub>) l)) = \<delta>\<^bsub>j l\<^esub>)")
apply (simp add:Kronecker_delta_def)
apply (rule contrapos_pp, simp+)
apply (cut_tac P = "P j" in representative_of_pd_valuation)
apply (simp add:distinct_pds_def)
( onlyvalue_of_zero,simp:[ ]
frule sym, thin_tac " \<infinity> = ant 1", simp java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 30
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 \<Rightarrow> ant) set, 'b set] \<Rightarrow> nat \<Rightarrow> 'b" where "Zl_mI K P I j = (SOME x. (x \<in> I \<and> ( (\<nu>\<^bsub>K (P j)\<^esub>) x = LI K (\<nu>\<^ simpjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
inCorpsvalue_Zl_mI"<>distinct_pds K ;ideal O<bsubKP n<esub)I;j\le n\<rbrakk \Longrightarrow Zl_mI I <> \<nu><bsubK Pj\<esub> Zl_mIK Ij = K(<u\<bsubK ( )\^> "
subgoal_tac"<xists> (\<n I\<and> (\nu\<bsubK(P )\<sub) LI \<nu>\^bsub> (P j\<^>)I))"java.lang.StringIndexOutOfBoundsException: Index 127 out of bounds for length 127
apply (subst Zl_mI_def)+
apply (rule someI2_ex, assumption+)
apply (frule ex_Zleast_in_mI[of "n""P""I""j"], assumption+)
apply (erule bexE, blast)
done
lemma (in Corps) Zl_mI_nonzero:"\<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>}; j \<le> n\<rbrakk> \<Longrightarrow> Zl_mI K P I j \<noteq> \<zero>"
apply (case_tac "n = 0")
apply (simp add:distinct_pds_def)
apply (frule representative_of_pd_valuation[of "P 0"])
apply( "\<bsubK 0<esub = K \<nu>\^bsubK( 0\<esub>")
apply (subgoal_tac "Zl_mI K P I 0 = Ig done
apply simp apply (simp add:Ig_nonzero)
applysimpadd: Zl_mI_def)
apply (simp add:ring_n_pd_def Vr_def)
apply (simp)
apply (frule apply ( apos_neq_minfof" (\nu\<^bsubK ( j)<esub> I")
apply (erule conjE)
apply (rule contrapos_pp, simp+)
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"],
frule sets_not_eq[of "I""{\<zero>}"], assumption,
erule bexE, simp)
apply (frule_tac x = a in Zleast_mL_I fruleZleast_in_mI_pos[of"""""""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+)
applysimpadd:em_ring_n_pd_mem_K) apply assumption
lemma (in Corps) Zl_mI_mem_K:"\<lbrakk>distinct_pds K n P; ideal java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 \<Longrightarrow> (Zl_mI K P I l) \<in> carrier K"
( [of "n"P" I "",assumption)
apply (erule conjE)
apply (frule, ruleimpI
apply (frule Ring.ideal_subset[of "O\<^bsub>K P n\<^esub>""I""Zl_mI K P I l"], assumption+)
apply (simp add:mem_ring_n_pd_mem_K[of "n""P""Zl_mI K P I l"])
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" drule_tac a = l in forall_spec, assumption, simp
lemma(inCorps)mprod_expR_memTr:"(\<>j\le>n fj <in carrier K \<ongrightarrow
mprod_expR K e f n \<in> carrier K"
apply (cut_tac field_is_ring)
apply (induct_tac n)
apply (rule impI, simp)
apply (simp add:mprod_expR_def)
apply(cut_tac RingnpClose[of K "f 0""e 0"], assumption+)
lemma (in Corps) mprod_expR_mem:"\<forall>j \<le> n. f j \<in> carrier K \<Longrightarrow>
mprod_expR K e f n \<in> carrier K"
apply (cut_tac field_is_ring)
apply (cut_tac Ring.mprod_expR_memTr[of K e n f])
apply simp
pply( f\in> {j.j \le n}\rightarrow carrierK" simp+
done
lemma (in Corps) mprod_Suc:"\<applyblast \<forall>j \<le> (Suc n). f j \<in> (carrier K - {\<zero>})\<rbrakk> \<Longrightarrow>
mprod_exp K e f (Suc n) = (mprod_exp K e f n) \<cdot>\<^sub>r ((f (Suc n))java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 20
apply (simp add:mprod_exp_def)
done
in)mprod_memTr"
(\<forall>j \<le> n. e j \<in> Zset) \<and> (\<forall>j \<le> n. f j \<in> ((carrier K) - {\<zero>})) \<longrightarrow>
(mprod_exp K e f n) \<in> ((carrier K) - {\<zero>})"
apply (induct_tac n)
apply (simp, rule impI, (erule conjE)+,
simp add:mprod_exp_def, simp add:npowf_mem,
simp add:field_potent_nonzero1)
apply (rule impI, simp, erule conjE,
cut_tac field_is_ring, cut_tac field_is_idom,
erule conjE, simp add:mprod_Suc)
apply (rule conjI)
java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 55
simp add:npowf_mem)
apply (rule Idomain.idom_tOp_nonzeros, assumption+,
simp add:npowf_mem, assumption,
simp add:field_potent_nonzero1)
done
lemma (in Corps) mprod_mem:"\<lbrakk>\<forall>j \<le> n. e j \<in> Zset; \<forall>j \<le> n. f j \<( add:KbaseP_def
apply (cut_tac mprod_memTr[of n e f]) apply simp
done
lemma (in Corps) mprod_mprodR:"\<lbrakk>\<forall>j \<le> n. e j \<in> <forall>j \le> n (\<^bsubK n \<^>)j\noteq <zero" \<forall>j \<le> n. f j \<in> ((carrier K) - {\<zero>})\<rbrakk> \<Longrightarrow>
mprod_exp K e f n = mprod_expR K (nat o e) f n"
apply (cut_tac field_is_ring)
apply (simp add:mprod_exp_def mprod_expR_def)
apply (rule Ring.nprod_eq, assumption+)
apply ( , ruleimpI,simp:)
apply (rule allI,ronecker_delta_def)
apply (rule allI, rule impI)
apply (simp add:npowf_def)
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"
pplyfrule ring_n_pdofn ]
apply (induct_tac m)
ruleimpI ( 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:" \<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> applyfrule value_Zl_mIn ]+
<Longrightarrow> mprod_exp e fm mprod_expR(\^>K Pn\^esub) (at )f m
apply (simp add:ring_n_mprod_mprodRTr)
done
lemma (in Corps) value_mprod_expTr:"valuation K v \<Longrightarrow>
(\< frulesets_not_eq[of "I""\zero>}" assumption
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( 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 addnpowf_mem simp addfield_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;
apply( Ringideal_subset[of"\^bsub>K n\^esub>""I""Zl_mIKPI l"] assumption)
( add:mem_ring_n_pd_mem_K[of"""""Zl_mI P Il"]
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>\<^mprod_expR n\in
((\<nu>\<^bsub>K (P j)\<^apply(cut_tac field_is_ring)
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> apply( RingnpClose assumptionassumption
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 in Corps mprod_expR_mem:\<orallj <> n f j\<> carrier K <Longrightarrow
apply (cut_tac eSum_single[of "Suc n""\<lambda>ja. (mL K P I ja) *\<^sub>a (\<delta>\<^bsub>j ja\<^esub>)""j"])
apply (rule field_is_ring cut_tacfield_is_idomjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
apply (simp add:Kdelta_in_Zinf)
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>) (simpadd mprod_expR_def
apply (cut_tac mgenerator0_1[of "n - Suc 0""P""I""j"])
apply simp+
done
lemma (in Corps) mgenerator1:"\<lbrakk (simp addnpowf_def)
I \<noteq> {\<zero>\<^bsub>(O\<^bsub>K P n\<^esub>)\<^esub>}; I \<noteq> carrier (O\<^bsub>K P n\<^esub>); j \<le> njava.lang.StringIndexOutOfBoundsException: Index 118 out of bounds for length 0
((\<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
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,
Kbase_nonzeroof 0 P] simp,
simp add:distinct_pds_def)
apply (cut_tac Kbase_nonzero[of "0""P"], simp add:distinct_pds_def)
apply (cut_tac Kbase_Kronecker[of "0""P"], simp add:distinct_pds_def)
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>k l\<^esub> ) (Kb\<^bsub>K n P\<^esub>) n) = (\<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 (java.lang.StringIndexOutOfBoundsException: Index 145 out of bounds for length 145
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)
apply (cut_tac z_in_aug_inf[of 1], simp add:ant_1)
lemma (in Corps) mgenerator2Tr2:"\<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>k l\<^esub> ) (Kb\<^bsub>K n P\<^esub>) n)\<^bsub>K\<^esub>\<^bsup>m\<^esup>)= ant (m * (\<gamma>\<^bsub>k j\<^esub>))"
lemma (in Corps) mgenerator2Tr3_1:"\<lbrakk>0 < n; j \<le> n; k \<le> n; j = k;
distinct_pds K n P\<rbrakk> \<Longrightarrow>
(\<nu>\<^bsub>K (P j)\<^esub>) ((mprod_exp K (\<lambda>l. (\<gamma>\<^bsub>k l\<^esub>)) (Kb\<^bsub>K n P\<^esub>) n)\<^bsub>K\<^esub>\<^bsup>m\<^esup>) = 0"
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 (\<lambda>l. (\<gamma>\<^bsub>k l\<^esub>)) (Kb\<^bsub>K n P\<^esub>) n)\<^bsub>K\<^esub>\<^bsup>m\<^esup>) = ant m"
apply (simp add:mgenerator2Tr2) apply (simp add:K_gamma_def)
done
lemma (in Corps) mgeneratorTr4:"\<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>)\<rbrakk> \<Longrightarrow>
mprod_exp K (mL K P I) (Kb\<^ Kbase_Kronecker"""", add)
apply (\<nu>\<^bsub>K (P j)\<^esub>) (mprod_exp K (\<lambda>l. \<gamma>\<^bsub>k l\<^esub> ) (Kb\<^bsub>K n P\<^esub>) n) =java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
apply (simp add:Sr_def)
apply (frule mL_hom[of "n""P""I"], assumption+)
apply (frule mprod_mem[of n "mL K P I""Kb\<^bsub>K n P\<^esub>"])
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 value_Zl_mI[of "n""P""I""l"], assumption+)
apply (erule conjE)
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> {\<zero>\<^bsub>O\<^bsub>K P n\<^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>\<^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) \<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
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\<^bsub>K\<^esub>\<^bsup>m_zmax_pdsI K n P I\<^esup>)" "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 n)\<^esub>", THEN sym], assumption+)
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 P I)"])
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"])
apply (frule val_LI_noninf[of "n""P""I""n"], assumption+, 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"])
apply (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 (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+)
apply (simp add:mgenerator2Tr3_1[of "n""j""j""P" "m_zmax_pdsI K n P I"])
apply (simp add:aadd_0_r)
apply (simp add:value_Zl_mI[of "n""P""I""j"])
done
lemma (in Corps) mI_gen_in_I:"\<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>)\<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>K n P\<^esub>) n)\<^bsub>K\<^esub>\<^bsup>(m_zmax_pdsI K n P I)\<^esup>))) n) \<in> I"
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
Ring.ideal_subset[of "O\<^bsub>K P n\<^esub>""I"], assumption+)
apply (simp add:ring_n_pd_tOp_K_tOp[of "n""P"])
text\<open>We write the element \<open>e\<Sigma> K (\<lambda>k. (Zl_mI K P I k) \<cdot>\<^sub>K ((mprod_exp K (K_gamma k) (Kb\<^bsub>K n P\<^esub>)
n)\<^sub>K\<^sup>(m_zmax_pdsI K n P I))) n\<close>
as \<open>mIg\<^bsub>K G a i n P I\<^esub>\<close>\<close>
definition
mIg :: "[_, nat, nat \<Rightarrow> ('b \<Rightarrow> ant) set, 'b set] \<Rightarrow> 'b" (\<open>(4mIg\<^bsub> _ _ _ _\<^esub>)\<close> [82,82,82,83]82) where "mIg\<^bsub>K n P I\<^esub> = \<Sigma>\<^sub>e K (\<lambda>k. (Zl_mI K P I k) \<cdot>\<^sub>r\<^bsub>K\<^esub>
((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"
text\<open>We can rewrite above two lemmas by using \<open>mIg\<^bsub>K G a i n P I\<^esub>\<close>\<close>
lemma (in Corps) value_mI_gen1:"\<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>)\<rbrakk> \<Longrightarrow> \<forall>j \<le> n.(\<nu>\<^bsub>K (P j)\<^esub>) (mIg\<^bsub>K n P I\<^esub>) = LI K (\<nu>\<^bsub>K (P j)\<^esub>) I"
apply (rule allI, rule impI)
apply (simp add:mIg_def value_mI_gen)
done
lemma (in Corps) mI_gen_in_I1:"\<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>)\<rbrakk> \<Longrightarrow> (mIg\<^bsub>K n P I\<^esub>) \<in> I"
apply (simp add:mIg_def mI_gen_in_I)
done
lemma (in Corps) mI_principalTr:"\<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>); x \<in> I\<rbrakk> \<Longrightarrow> \<forall>j \<le> n. ((\<nu>\<^bsub>K (P j)\<^esub>) (mIg\<^bsub>K n P I\<^esub>)) \<le> ((\<nu>\<^bsub>K (P j)\<^esub>) x)"
apply (simp add:value_mI_gen1)
apply (rule allI, rule impI)
apply (rule Zleast_LI, assumption+)
done
lemma (cut_tac z_in_aug_inf[ ], simp :ant_1
I \<noteq> {\<zero>\<^bsub>(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
I = Rxa (O\<^bsub>K P n\<^esub>) (mIg\<^bsub>K n P I\<^esub>)"
apply (frule ring_n_pd[of "n""P"])
apply (rule equalityI)
apply (rule subsetI)
(ruleallI,ruleimpI
apply (frule_tac y = x in n_eq_val_eq_idealTr[of "n""P""mIg\<^bsub>K n P I\<^esub>"])
apply (frule mI_gen_in_I1[of "n""P""I"], assumption+)
apply (simp add:Ring.ideal_subset)+
apply (thin_tac "\<forall>j\<le>n. (\<nu>\<^bsub>K (P j)\<^esub>) (mIg\<^bsub> K n P I\<^esub>) \<le> (\<nu>\<^bsub>K (P j)\<^esub>) x")
apply frule_tac h x in Ring.[of "O<bsubK Pn\<^esub>""", assumption
apply (frule_tac a = x in Ring.a_in_principal[of "O\<^bsub>K P n\<^esub>"], assumption+)
apply (simp add:subsetD) \^] assumption
apply (rule mI_gen_in_I1[of "n""P""I"], assumption+)
done
lemma (in Corps) prime_n_pd_principal:"\<lbrakk>distinct_pds K n P; j \<le> n\<rbrakk> \<Longrightarrow>
(P\<^bsub>K P n\<^esub> j) = Rxa (O\<^bsub>K P n\<^esub>) (((Kb\<^bsub>K n P\<^esub>) j))"
apply (frule ring_n_pd[of "n""P"])
apply (frule prime_n_pd_prime[of "n""P""j"], assumption+)
apply (simp add:prime_ideal_def, frule conjunct1)
apply (fold prime_ideal_def)
apply (thin_tac "prime_ideal (O\<^bsub>K P n\<^esub>) (P\<^bsub>K P n\<^esub> j)")
apply (rule equalityI)
apply (rule subsetI)
apply (frule_tac y = x in n_eq_val_eq_idealTr[of n P "(Kb\<^bsub>K n P\<^esub>) j"])
apply (thin_tac "Ring (O\<^bsub>K P n\<^esub>)", thin_tac "ideal (O\<^bsub>K P n\<^esub>) (P\<^bsub>K P n\<^esub> 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 "\<forall>j\<le>n. \<forall>l\<le>n. (\<nu>\<^bsub>K (P j)\<^esub>) ((Kb\<^bsub>K n P\<^esub>) l) = \<delta>\<^bsub>j l\<^esub>")
apply (case_tac "ja = j", simp add:Kronecker_delta_def)
apply (thin_tac "ideal (O\<^bsub>K P n\<^esub>) (P\<^bsub>K P n\<^esub> j)")
apply (simp add:prime_n_pd_def, erule conjE)
apply (frule_tac x = x in mem_ring_n_pd_mem_K[of "n""P"],
assumption+)
apply (case_tac "x = \<zero>\<^bsub>K\<^esub>")
apply (frule distinct_pds_valuation2[of "j""n""P"], assumption+)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
applysimp :)
apply (frule_tac j = ja in distinct_pds_valuation2[of _ "n""P"],
assumption+)
apply (simp add:prime_n_pd_def, erule conjE)
apply (thin_tac "ideal (O\<^bsub>K P n\<^esub>) {x. x \lemma( Corps) :"lbrakk0 n distinct_pdsKnP idealO<bsubK P \<> I;
apply (simp add:ring_n_pd_def Sr_def)
apply (cut_tac h = x in Ring.ideal_subset[of "O\<^bsub>K P n\<^esub>""P\<^bsub>K P n\<^esub> j"])
apply(rule_tac a=x Ring.a_in_principalofO\bsubKP \<esub]java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
apply (simp add:Ring.ideal_subset, assumption+)
apply (rule_tac c = x and A = "(O\<^bsub>K P n\<^esub>) \<diamondsuit>\<^sub>p x" and B = "(O\<^bsub>K P n\<^esub>) \<diamondsuit>\<^sub>p (Kb\<^bsub>K n P\<^esub>) j"
in subsetD, assumption+)
apply (simp add:Ring.a_in_principal)
apply (rule Ring.ideal_cont_Rxa[of "O\<^bsub>K P n\<^esub>""P\<^bsub>K P n\<^esub> j""(Kb\<^bsub>K n P\<^esub>) j"], assumption+)
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)
apply (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)
done
lemma (in Corps) ring_n_prod_primesTr:"\<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>)\<rbrakk> \<Longrightarrow> \<forall>j \<le> n.(\<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>) (mIg\<^bsub>K n P I\<^esub>)"
apply (rule allI, rule impI)
apply (simp add:mgenerator1)
apply (simp add:value_mI_gen1)
apply (simp add:value_Zl_mI)
done
lemma (in Corps) ring_n_prod_primesTr1:"\<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>)\<rbrakk> \<Longrightarrow>
I = (O\<^bsub>K P n\<^esub>) \<diamondsuit>\<^sub>p (mprod_exp K (mL K P I) (Kb\<^bsub>K n P\<^esub>) n)"
apply (frule ring_n_pd[of "n""P"])
apply (subst n_eq_val_eq_ideal[of "n""P""mprod_exp K (mL K P I)
(Kb\<^bsub>K n P\<^esub>) n" "mIg\<^bsub>K n P I\<^esub>"], assumption+)
apply (simp add:mgeneratorTr4)
apply (frule mI_gen_in_I1[of "n""P""I"], assumption+)
apply (simp add:Ring.ideal_subset)
apply (simp add:ring_n_prod_primesTr)
apply (simp add:mI_principal)
done
lemma (in Corps) ring_n_prod_primes:"\<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>); \<forall>k \<le> n. J k = (P\<^bsub>K P n\<^esub> k)\<^bsup>\<diamondsuit>(O\<^bsub>K P n\<^esub>) (nat ((mL K P I) k))\<^esup>\<rbrakk> \<Longrightarrow>
I = i\<Pi>\<^bsub>(O\<^bsub>K P n\<^esub>),n\<^esub> J"
apply (simp add:prime_n_pd_principal[of "n""P"])
apply (subst ring_n_prod_primesTr1[of "n""P""I"], assumption+)
apply (frule ring_n_pd[of "n""P"])
apply (frule Ring.prod_n_principal_ideal[of "O\<^bsub>K P n\<^esub>""nat o (mL K P I)""n" "Kb\<^bsub>K n P\<^esub>""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\<^bsub>K n P\<^esub>"])
apply (rule allI, rule impI, simp add:Zset_def)
apply (rule allI, rule impI)
apply (simp add: Zleast_in_mI_pos)
lemma(inCorps)mprod_Suc:"\<lbrakk>\<forall>j\<le>(Sucn).ej\<in>Zset; <forall>\le>Sucn)fj\<>(carrierK-{\ero>}\rbrakk\<> mprod_expKef(Sucn)=(mprod_expKefn)\<cdot>\<^sub>r((f(Sucn))\<^bsub>K\<^esub(frulering_n_pd[ofn"P") apply(simpadd:mprod_exp_def) one
apply(fruleapos_neq_minf[of"LIK(\<nu>\<^bsub>K(Pjjava.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 20 (:) apply(simpadd:value_Zl_mI[of"Sucn""P""I""j"]) apply(ruleallI,ruleimpI) apply(simpadd:Kdelta_in_Zinf,simp) apply(ruleballI,simp) apply(simpadd:Kronecker_delta_def,eruleconjE) apply(simpadd:asprod_n_0)
(in Corps) mgenerator2Tr3_2:"[0 < n; j ≤ n; k ≤ n; j ≠ k;
distinct_pds K n P]==>
(ν (P j)) ((mprod_exp K (λl. (γ l)) (Kb n P) n)) = ant m"
(simp add:mgenerator2Tr2) apply (simp add:K_gamma_def)
(in Corps) mgeneratorTr4:"[0 < n; distinct_pds K n P; ideal (O P n) I;
I ≠ {0 P n}; I ≠ carrier (O P n)]==>
mprod_exp K (mL K P I) (Kb n P) n ∈ carrier (O P n)"
(subst ring_n_pd_def)
(simp add:Sr_def)
apply (frule mL_hom[of "n" "P" "I"], assumption+)
apply (frule mprod_mem[of n "mL K P I" "Kb n P"])
apply (rule Kbase_hom1, assumption+)
m_zmax_pdsI_hom :: "[_, nat ==> ('b ==> ant) set, 'b set] ==> nat ==> int" where
"m_zmax_pdsI_hom K P I = (λj. tna (AMin ((ν (P j)) ` I)))"
m_zmax_pdsI :: "[_, nat, nat ==> ('b ==> ant) set, 'b set] ==> int" where
"m_zmax_pdsI K n P I = (m_zmax n (m_zmax_pdsI_hom K P I)) + 1"
(in Corps) value_Zl_mI_pos:"[0 < n; distinct_pds K n P; ideal (O P n) I;
I ≠ {0O P n)}; I ≠ carrier (O P n); j ≤ n; l ≤ n]==>
0 ≤ ((ν (P j)) (Zl_mI K P I l))"
(frule value_Zl_mI[of "n" "P" "I" "l"], assumption+)
(erule conjE)
apply (frule ring_n_pd[of "n" "P"])
apply (frule Ring.ideal_subset[of "O P n" "I" "Zl_mI K P I l"], assumption+)
apply (thin_tac "ideal (O P n) I")
apply (thin_tac "I ≠ {0 P n}")
apply (thin_tac "I ≠ carrier (O P n)")
apply (thin_tac "Ring (O P n)")
apply (simp add:ring_n_pd_def Sr_def)
(in Corps) value_mI_genTr1:"[0 < n; distinct_pds K n P; ideal (O P n) I;
I ≠ {0 P n}; I ≠ carrier (O P n); j ≤ n]==>
(mprod_exp K (K_gamma j) (Kb n P) n)m_zmax_pdsI K n P I)∈ carrier K"
(frule K_gamma_hom[of "j" "n"])
(frule mprod_mem[of n "K_gamma j" "Kb n P"])
apply (rule Kbase_hom1, assumption+)
(rule npowf_mem)
apply simp+
(in Corps) value_mI_genTr1_0:"[0 < n; distinct_pds K n P;
ideal (O P n) I; I ≠ {0 P n}; I ≠ carrier (O P n); j ≤ n] ==> (mprod_exp K (K_gamma j) (Kb n P) n) ∈ carrier K"
(frule K_gamma_hom[of "j" "n"])
(frule mprod_mem[of n "K_gamma j" "Kb n P"])
apply (rule Kbase_hom1, assumption+)
apply simp
(in Corps) value_mI_genTr2:"[0 < n; distinct_pds K n P; ideal (O P n) I;
I ≠ {0 P n}; I ≠ carrier (O P n); j ≤ n]==>
(mprod_exp K (K_gamma j) (Kb n P) n)m_zmax_pdsI K n P I)≠0"
apply (frule K_gamma_hom[of "j" "n"])
apply (frule mprod_mem[of n "K_gamma j" "Kb n P"])
apply (rule Kbase_hom1, assumption+) apply simp apply (erule conjE)
apply (simp add: field_potent_nonzero1)
(in Corps) value_mI_genTr3:"[0 < n; distinct_pds K n P; ideal (O P n) I;
I ≠ {0 P n}; I ≠ carrier (O P n); j ≤ n]==>
(Zl_mI K P I j) ⋅r ((mprod_exp K (K_gamma j) (Kb n P) n)m_zmax_pdsI K n P I)) ∈ carrier K"
(cut_tac field_is_ring)
(rule Ring.ring_tOp_closed, assumption+)
(simp add:Zl_mI_mem_K)
(simp add:value_mI_genTr1)
(in Corps) value_mI_gen:"[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)) (nsum K (λk. ((Zl_mI K P I k) ⋅r ((mprod_exp K (λl. (γ l)) (Kb n P) n)m_zmax_pdsI K n P I)))) n) = LI K (ν (P j)) I"
(cut_tac field_is_ring, frule Ring.ring_is_ag[of "K"])
(case_tac "j = n", simp)
apply (cut_tac nsum_suc[of K "λk. Zl_mI K P I k ⋅r
mprod_exp K (K_gamma k) (Kb n P) n K n P I" "n - Suc 0"],
simp,
thin_tac "Σe K (λk. Zl_mI K P I k ⋅r
mprod_exp K (K_gamma k) (Kb n P) n K n P I) n =
Σe K (λk. Zl_mI K P I k ⋅r
mprod_exp K (K_gamma k) (Kb n P)
n K n P I) (n - Suc 0) ±
Zl_mI K P I n ⋅r
mprod_exp K (K_gamma n) (Kb n P) n K n P I")
apply (cut_tac distinct_pds_valuation[of "n" "n - Suc 0" "P"])
2 apply simp
2 apply simp
apply (subst value_less_eq1[THEN sym, of "ν (P n)"
"(Zl_mI K P I n)⋅r (mprod_exp K (K_gamma n) (Kb n P) n K n P I)"
"nsum K (λk.(Zl_mI K P I k)⋅r (mprod_exp K (K_gamma k) (Kb n P) n K n P I)) (n - Suc 0)"], assumption+)
apply (simp add:mgenerator2Tr3_1[of "n" "n" "n" "P"])
apply (simp add:aadd_0_r)
(frule value_Zl_mI[of "n" "P" "I" "n"], assumption+, simp)
apply (erule conjE)
apply (frule_tac f = "λk. (Zl_mI K P I k) ⋅r
(mprod_exp K (K_gamma k) (Kb n P) n K n P I)" in
value_ge_add[of "ν (P n)" "n - Suc 0" _
"ant (m_zmax_pdsI K n P I)"])
apply (rule allI, rule impI)
apply (rule Ring.ring_tOp_closed, assumption+)
apply (simp add:Zl_mI_mem_K)
apply (simp add:value_mI_genTr1)
apply (cut_tac e = "K_gamma ja" in mprod_mem[of n _ "Kb n P"])
apply (simp add:Zset_def) apply (rule Kbase_hom1, assumption+)
apply (subst val_exp[of "ν (P n)", THEN sym], assumption+)
apply simp+
apply (subst mgenerator2Tr1[of "n" "n" _ "P"], assumption+, 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)
dNe_per)
apply (frule_tac y = "(ν (P n)) (Zl_mI K P I ja
aadd_le_mono[of "0" _ "ant (m_zmax_pdsI K n P I)"]) apply (simp add:aadd_0_l)
apply (subgoal_tac "LI K (ν (P n)
apply simp
apply (rule aless_le_trans[of "LI K (ν I"
"ant (m_zmax_pdsI K n P I)"])
_maa_d_f
java.lang.NullPointerException
"m_zmax n (m_zmax_pdsI_hom K P I) + 1"])
(frule val_LI_noninf[of "n" "P" "I" "n"], assumption+, simp, simp)
frule val_LI_pos[of "n" "P" "I" "n"], assumption+, simp,
frule apos_neq_minf[of "LI K (ν (P n)) I"], simp add:ant_tna)
apply (subst m_zmax_pdsI_hom_def)
applyut Ie
apply (cut_tac m_zmax_gt_each[of n "λu.(tna (AMin ((ν(\^) ` I)))"])
apply simp
apply (subst val_t2p[of "νK (P n)
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[k. (Zl_mIcdot>java.lang.NullPointerException
((mprod_exp K (K_gamma k) (Kb n P) n)m_zmax_pdsI K n P I))" "j"]) apply simp apply (rule allI, rule impI) apply (simp add:value_mI_genTr3) apply simp+
apply (thin_tac "Σe K (λk. Zl_mI K P I k java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
mprod_exp K (K_gamma k) (Kb n P) nring_n_pd_mem_K "n"""
Σk. Zl_mI ⋅java.lang.NullPointerException
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 apply (cut_tac nsum_suc[of ,e conjE
mprod_exp K (K_gamma k)(b<>K apply (simp del:nsum_suc) apply (
thin_tac java.lang.NullPointerException mprod_exp K (K_gamma k) (Kb n P) n P nK P n> (Kb j"
Σe Kga_in_principal
mprod_exp K (K_gamma k KbK n PKm_zmax_pdsI) (τ
(n - Suc 0) ± (cmp (λk. Zl_mI K P I k ⋅
mprod_exp K (K_gamma k) (Kb n P) njava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24 apply (cut_tac " prefer 2 apply simp prefer 2 apply simp
apply (cut_tac n_in_Nsetn[of "n"]) apply (simp add:transpos_ij_2) apply (subst value_less_eq1[THEN sym, of "ν (P j)" "(Zl_mI K P I j) ⋅r (mprod_exp K (K_gamma j) (Kb n P)
n K n P I)" "Σe K (λx.(Zl_mI K P I ((τ n) x)) ⋅r
(mprod_exp K (K_gamma ((τ n) x)) (Kb n P) n K n P I)) (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 (simp add:mgenerator2Tr3_1[of "n" "j" "j" "P"])
apply (frule value_Zl_mI[of "n" "P" "I" "j"], assumption+) apply (erule conjE) apply (simp add:aadd_0_r) apply (cut_tac f = "λx. (Zl_mI K P I ((τ n) x)) ⋅r j nK)"in
value_ge_add[of java.lang.NullPointerException u0 _ " (m_zmax_pdsInP )" smto+) apply ( ultimaell o ma (f ++ g) x = (map_inv f +++ map_inv g) x" apply (frule_tac l = ja in transpos_mem[of "j""n""n"], simp+) applydd applyrule, impIapply ( add)
apply(l = ja[ofj"n"+)
applyapply simp
metis) apply simp) apply (cut_tac k = ja in transpos_noteqTr[of "n" _ "j"], simp+) apply (subst:list_induct2 apply (cut_tac l = "(\\ggtrrow>v he \<>ome exE) +) apply (frule_tac y = "
aadd_le_mono[of "0""nt (m_zmax_pdsI K n P I" apply (simp (casesh " apply (subgoal_tac "LI K (java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null apply (rulemerge = "ant (m_zmax_pdsI K n P I)"], assumption+)
apply (simp_ ]map_of_list .empty apply
list_of_map_emptyp list_of_map.empty [" apply frule val_LI_pos[of "n" "P" "I" "j"], assumption+,mfrom Fa have "map_of_list < Map.empty" frule apos_neq_minf[of "LI K (νK (P j) apply (substjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34 apply ( apply (subgoal_tac "\<forall ‹ apply (frule m_zmax_gt_each[of n " λ
apply simp
apply (rule allI, rule impI)
(subst val -
apply (rule Zl_mI_mem_K, assumption+)
apply (simp add:value_mI_genTr1)
apply (simp add:mgenerator2Tr3_1[of "n" "" "j"""
"m_zmax_pdsI K n P I"])
apply (simp add:aadd_0_r)
apply (simp add:value_Zl_mI[of "n" "P" "I" "j"])
(in Corps) mI_gen_in_I:"[0 < n; distinct_pds K n P; ideal (O P n) I;
I ≠ {0O P n)}; I ≠ carrier (O P n)]==>
(nsum K (λk. ((Zl_mI K P I k) ⋅r
((mprod_exp K (λl. (γ l)) (Kb n P) n)m_zmax_pdsI K n P I)))) n) ∈ I"
(cut_tac field_is_ring, frule ring_n_pd[of n P])
(rule ideal_eSum_closed[of n P I n], assumption+)
(rule allI, rule impI)
apply (frule_tac j = j in value_Zl_mI[of "n" "P" "I"], assumption+)
apply (erule conjE)
apply (thin_tac "(ν (P j)) (Zl_mI K P I j) = LI K (ν (P j)) I")
apply (subgoal_tac "(mprod_exp K (K_gamma j) (Kb n P) n)m_zmax_pdsI K n P I) ∈ carrier (O P n)")
apply (frule_tac x = "Zl_mI K P I j" and
r = "(mprod_exp K (K_gamma j) (Kb n P) n)m_zmax_pdsI K n P I)"
in Ring.ideal_ring_multiple1[of "(O P n)" "I"], assumption+)
apply (frule_tac h = "Zl_mI K P I j" in
Ring.ideal_subset[of "O P n" "I"], assumption+)
apply (simp add:ring_n_pd_tOp_K_tOp[of "n" "P"])
‹We 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 G a i n P I››
mIg :: "[_, nat, nat ==> ('b ==> ant) set,
'b set] ==> 'b" (‹(4mIg_ _ _ _)› [82,82,82,83]82) where
"mIg n P I = Σe K (λk. (Zl_mI K P I k) ⋅r
((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; distinct_pds K n P; ideal (O P n) I;
I ≠ {0O P n)}; I ≠ carrier (O P n)]==> (mIg n P I) ∈ I"
(simp add:mIg_def mI_gen_in_I)
(in Corps) mI_principalTr:"[0 < n; distinct_pds K n P; ideal (O P n) I;
I ≠ {0O P n)}; I ≠ carrier (O P n); x ∈ I]==> ∀j ≤ n. ((ν (P j)) (mIg n P I)) ≤ ((ν (P j)) x)"
(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 ≠ {0O P n)}; I ≠ carrier (O P n)]==>
I = Rxa (O P n) (mIg n P I)"
(frule ring_n_pd[of "n" "P"])
(rule equalityI)
apply (rule subsetI)
apply (frule_tac x = x in mI_principalTr[of "n" "P" "I"],
assumption+)
apply (frule_tac y = x in n_eq_val_eq_idealTr[of "n" "P" "mIg n P I"])
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) ≤ (ν (P j)) x")
apply (frule_tac h = x in Ring.ideal_subset[of "O P n" "I"], assumption+)
apply (frule_tac a = x in Ring.a_in_principal[of "O P n"], assumption+)
apply (simp add:subsetD)
apply (rule Ring.ideal_cont_Rxa[of "O P n" "I" "mIgK n P I"], assumption+)
apply (rule mI_gen_in_I1[of "n" "P" "I"], assumption+)
‹‹prime_n_pd››
(in Corps) prime_n_pd_principal:"[distinct_pds K n P; j ≤ n]==>
(P P n j) = Rxa (O P n) (((Kb n P) j))"
(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 "n" "P"],
assumption+)
apply (case_tac "x = 0")
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+)
apply (simp add:prime_n_pd_def, erule conjE)
apply (thin_tac "ideal (O P n) {x. x ∈ carrier (O P n) ∧ 0 < (ν (P j)) x}")
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 n) ♢p x" and B = "(O P n) ♢p (Kb n P) j"
in subsetD, assumption+)
(simp add:Ring.a_in_principal)
apply (rule Ring.ideal_cont_Rxa[of "O P n" "P P n j" "(Kb n P) j"], assumption+)
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 ≠ {0 P n}; I ≠ carrier (O P n)]==> ∀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.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.