:: O_RING_3 semantic presentation
Lemma1:
for b1 being Nat st b1 < 1 holds
b1 = 0
Lemma2:
for b1 being Nat st b1 <> 0 holds
1 <= b1
Lemma3:
for b1 being Nat holds
( not b1 <= 1 or b1 = 0 or b1 = 1 )
Lemma4:
for b1 being non empty doubleLoopStr
for b2, b3, b4 being FinSequence of the carrier of b1 holds
( b2 = b3 ^ b4 iff ( dom b2 = Seg ((len b3) + (len b4)) & ( for b5 being Nat st b5 in dom b3 holds
b2 .: b5 = b3 .: b5 ) & ( for b5 being Nat st b5 in dom b4 holds
b2 .: ((len b3) + b5) = b4 .: b5 ) ) )
Lemma5:
for b1 being non empty doubleLoopStr
for b2 being Scalar of b1
for b3 being FinSequence of the carrier of b1 holds
( b3 = <*b2*> iff ( len b3 = 1 & b3 .: 1 = b2 ) )
Lemma6:
for b1 being non empty doubleLoopStr
for b2 being Scalar of b1
for b3 being FinSequence of the carrier of b1 holds (b3 ^ <*b2*>) .: ((len b3) + 1) = b2
Lemma7:
for b1 being Nat
for b2 being non empty doubleLoopStr
for b3, b4 being FinSequence of the carrier of b2 st b1 <> 0 & b1 <= len b3 holds
(b3 ^ b4) .: b1 = b3 .: b1
Lemma8:
for b1 being Nat
for b2 being non empty doubleLoopStr
for b3, b4 being FinSequence of the carrier of b2 st b1 <> 0 & b1 <= len b3 holds
(b4 ^ b3) .: ((len b4) + b1) = b3 .: b1
Lemma9:
for b1 being non empty doubleLoopStr
for b2 being Scalar of b1 st b2 is_a_square holds
<*b2*> is_a_Product_of_squares
Lemma10:
for b1 being non empty doubleLoopStr
for b2 being Scalar of b1 st b2 is_a_square holds
b2 is_a_product_of_squares
Lemma11:
for b1 being non empty doubleLoopStr
for b2 being Scalar of b1 st b2 is_a_square holds
<*b2*> is_an_Amalgam_of_squares
Lemma12:
for b1 being non empty doubleLoopStr
for b2 being Scalar of b1 st b2 is_a_square holds
b2 is_an_amalgam_of_squares
Lemma13:
for b1 being non empty doubleLoopStr
for b2, b3 being FinSequence of the carrier of b1 st b2 is_an_Amalgam_of_squares & b3 is_an_Amalgam_of_squares holds
b2 ^ b3 is_an_Amalgam_of_squares
Lemma14:
for b1 being non empty doubleLoopStr
for b2, b3 being FinSequence of the carrier of b1 st b2 is_a_generation_from_squares & b3 is_a_generation_from_squares holds
b2 ^ b3 is_a_generation_from_squares
Lemma15:
for b1 being non empty doubleLoopStr
for b2 being Scalar of b1
for b3 being FinSequence of the carrier of b1 st b3 is_a_generation_from_squares & b2 is_a_square holds
b3 ^ <*b2*> is_a_generation_from_squares
Lemma16:
for b1 being non empty doubleLoopStr
for b2 being Scalar of b1
for b3 being FinSequence of the carrier of b1 st b3 is_a_generation_from_squares & b2 is_an_amalgam_of_squares holds
b3 ^ <*b2*> is_a_generation_from_squares
Lemma17:
for b1, b2 being Nat
for b3 being non empty doubleLoopStr
for b4 being FinSequence of the carrier of b3 st b4 is_an_Amalgam_of_squares & b1 <> 0 & b1 <= len b4 & b2 <> 0 & b2 <= len b4 holds
b4 ^ <*((b4 .: b1) * (b4 .: b2))*> is_an_Amalgam_of_squares
Lemma18:
for b1, b2 being Nat
for b3 being non empty doubleLoopStr
for b4 being FinSequence of the carrier of b3 st b4 is_a_generation_from_squares & b1 <> 0 & b1 <= len b4 & b2 <> 0 & b2 <= len b4 holds
b4 ^ <*((b4 .: b1) * (b4 .: b2))*> is_a_generation_from_squares
Lemma19:
for b1 being non empty doubleLoopStr
for b2 being Scalar of b1
for b3 being FinSequence of the carrier of b1 st b3 is_a_Product_of_squares & b2 is_a_square holds
b3 ^ <*((b3 .: (len b3)) * b2)*> is_a_Product_of_squares
Lemma20:
for b1 being non empty doubleLoopStr
for b2 being Scalar of b1
for b3 being FinSequence of the carrier of b1 st b3 is_a_generation_from_squares & b2 is_a_square holds
(b3 ^ <*b2*>) ^ <*((b3 .: (len b3)) * b2)*> is_a_generation_from_squares
Lemma21:
for b1 being non empty doubleLoopStr
for b2 being Scalar of b1
for b3 being FinSequence of the carrier of b1 st b3 is_a_generation_from_squares & b2 is_an_amalgam_of_squares holds
(b3 ^ <*b2*>) ^ <*((b3 .: (len b3)) * b2)*> is_a_generation_from_squares
Lemma22:
for b1 being non empty doubleLoopStr
for b2, b3 being FinSequence of the carrier of b1 st b2 is_an_Amalgam_of_squares & b3 is_an_Amalgam_of_squares holds
(b2 ^ b3) ^ <*((b2 .: (len b2)) * (b3 .: (len b3)))*> is_an_Amalgam_of_squares
Lemma23:
for b1 being non empty doubleLoopStr
for b2, b3 being FinSequence of the carrier of b1 st b2 is_a_generation_from_squares & b3 is_a_generation_from_squares holds
(b2 ^ b3) ^ <*((b2 .: (len b2)) * (b3 .: (len b3)))*> is_a_generation_from_squares
theorem Th1: :: O_RING_3:1
theorem Th2: :: O_RING_3:2
Lemma24:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_square & b3 is_a_product_of_squares holds
b2 * b3 is_an_amalgam_of_squares
Lemma25:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_square & b3 is_an_amalgam_of_squares holds
b2 * b3 is_an_amalgam_of_squares
theorem Th3: :: O_RING_3:3
Lemma26:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_product_of_squares & b3 is_a_product_of_squares holds
b2 * b3 is_an_amalgam_of_squares
Lemma27:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_product_of_squares & b3 is_an_amalgam_of_squares holds
b2 * b3 is_an_amalgam_of_squares
theorem Th4: :: O_RING_3:4
Lemma28:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_an_amalgam_of_squares & b3 is_a_square holds
b2 * b3 is_an_amalgam_of_squares
Lemma29:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_an_amalgam_of_squares & b3 is_a_product_of_squares holds
b2 * b3 is_an_amalgam_of_squares
Lemma30:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_an_amalgam_of_squares & b3 is_an_amalgam_of_squares holds
b2 * b3 is_an_amalgam_of_squares
theorem Th5: :: O_RING_3:5
Lemma31:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_square & b3 is_a_sum_of_squares holds
b2 * b3 is_generated_from_squares
Lemma32:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_square & b3 is_a_sum_of_products_of_squares holds
b2 * b3 is_generated_from_squares
Lemma33:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_square & b3 is_a_sum_of_amalgams_of_squares holds
b2 * b3 is_generated_from_squares
Lemma34:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_square & b3 is_generated_from_squares holds
b2 * b3 is_generated_from_squares
theorem Th6: :: O_RING_3:6
Lemma35:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_squares & b3 is_a_square holds
b2 * b3 is_generated_from_squares
Lemma36:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_squares & b3 is_a_sum_of_squares holds
b2 * b3 is_generated_from_squares
Lemma37:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_squares & b3 is_a_product_of_squares holds
b2 * b3 is_generated_from_squares
Lemma38:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_squares & b3 is_a_sum_of_products_of_squares holds
b2 * b3 is_generated_from_squares
Lemma39:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_squares & b3 is_an_amalgam_of_squares holds
b2 * b3 is_generated_from_squares
Lemma40:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_squares & b3 is_a_sum_of_amalgams_of_squares holds
b2 * b3 is_generated_from_squares
Lemma41:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_squares & b3 is_generated_from_squares holds
b2 * b3 is_generated_from_squares
theorem Th7: :: O_RING_3:7
Lemma42:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_product_of_squares & b3 is_a_sum_of_squares holds
b2 * b3 is_generated_from_squares
Lemma43:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_product_of_squares & b3 is_a_sum_of_products_of_squares holds
b2 * b3 is_generated_from_squares
Lemma44:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_product_of_squares & b3 is_a_sum_of_amalgams_of_squares holds
b2 * b3 is_generated_from_squares
Lemma45:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_product_of_squares & b3 is_generated_from_squares holds
b2 * b3 is_generated_from_squares
theorem Th8: :: O_RING_3:8
Lemma46:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_products_of_squares & b3 is_a_square holds
b2 * b3 is_generated_from_squares
Lemma47:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_products_of_squares & b3 is_a_sum_of_squares holds
b2 * b3 is_generated_from_squares
Lemma48:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_products_of_squares & b3 is_a_product_of_squares holds
b2 * b3 is_generated_from_squares
Lemma49:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_products_of_squares & b3 is_a_sum_of_products_of_squares holds
b2 * b3 is_generated_from_squares
Lemma50:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_products_of_squares & b3 is_an_amalgam_of_squares holds
b2 * b3 is_generated_from_squares
Lemma51:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_products_of_squares & b3 is_a_sum_of_amalgams_of_squares holds
b2 * b3 is_generated_from_squares
Lemma52:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_products_of_squares & b3 is_generated_from_squares holds
b2 * b3 is_generated_from_squares
theorem Th9: :: O_RING_3:9
Lemma53:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_an_amalgam_of_squares & b3 is_a_sum_of_squares holds
b2 * b3 is_generated_from_squares
Lemma54:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_an_amalgam_of_squares & b3 is_a_sum_of_products_of_squares holds
b2 * b3 is_generated_from_squares
Lemma55:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_an_amalgam_of_squares & b3 is_a_sum_of_amalgams_of_squares holds
b2 * b3 is_generated_from_squares
Lemma56:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_an_amalgam_of_squares & b3 is_generated_from_squares holds
b2 * b3 is_generated_from_squares
theorem Th10: :: O_RING_3:10
Lemma57:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_amalgams_of_squares & b3 is_a_square holds
b2 * b3 is_generated_from_squares
Lemma58:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_amalgams_of_squares & b3 is_a_sum_of_squares holds
b2 * b3 is_generated_from_squares
Lemma59:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_amalgams_of_squares & b3 is_a_product_of_squares holds
b2 * b3 is_generated_from_squares
Lemma60:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_amalgams_of_squares & b3 is_a_sum_of_products_of_squares holds
b2 * b3 is_generated_from_squares
Lemma61:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_amalgams_of_squares & b3 is_an_amalgam_of_squares holds
b2 * b3 is_generated_from_squares
Lemma62:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_amalgams_of_squares & b3 is_a_sum_of_amalgams_of_squares holds
b2 * b3 is_generated_from_squares
Lemma63:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_a_sum_of_amalgams_of_squares & b3 is_generated_from_squares holds
b2 * b3 is_generated_from_squares
theorem Th11: :: O_RING_3:11
Lemma64:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_generated_from_squares & b3 is_a_square holds
b2 * b3 is_generated_from_squares
Lemma65:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_generated_from_squares & b3 is_an_amalgam_of_squares holds
b2 * b3 is_generated_from_squares
Lemma66:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_generated_from_squares & b3 is_generated_from_squares holds
b2 * b3 is_generated_from_squares
Lemma67:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_generated_from_squares & b3 is_a_sum_of_squares holds
b2 * b3 is_generated_from_squares
Lemma68:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_generated_from_squares & b3 is_a_product_of_squares holds
b2 * b3 is_generated_from_squares
Lemma69:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_generated_from_squares & b3 is_a_sum_of_products_of_squares holds
b2 * b3 is_generated_from_squares
Lemma70:
for b1 being non empty doubleLoopStr
for b2, b3 being Scalar of b1 st b2 is_generated_from_squares & b3 is_a_sum_of_amalgams_of_squares holds
b2 * b3 is_generated_from_squares
theorem Th12: :: O_RING_3:12