src/HOL/NumberTheory/Gauss.thy
changeset 21404 eb85850d3eb7
parent 21288 2c7d3d120418
child 22274 ce1459004c8d
equal deleted inserted replaced
21403:dd58f13a8eb4 21404:eb85850d3eb7
    16   assumes p_a_relprime: "~[a = 0](mod p)"
    16   assumes p_a_relprime: "~[a = 0](mod p)"
    17   assumes a_nonzero:    "0 < a"
    17   assumes a_nonzero:    "0 < a"
    18 begin
    18 begin
    19 
    19 
    20 definition
    20 definition
    21   A :: "int set"
    21   A :: "int set" where
    22   "A = {(x::int). 0 < x & x \<le> ((p - 1) div 2)}"
    22   "A = {(x::int). 0 < x & x \<le> ((p - 1) div 2)}"
    23 
    23 
    24   B :: "int set"
    24 definition
       
    25   B :: "int set" where
    25   "B = (%x. x * a) ` A"
    26   "B = (%x. x * a) ` A"
    26 
    27 
    27   C :: "int set"
    28 definition
       
    29   C :: "int set" where
    28   "C = StandardRes p ` B"
    30   "C = StandardRes p ` B"
    29 
    31 
    30   D :: "int set"
    32 definition
       
    33   D :: "int set" where
    31   "D = C \<inter> {x. x \<le> ((p - 1) div 2)}"
    34   "D = C \<inter> {x. x \<le> ((p - 1) div 2)}"
    32 
    35 
    33   E :: "int set"
    36 definition
       
    37   E :: "int set" where
    34   "E = C \<inter> {x. ((p - 1) div 2) < x}"
    38   "E = C \<inter> {x. ((p - 1) div 2) < x}"
    35 
    39 
    36   F :: "int set"
    40 definition
       
    41   F :: "int set" where
    37   "F = (%x. (p - x)) ` E"
    42   "F = (%x. (p - x)) ` E"
    38 
    43 
    39 
    44 
    40 subsection {* Basic properties of p *}
    45 subsection {* Basic properties of p *}
    41 
    46