src/HOL/Library/Ring_and_Field_Example.thy
changeset 14265 95b42e69436c
parent 11914 bca734def300
equal deleted inserted replaced
14264:3d0c6238162a 14265:95b42e69436c
     1 
     1 
     2 header {* \title{}\subsection{Example: The ordered ring of integers} *}
     2 header {* \title{}\subsection{Example: The ordered ring of integers} *}
     3 
     3 
     4 theory Ring_and_Field_Example = Ring_and_Field:
     4 theory Ring_and_Field_Example = Main:
     5 
     5 
       
     6 text{*The Integers Form an Ordered Ring*}
     6 instance int :: ordered_ring
     7 instance int :: ordered_ring
     7 proof
     8 proof
     8   fix i j k :: int
     9   fix i j k :: int
     9   show "(i + j) + k = i + (j + k)" by simp
    10   show "(i + j) + k = i + (j + k)" by simp
    10   show "i + j = j + i" by simp
    11   show "i + j = j + i" by simp
    13   show "i - j = i + (-j)" by simp
    14   show "i - j = i + (-j)" by simp
    14   show "(i * j) * k = i * (j * k)" by simp
    15   show "(i * j) * k = i * (j * k)" by simp
    15   show "i * j = j * i" by simp
    16   show "i * j = j * i" by simp
    16   show "1 * i = i" by simp
    17   show "1 * i = i" by simp
    17   show "(i + j) * k = i * k + j * k" by (simp add: int_distrib)
    18   show "(i + j) * k = i * k + j * k" by (simp add: int_distrib)
       
    19   show "0 \<noteq> (1::int)" by simp
    18   show "i \<le> j ==> k + i \<le> k + j" by simp
    20   show "i \<le> j ==> k + i \<le> k + j" by simp
    19   show "i < j ==> 0 < k ==> k * i < k * j" by (simp add: zmult_zless_mono2)
    21   show "i < j ==> 0 < k ==> k * i < k * j" by (simp add: zmult_zless_mono2)
    20   show "\<bar>i\<bar> = (if i < 0 then -i else i)" by (simp only: zabs_def)
    22   show "\<bar>i\<bar> = (if i < 0 then -i else i)" by (simp only: zabs_def)
    21 qed
    23 qed
    22 
    24