:: O_RING_1 semantic presentation :: Showing IDV graph ... (Click the Palm Trees again to close it)
Lm1:
for n being Nat st n < 1 holds
n = 0
Lm2:
for n being Nat holds
( not n <= 1 or n = 0 or n = 1 )
:: deftheorem Def1 defines .: O_RING_1:def 1 :
Lm3:
for R being non empty doubleLoopStr
for h, f, g being FinSequence of the carrier of R holds
( h = f ^ g iff ( dom h = Seg ((len f) + (len g)) & ( for k being Nat st k in dom f holds
h .: k = f .: k ) & ( for k being Nat st k in dom g holds
h .: ((len f) + k) = g .: k ) ) )
Lm4:
for R being non empty doubleLoopStr
for x being Scalar of R
for f being FinSequence of the carrier of R holds
( f = <*x*> iff ( len f = 1 & f .: 1 = x ) )
Lm5:
for R being non empty doubleLoopStr
for x being Scalar of R
for f being FinSequence of the carrier of R holds (f ^ <*x*>) .: ((len f) + 1) = x
Lm6:
for i being Nat
for R being non empty doubleLoopStr
for f, g being FinSequence of the carrier of R st i <> 0 & i <= len f holds
(f ^ g) .: i = f .: i
:: deftheorem defines ^2 O_RING_1:def 2 :
:: deftheorem defines being_a_square O_RING_1:def 3 :
:: deftheorem Def4 defines being_a_Sum_of_squares O_RING_1:def 4 :
:: deftheorem Def5 defines being_a_sum_of_squares O_RING_1:def 5 :
Lm7:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_square holds
<*x*> is_a_Sum_of_squares
Lm8:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_square holds
x is_a_sum_of_squares
:: deftheorem Def6 defines being_a_Product_of_squares O_RING_1:def 6 :
:: deftheorem Def7 defines being_a_product_of_squares O_RING_1:def 7 :
Lm9:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_square holds
<*x*> is_a_Product_of_squares
Lm10:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_square holds
x is_a_product_of_squares
:: deftheorem Def8 defines being_a_Sum_of_products_of_squares O_RING_1:def 8 :
:: deftheorem Def9 defines being_a_sum_of_products_of_squares O_RING_1:def 9 :
Lm11:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_square holds
<*x*> is_a_Sum_of_products_of_squares
Lm12:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_square holds
x is_a_sum_of_products_of_squares
Lm13:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_product_of_squares holds
<*x*> is_a_Sum_of_products_of_squares
Lm14:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_product_of_squares holds
x is_a_sum_of_products_of_squares
Lm15:
for R being non empty doubleLoopStr
for f being FinSequence of the carrier of R st f is_a_Sum_of_squares holds
f is_a_Sum_of_products_of_squares
Lm16:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_sum_of_squares holds
x is_a_sum_of_products_of_squares
:: deftheorem Def10 defines being_an_Amalgam_of_squares O_RING_1:def 10 :
:: deftheorem Def11 defines being_an_amalgam_of_squares O_RING_1:def 11 :
Lm17:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_square holds
<*x*> is_an_Amalgam_of_squares
Lm18:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_square holds
x is_an_amalgam_of_squares
Lm19:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_product_of_squares holds
<*x*> is_an_Amalgam_of_squares
Lm20:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_product_of_squares holds
x is_an_amalgam_of_squares
:: deftheorem Def12 defines being_a_Sum_of_amalgams_of_squares O_RING_1:def 12 :
:: deftheorem Def13 defines being_a_sum_of_amalgams_of_squares O_RING_1:def 13 :
Lm21:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_square holds
<*x*> is_a_Sum_of_amalgams_of_squares
Lm22:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_square holds
x is_a_sum_of_amalgams_of_squares
Lm23:
for R being non empty doubleLoopStr
for f being FinSequence of the carrier of R st f is_a_Sum_of_squares holds
f is_a_Sum_of_amalgams_of_squares
Lm24:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_sum_of_squares holds
x is_a_sum_of_amalgams_of_squares
Lm25:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_product_of_squares holds
<*x*> is_a_Sum_of_amalgams_of_squares
Lm26:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_product_of_squares holds
x is_a_sum_of_amalgams_of_squares
Lm27:
for R being non empty doubleLoopStr
for f being FinSequence of the carrier of R st f is_a_Sum_of_products_of_squares holds
f is_a_Sum_of_amalgams_of_squares
Lm28:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_sum_of_products_of_squares holds
x is_a_sum_of_amalgams_of_squares
Lm29:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_an_amalgam_of_squares holds
<*x*> is_a_Sum_of_amalgams_of_squares
Lm30:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_an_amalgam_of_squares holds
x is_a_sum_of_amalgams_of_squares
:: deftheorem Def14 defines being_a_generation_from_squares O_RING_1:def 14 :
:: deftheorem Def15 defines generated_from_squares O_RING_1:def 15 :
Lm31:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_square holds
<*x*> is_a_generation_from_squares
Lm32:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_square holds
x is_generated_from_squares
Lm33:
for R being non empty doubleLoopStr
for x being Scalar of R
for f being FinSequence of the carrier of R st f is_a_generation_from_squares & x is_an_amalgam_of_squares holds
f ^ <*x*> is_a_generation_from_squares
Lm34:
for i, j being Nat
for R being non empty doubleLoopStr
for f being FinSequence of the carrier of R st f is_a_generation_from_squares & i <> 0 & i <= len f & j <> 0 & j <= len f holds
f ^ <*((f .: i) + (f .: j))*> is_a_generation_from_squares
Lm35:
for R being non empty doubleLoopStr
for x being Scalar of R
for f being FinSequence of the carrier of R st f is_a_generation_from_squares & x is_a_square holds
f ^ <*x*> is_a_generation_from_squares
Lm36:
for R being non empty doubleLoopStr
for x being Scalar of R
for f being FinSequence of the carrier of R st f is_a_generation_from_squares & x is_a_square holds
(f ^ <*x*>) ^ <*((f .: (len f)) + x)*> is_a_generation_from_squares
Lm37:
for R being non empty doubleLoopStr
for x, y being Scalar of R st x is_generated_from_squares & y is_a_square holds
x + y is_generated_from_squares
Lm38:
for i being Nat
for R being non empty doubleLoopStr
for f being FinSequence of the carrier of R st f is_a_Sum_of_squares & 0 <> i & i <= len f holds
f .: i is_generated_from_squares
Lm39:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_sum_of_squares holds
x is_generated_from_squares
Lm40:
for R being non empty doubleLoopStr
for x being Scalar of R
for f being FinSequence of the carrier of R st f is_a_generation_from_squares & x is_an_amalgam_of_squares holds
(f ^ <*x*>) ^ <*((f .: (len f)) + x)*> is_a_generation_from_squares
Lm41:
for R being non empty doubleLoopStr
for x, y being Scalar of R st x is_generated_from_squares & y is_an_amalgam_of_squares holds
x + y is_generated_from_squares
Lm42:
for R being non empty doubleLoopStr
for f being FinSequence of the carrier of R st f is_an_Amalgam_of_squares holds
f is_a_generation_from_squares
Lm43:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_an_amalgam_of_squares holds
x is_generated_from_squares
Lm44:
for i, j being Nat
for R being non empty doubleLoopStr
for f being FinSequence of the carrier of R st f is_a_generation_from_squares & i <> 0 & i <= len f & j <> 0 & j <= len f holds
f ^ <*((f .: i) * (f .: j))*> is_a_generation_from_squares
Lm45:
for R being non empty doubleLoopStr
for x being Scalar of R
for f being FinSequence of the carrier of R st f is_a_generation_from_squares & x is_a_square holds
(f ^ <*x*>) ^ <*((f .: (len f)) * x)*> is_a_generation_from_squares
Lm46:
for R being non empty doubleLoopStr
for x, y being Scalar of R st x is_generated_from_squares & y is_a_square holds
x * y is_generated_from_squares
Lm47:
for i being Nat
for R being non empty doubleLoopStr
for f being FinSequence of the carrier of R st f is_a_Product_of_squares & 0 <> i & i <= len f holds
f .: i is_generated_from_squares
Lm48:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_product_of_squares holds
x is_generated_from_squares
Lm49:
for R being non empty doubleLoopStr
for x being Scalar of R
for f being FinSequence of the carrier of R st f is_a_generation_from_squares & x is_a_product_of_squares holds
f ^ <*x*> is_a_generation_from_squares
Lm50:
for R being non empty doubleLoopStr
for x being Scalar of R
for f being FinSequence of the carrier of R st f is_a_generation_from_squares & x is_a_product_of_squares holds
(f ^ <*x*>) ^ <*((f .: (len f)) + x)*> is_a_generation_from_squares
Lm51:
for R being non empty doubleLoopStr
for x, y being Scalar of R st x is_generated_from_squares & y is_a_product_of_squares holds
x + y is_generated_from_squares
Lm52:
for i being Nat
for R being non empty doubleLoopStr
for f being FinSequence of the carrier of R st f is_a_Sum_of_products_of_squares & 0 <> i & i <= len f holds
f .: i is_generated_from_squares
Lm53:
for R being non empty doubleLoopStr
for x being Scalar of R st x is_a_sum_of_products_of_squares holds
x is_generated_from_squares
theorem :: O_RING_1:1 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: O_RING_1:2 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: O_RING_1:3 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: O_RING_1:4 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: O_RING_1:5 :: Showing IDV graph ... (Click the Palm Tree again to close it)
Lm54:
for R being non empty doubleLoopStr
for f being FinSequence of the carrier of R st f is_a_Sum_of_amalgams_of_squares holds
for i being Nat st i <> 0 & i <= len f holds
f .: i is_generated_from_squares
theorem :: O_RING_1:6 :: Showing IDV graph ... (Click the Palm Tree again to close it)