(* Title: HOL/Decision_Procs/ex/Commutative_Ring_Ex.thy Author: Bernhard Haeupler, Stefan Berghofer *)
section‹Some examples demonstrating the ring and field methods›
theory Commutative_Ring_Ex imports"../Reflective_Field" begin
lemma"4 * (x::int) ^ 5 * y ^ 3 * x ^ 2 * 3 + x * z + 3 ^ 5 = 12 * x ^ 7 * y ^ 3 + z * x + 243" by ring
lemma (in cring) assumes"x ∈ carrier R""y ∈ carrier R""z ∈ carrier R" shows"«4¬⊗ x [^] (5::nat) ⊗ y [^] (3::nat) ⊗ x [^] (2::nat) ⊗«3¬⊕ x ⊗ z ⊕«3¬ [^] (5::nat) = «12¬⊗ x [^] (7::nat) ⊗ y [^] (3::nat) ⊕ z ⊗ x ⊕«243¬" by ring
lemma"((x::int) + y) ^ 2 = x ^ 2 + y ^ 2 + 2 * x * y" by ring
lemma (in cring) assumes"x ∈ carrier R""y ∈ carrier R" shows"(x ⊕ y) [^] (2::nat) = x [^] (2::nat) ⊕ y [^] (2::nat) ⊕«2¬⊗ x ⊗ y" by ring
lemma"((x::int) + y) ^ 3 = x ^ 3 + y ^ 3 + 3 * x ^ 2 * y + 3 * y ^ 2 * x" by ring
lemma (in cring) assumes"x ∈ carrier R""y ∈ carrier R" shows"(x ⊕ y) [^] (3::nat) = x [^] (3::nat) ⊕ y [^] (3::nat) ⊕«3¬⊗ x [^] (2::nat) ⊗ y ⊕«3¬⊗ y [^] (2::nat) ⊗x" by ring
lemma"((x::int) - y) ^ 3 = x ^ 3 + 3 * x * y ^ 2 + (- 3) * y * x ^ 2 - y ^ 3" by ring
lemma (in cring) assumes"x ∈ carrier R""y ∈ carrier R" shows"(x ⊖ y) [^] (3::nat) = x [^] (3::nat) ⊕«3¬⊗ x ⊗ y [^] (2::nat) ⊕ (⊖«3¬) ⊗ y ⊗ x [^] (2::nat) ⊖ y [^] (3::nat)" by ring
lemma"((x::int) - y) ^ 2 = x ^ 2 + y ^ 2 - 2 * x * y" by ring
lemma (in cring) assumes"x ∈ carrier R""y ∈ carrier R" shows"(x ⊖ y) [^] (2::nat) = x [^] (2::nat) ⊕ y [^] (2::nat) ⊖«2¬⊗ x ⊗ y" by ring
lemma" ((a::int) + b + c) ^ 2 = a ^ 2 + b ^ 2 + c ^ 2 + 2 * a * b + 2 * b * c + 2 * a * c" by ring
lemma (in cring) assumes"a ∈ carrier R""b ∈ carrier R""c ∈ carrier R" shows" (a ⊕ b ⊕ c) [^] (2::nat) = a [^] (2::nat) ⊕ b [^] (2::nat) ⊕ c [^] (2::nat) ⊕«2¬⊗ a ⊗ b ⊕«2¬⊗ b ⊗ c ⊕«2¬⊗ a⊗ c" by ring
lemma"((a::int) - b - c) ^ 2 = a ^ 2 + b ^ 2 + c ^ 2 - 2 * a * b + 2 * b * c - 2 * a * c" by ring
lemma (in cring) assumes"a ∈ carrier R""b ∈ carrier R""c ∈ carrier R" shows"(a ⊖ b ⊖ c) [^] (2::nat) = a [^] (2::nat) ⊕ b [^] (2::nat) ⊕ c [^] (2::nat) ⊖«2¬⊗ a ⊗ b ⊕«2¬⊗ b ⊗ c ⊖«2¬⊗ a⊗ c" by ring
lemma"(a::int) * b + a * c = a * (b + c)" by ring
lemma (in cring) assumes"a ∈ carrier R""b ∈ carrier R""c ∈ carrier R" shows"a ⊗ b ⊕ a ⊗ c = a ⊗ (b ⊕ c)" by ring
lemma"(a::int) ^ 2 - b ^ 2 = (a - b) * (a + b)" by ring
lemma (in cring) assumes"a ∈ carrier R""b ∈ carrier R" shows"a [^] (2::nat) ⊖ b [^] (2::nat) = (a ⊖ b) ⊗ (a ⊕ b)" by ring
lemma"(a::int) ^ 3 - b ^ 3 = (a - b) * (a ^ 2 + a * b + b ^ 2)" by ring
lemma (in cring) assumes"a ∈ carrier R""b ∈ carrier R" shows"a [^] (3::nat) ⊖ b [^] (3::nat) = (a ⊖ b) ⊗ (a [^] (2::nat) ⊕ a ⊗ b ⊕ b [^] (2::nat))" by ring
lemma"(a::int) ^ 3 + b ^ 3 = (a + b) * (a ^ 2 - a * b + b ^ 2)" by ring
lemma (in cring) assumes"a ∈ carrier R""b ∈ carrier R" shows"a [^] (3::nat) ⊕ b [^] (3::nat) = (a ⊕ b) ⊗ (a [^] (2::nat) ⊖ a ⊗ b ⊕ b [^] (2::nat))" by ring
lemma"(a::int) ^ 4 - b ^ 4 = (a - b) * (a + b) * (a ^ 2 + b ^ 2)" by ring
lemma (in cring) assumes"a ∈ carrier R""b ∈ carrier R" shows"a [^] (4::nat) ⊖ b [^] (4::nat) = (a ⊖ b) ⊗ (a ⊕ b) ⊗ (a [^] (2::nat) ⊕ b [^] (2::nat))" by ring
lemma"(a::int) ^ 10 - b ^ 10 = (a - b) * (a ^ 9 + a ^ 8 * b + a ^ 7 * b ^ 2 + a ^ 6 * b ^ 3 + a ^ 5 * b ^ 4 + a ^ 4 * b ^ 5 + a ^ 3 * b ^ 6 + a ^ 2 * b ^ 7 + a * b ^ 8 + b ^ 9)" by ring
lemma (in cring) assumes"a ∈ carrier R""b ∈ carrier R" shows"a [^] (10::nat) ⊖ b [^] (10::nat) = (a ⊖ b) ⊗ (a [^] (9::nat) ⊕ a [^] (8::nat) ⊗ b ⊕ a [^] (7::nat) ⊗ b [^] (2::nat)⊕ a [^] (6::nat) ⊗ b [^] (3::nat) ⊕ a [^] (5::nat) ⊗ b [^] (4::nat) ⊕ a [^] (4::nat) ⊗ b [^] (5::nat) ⊕ a [^] (3::nat) ⊗ b [^] (6::nat) ⊕ a [^] (2::nat) ⊗ b [^] (7::nat) ⊕ a ⊗ b [^] (8::nat) ⊕ b [^] (9::nat))" by ring
lemma"(x::'a::field) ≠ 0 ==> (1 - 1 / x) * x - x + 1 = 0" by field
lemma (in field) assumes"x ∈ carrier R" shows"x ≠0==> (1⊖1⊘ x) ⊗ x ⊖ x ⊕1 = 0" by field
end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-04-27)
¤
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.