# HG changeset patch # User wenzelm # Date 1333999787 -7200 # Node ID c5be1120980d88dda05c2c83a56adbf1cc6b3667 # Parent 63c05991882e73aa474e4f022eab4806178d6baf tuned proofs; diff -r 63c05991882e -r c5be1120980d src/HOL/Algebra/Ideal.thy --- a/src/HOL/Algebra/Ideal.thy Mon Apr 09 20:57:23 2012 +0200 +++ b/src/HOL/Algebra/Ideal.thy Mon Apr 09 21:29:47 2012 +0200 @@ -60,7 +60,7 @@ lemma principalidealI: fixes R (structure) assumes "ideal I R" - assumes generate: "\i \ carrier R. I = Idl {i}" + and generate: "\i \ carrier R. I = Idl {i}" shows "principalideal I R" proof - interpret ideal I R by fact @@ -82,7 +82,7 @@ lemma maximalidealI: fixes R assumes "ideal I R" - assumes I_notcarr: "carrier R \ I" + and I_notcarr: "carrier R \ I" and I_maximal: "\J. \ideal J R; I \ J; J \ carrier R\ \ J = I \ J = carrier R" shows "maximalideal I R" proof - @@ -105,8 +105,8 @@ lemma primeidealI: fixes R (structure) assumes "ideal I R" - assumes "cring R" - assumes I_notcarr: "carrier R \ I" + and "cring R" + and I_notcarr: "carrier R \ I" and I_prime: "\a b. \a \ carrier R; b \ carrier R; a \ b \ I\ \ a \ I \ b \ I" shows "primeideal I R" proof - @@ -120,8 +120,8 @@ lemma primeidealI2: fixes R (structure) assumes "additive_subgroup I R" - assumes "cring R" - assumes I_l_closed: "\a x. \a \ I; x \ carrier R\ \ x \ a \ I" + and "cring R" + and I_l_closed: "\a x. \a \ I; x \ carrier R\ \ x \ a \ I" and I_r_closed: "\a x. \a \ I; x \ carrier R\ \ a \ x \ I" and I_notcarr: "carrier R \ I" and I_prime: "\a b. \a \ carrier R; b \ carrier R; a \ b \ I\ \ a \ I \ b \ I" @@ -378,8 +378,8 @@ with a show "H \ I" by simp next fix x - assume HI: "H \ I" - from Iideal and HI have "I \ {I. ideal I R \ H \ I}" by fast + assume "H \ I" + with Iideal have "I \ {I. ideal I R \ H \ I}" by fast then show "Idl H \ I" unfolding genideal_def by fast qed diff -r 63c05991882e -r c5be1120980d src/HOL/Algebra/Ring.thy --- a/src/HOL/Algebra/Ring.thy Mon Apr 09 20:57:23 2012 +0200 +++ b/src/HOL/Algebra/Ring.thy Mon Apr 09 21:29:47 2012 +0200 @@ -423,13 +423,10 @@ proof (rule, rule) fix x assume xcarr: "x \ carrier R" - from xcarr - have "x = x \ \" by simp - from this and onezero - have "x = x \ \" by simp - from this and xcarr - have "x = \" by simp - thus "x \ {\}" by fast + from xcarr have "x = x \ \" by simp + with onezero have "x = x \ \" by simp + with xcarr have "x = \" by simp + then show "x \ {\}" by fast qed fast lemma one_zeroI: @@ -550,11 +547,9 @@ assumes field_Units: "Units R = carrier R - {\}" shows "field R" proof - from field_Units - have a: "\ \ Units R" by fast - have "\ \ Units R" by fast - from this and a - show "\ \ \" by force + from field_Units have "\ \ Units R" by fast + moreover have "\ \ Units R" by fast + ultimately show "\ \ \" by force next fix a b assume acarr: "a \ carrier R" @@ -563,21 +558,15 @@ show "a = \ \ b = \" proof (cases "a = \", simp) assume "a \ \" - from this and field_Units and acarr - have aUnit: "a \ Units R" by fast - from bcarr - have "b = \ \ b" by algebra - also from aUnit acarr - have "... = (inv a \ a) \ b" by simp + with field_Units and acarr have aUnit: "a \ Units R" by fast + from bcarr have "b = \ \ b" by algebra + also from aUnit acarr have "... = (inv a \ a) \ b" by simp also from acarr bcarr aUnit[THEN Units_inv_closed] have "... = (inv a) \ (a \ b)" by algebra - also from ab and acarr bcarr aUnit - have "... = (inv a) \ \" by simp - also from aUnit[THEN Units_inv_closed] - have "... = \" by algebra - finally - have "b = \" . - thus "a = \ \ b = \" by simp + also from ab and acarr bcarr aUnit have "... = (inv a) \ \" by simp + also from aUnit[THEN Units_inv_closed] have "... = \" by algebra + finally have "b = \" . + then show "a = \ \ b = \" by simp qed qed (rule field_Units) @@ -593,16 +582,10 @@ fix x assume xcarr: "x \ carrier R" and "x \ \" - from this - have "\y\carrier R. x \ y = \" by (rule invex) - from this - obtain y - where ycarr: "y \ carrier R" - and xy: "x \ y = \" - by fast + then have "\y\carrier R. x \ y = \" by (rule invex) + then obtain y where ycarr: "y \ carrier R" and xy: "x \ y = \" by fast from xy xcarr ycarr have "y \ x = \" by (simp add: m_comm) - from ycarr and this and xy - show "\y\carrier R. y \ x = \ \ x \ y = \" by fast + with ycarr and xy show "\y\carrier R. y \ x = \ \ x \ y = \" by fast qed