# HG changeset patch # User haftmann # Date 1461005773 -7200 # Node ID 92680537201f7ed2db8b79a263674a85563a4bae # Parent adeac19dd410dc4f0dca6f8d722e9ad8a2dd12d0 capitalized GCD and LCM syntax diff -r adeac19dd410 -r 92680537201f src/HOL/GCD.thy --- a/src/HOL/GCD.thy Mon Apr 18 20:56:11 2016 +0200 +++ b/src/HOL/GCD.thy Mon Apr 18 20:56:13 2016 +0200 @@ -44,39 +44,39 @@ end class Gcd = gcd + - fixes Gcd :: "'a set \ 'a" ("Gcd") - and Lcm :: "'a set \ 'a" ("Lcm") + fixes Gcd :: "'a set \ 'a" + and Lcm :: "'a set \ 'a" begin -abbreviation GCD :: "'b set \ ('b \ 'a) \ 'a" +abbreviation GREATEST_COMMON_DIVISOR :: "'b set \ ('b \ 'a) \ 'a" where - "GCD A f \ Gcd (f ` A)" + "GREATEST_COMMON_DIVISOR A f \ Gcd (f ` A)" -abbreviation LCM :: "'b set \ ('b \ 'a) \ 'a" +abbreviation LEAST_COMMON_MULTIPLE :: "'b set \ ('b \ 'a) \ 'a" where - "LCM A f \ Lcm (f ` A)" + "LEAST_COMMON_MULTIPLE A f \ Lcm (f ` A)" end syntax - "_GCD1" :: "pttrns \ 'b \ 'b" ("(3Gcd _./ _)" [0, 10] 10) - "_GCD" :: "pttrn \ 'a set \ 'b \ 'b" ("(3Gcd _\_./ _)" [0, 0, 10] 10) - "_LCM1" :: "pttrns \ 'b \ 'b" ("(3Lcm _./ _)" [0, 10] 10) - "_LCM" :: "pttrn \ 'a set \ 'b \ 'b" ("(3Lcm _\_./ _)" [0, 0, 10] 10) + "_GCD1" :: "pttrns \ 'b \ 'b" ("(3GCD _./ _)" [0, 10] 10) + "_GCD" :: "pttrn \ 'a set \ 'b \ 'b" ("(3GCD _\_./ _)" [0, 0, 10] 10) + "_LCM1" :: "pttrns \ 'b \ 'b" ("(3LCM _./ _)" [0, 10] 10) + "_LCM" :: "pttrn \ 'a set \ 'b \ 'b" ("(3LCM _\_./ _)" [0, 0, 10] 10) translations - "Gcd x y. B" \ "Gcd x. Gcd y. B" - "Gcd x. B" \ "CONST GCD CONST UNIV (\x. B)" - "Gcd x. B" \ "Gcd x \ CONST UNIV. B" - "Gcd x\A. B" \ "CONST GCD A (\x. B)" - "Lcm x y. B" \ "Lcm x. Lcm y. B" - "Lcm x. B" \ "CONST LCM CONST UNIV (\x. B)" - "Lcm x. B" \ "Lcm x \ CONST UNIV. B" - "Lcm x\A. B" \ "CONST LCM A (\x. B)" + "GCD x y. B" \ "GCD x. GCD y. B" + "GCD x. B" \ "CONST GREATEST_COMMON_DIVISOR CONST UNIV (\x. B)" + "GCD x. B" \ "GCD x \ CONST UNIV. B" + "GCD x\A. B" \ "CONST GREATEST_COMMON_DIVISOR A (\x. B)" + "LCM x y. B" \ "LCM x. LCM y. B" + "LCM x. B" \ "CONST LEAST_COMMON_MULTIPLE CONST UNIV (\x. B)" + "LCM x. B" \ "LCM x \ CONST UNIV. B" + "LCM x\A. B" \ "CONST LEAST_COMMON_MULTIPLE A (\x. B)" print_translation \ - [Syntax_Trans.preserve_binder_abs2_tr' @{const_syntax GCD} @{syntax_const "_GCD"}, - Syntax_Trans.preserve_binder_abs2_tr' @{const_syntax LCM} @{syntax_const "_LCM"}] + [Syntax_Trans.preserve_binder_abs2_tr' @{const_syntax GREATEST_COMMON_DIVISOR} @{syntax_const "_GCD"}, + Syntax_Trans.preserve_binder_abs2_tr' @{const_syntax LEAST_COMMON_MULTIPLE} @{syntax_const "_LCM"}] \ \ \to avoid eta-contraction of body\ class semiring_gcd = normalization_semidom + gcd + @@ -2166,10 +2166,10 @@ begin definition - "Lcm M = int (Lcm m\M. (nat \ abs) m)" + "Lcm M = int (LCM m\M. (nat \ abs) m)" definition - "Gcd M = int (Gcd m\M. (nat \ abs) m)" + "Gcd M = int (GCD m\M. (nat \ abs) m)" instance by standard (auto intro!: Gcd_dvd Gcd_greatest simp add: Gcd_int_def