Structure gcdsetTheory


Source File Identifier index Theory binding index

signature gcdsetTheory =
sig
  type thm = Thm.thm
  
  (*  Definitions  *)
    val big_gcd_def : thm
    val big_lcm_def : thm
    val coprimes_def : thm
    val gcdset_def : thm
  
  (*  Theorems  *)
    val big_gcd_empty : thm
    val big_gcd_insert : thm
    val big_gcd_is_common_divisor : thm
    val big_gcd_is_greatest_common_divisor : thm
    val big_gcd_map_times : thm
    val big_gcd_positive : thm
    val big_gcd_reduction : thm
    val big_gcd_sing : thm
    val big_gcd_two : thm
    val big_lcm_empty : thm
    val big_lcm_insert : thm
    val big_lcm_is_common_multiple : thm
    val big_lcm_is_least_common_multiple : thm
    val big_lcm_map_times : thm
    val big_lcm_positive : thm
    val big_lcm_reduction : thm
    val big_lcm_sing : thm
    val big_lcm_two : thm
    val coprimes_0 : thm
    val coprimes_1 : thm
    val coprimes_alt : thm
    val coprimes_element : thm
    val coprimes_element_alt : thm
    val coprimes_element_less : thm
    val coprimes_eq_empty : thm
    val coprimes_finite : thm
    val coprimes_has_1 : thm
    val coprimes_has_last_but_1 : thm
    val coprimes_max : thm
    val coprimes_no_0 : thm
    val coprimes_subset : thm
    val coprimes_with_last : thm
    val coprimes_without_last : thm
    val gcdset_EMPTY : thm
    val gcdset_INSERT : thm
    val gcdset_divides : thm
    val gcdset_greatest : thm
    val natural_0 : thm
    val natural_1 : thm
    val natural_card : thm
    val natural_cofactor_natural : thm
    val natural_cofactor_natural_reduced : thm
    val natural_divisor_natural : thm
    val natural_element : thm
    val natural_finite : thm
    val natural_has_1 : thm
    val natural_has_last : thm
    val natural_not_0 : thm
    val natural_property : thm
    val natural_suc : thm
(*
   [gcd] Parent theory of "gcdset"
   
   [pred_set] Parent theory of "gcdset"
   
   [big_gcd_def]  Definition
      
      ⊢ ∀s. big_gcd s = ITSET gcd s 0
   
   [big_lcm_def]  Definition
      
      ⊢ ∀s. big_lcm s = ITSET lcm s 1
   
   [coprimes_def]  Definition
      
      ⊢ ∀n. coprimes n = {j | j ∈ natural n ∧ coprime j n}
   
   [gcdset_def]  Definition
      
      ⊢ ∀s. gcdset s =
            if s = ∅ ∨ s = {0} then 0
            else
              MAX_SET
                ({n | n ≤ MIN_SET (s DELETE 0)} ∩
                 {d | ∀e. e ∈ s ⇒ d divides e})
   
   [big_gcd_empty]  Theorem
      
      ⊢ big_gcd ∅ = 0
   
   [big_gcd_insert]  Theorem
      
      ⊢ ∀s. FINITE s ⇒ ∀x. big_gcd (x INSERT s) = gcd x (big_gcd s)
   
   [big_gcd_is_common_divisor]  Theorem
      
      ⊢ ∀s. FINITE s ⇒ ∀x. x ∈ s ⇒ big_gcd s divides x
   
   [big_gcd_is_greatest_common_divisor]  Theorem
      
      ⊢ ∀s. FINITE s ⇒ ∀m. (∀x. x ∈ s ⇒ m divides x) ⇒ m divides big_gcd s
   
   [big_gcd_map_times]  Theorem
      
      ⊢ ∀s. FINITE s ∧ s ≠ ∅ ⇒ ∀k. big_gcd (IMAGE ($* k) s) = k * big_gcd s
   
   [big_gcd_positive]  Theorem
      
      ⊢ ∀s. FINITE s ∧ s ≠ ∅ ∧ (∀x. x ∈ s ⇒ 0 < x) ⇒ 0 < big_gcd s
   
   [big_gcd_reduction]  Theorem
      
      ⊢ ∀s x. FINITE s ∧ x ∉ s ⇒ big_gcd (x INSERT s) = gcd x (big_gcd s)
   
   [big_gcd_sing]  Theorem
      
      ⊢ ∀x. big_gcd {x} = x
   
   [big_gcd_two]  Theorem
      
      ⊢ ∀x y. big_gcd {x; y} = gcd x y
   
   [big_lcm_empty]  Theorem
      
      ⊢ big_lcm ∅ = 1
   
   [big_lcm_insert]  Theorem
      
      ⊢ ∀s. FINITE s ⇒ ∀x. big_lcm (x INSERT s) = lcm x (big_lcm s)
   
   [big_lcm_is_common_multiple]  Theorem
      
      ⊢ ∀s. FINITE s ⇒ ∀x. x ∈ s ⇒ x divides big_lcm s
   
   [big_lcm_is_least_common_multiple]  Theorem
      
      ⊢ ∀s. FINITE s ⇒ ∀m. (∀x. x ∈ s ⇒ x divides m) ⇒ big_lcm s divides m
   
   [big_lcm_map_times]  Theorem
      
      ⊢ ∀s. FINITE s ∧ s ≠ ∅ ⇒ ∀k. big_lcm (IMAGE ($* k) s) = k * big_lcm s
   
   [big_lcm_positive]  Theorem
      
      ⊢ ∀s. FINITE s ⇒ (∀x. x ∈ s ⇒ 0 < x) ⇒ 0 < big_lcm s
   
   [big_lcm_reduction]  Theorem
      
      ⊢ ∀s x. FINITE s ∧ x ∉ s ⇒ big_lcm (x INSERT s) = lcm x (big_lcm s)
   
   [big_lcm_sing]  Theorem
      
      ⊢ ∀x. big_lcm {x} = x
   
   [big_lcm_two]  Theorem
      
      ⊢ ∀x y. big_lcm {x; y} = lcm x y
   
   [coprimes_0]  Theorem
      
      ⊢ coprimes 0 = ∅
   
   [coprimes_1]  Theorem
      
      ⊢ coprimes 1 = {1}
   
   [coprimes_alt]  Theorem
      
      ⊢ ∀n. coprimes n = natural n ∩ {j | coprime j n}
   
   [coprimes_element]  Theorem
      
      ⊢ ∀n j. j ∈ coprimes n ⇔ 0 < j ∧ j ≤ n ∧ coprime j n
   
   [coprimes_element_alt]  Theorem
      
      ⊢ ∀n. 1 < n ⇒ ∀j. j ∈ coprimes n ⇔ j < n ∧ coprime j n
   
   [coprimes_element_less]  Theorem
      
      ⊢ ∀n. 1 < n ⇒ ∀j. j ∈ coprimes n ⇒ j < n
   
   [coprimes_eq_empty]  Theorem
      
      ⊢ ∀n. coprimes n = ∅ ⇔ n = 0
   
   [coprimes_finite]  Theorem
      
      ⊢ ∀n. FINITE (coprimes n)
   
   [coprimes_has_1]  Theorem
      
      ⊢ ∀n. 0 < n ⇒ 1 ∈ coprimes n
   
   [coprimes_has_last_but_1]  Theorem
      
      ⊢ ∀n. 1 < n ⇒ n − 1 ∈ coprimes n
   
   [coprimes_max]  Theorem
      
      ⊢ ∀n. 1 < n ⇒ MAX_SET (coprimes n) = n − 1
   
   [coprimes_no_0]  Theorem
      
      ⊢ ∀n. 0 ∉ coprimes n
   
   [coprimes_subset]  Theorem
      
      ⊢ ∀n. coprimes n ⊆ natural n
   
   [coprimes_with_last]  Theorem
      
      ⊢ ∀n. n ∈ coprimes n ⇔ n = 1
   
   [coprimes_without_last]  Theorem
      
      ⊢ ∀n. 1 < n ⇒ n ∉ coprimes n
   
   [gcdset_EMPTY]  Theorem
      
      ⊢ gcdset ∅ = 0
   
   [gcdset_INSERT]  Theorem
      
      ⊢ gcdset (x INSERT s) = gcd x (gcdset s)
   
   [gcdset_divides]  Theorem
      
      ⊢ ∀e. e ∈ s ⇒ gcdset s divides e
   
   [gcdset_greatest]  Theorem
      
      ⊢ (∀e. e ∈ s ⇒ g divides e) ⇒ g divides gcdset s
   
   [natural_0]  Theorem
      
      ⊢ natural 0 = ∅
   
   [natural_1]  Theorem
      
      ⊢ natural 1 = {1}
   
   [natural_card]  Theorem
      
      ⊢ ∀n. CARD (natural n) = n
   
   [natural_cofactor_natural]  Theorem
      
      ⊢ ∀n a b.
          0 < n ∧ 0 < a ∧ b ∈ natural n ∧ a divides b ⇒ b DIV a ∈ natural n
   
   [natural_cofactor_natural_reduced]  Theorem
      
      ⊢ ∀n a b.
          0 < n ∧ a divides n ∧ b ∈ natural n ∧ a divides b ⇒
          b DIV a ∈ natural (n DIV a)
   
   [natural_divisor_natural]  Theorem
      
      ⊢ ∀n a b. 0 < n ∧ a ∈ natural n ∧ b divides a ⇒ b ∈ natural n
   
   [natural_element]  Theorem
      
      ⊢ ∀n j. j ∈ natural n ⇔ 0 < j ∧ j ≤ n
   
   [natural_finite]  Theorem
      
      ⊢ ∀n. FINITE (natural n)
   
   [natural_has_1]  Theorem
      
      ⊢ ∀n. 0 < n ⇒ 1 ∈ natural n
   
   [natural_has_last]  Theorem
      
      ⊢ ∀n. 0 < n ⇒ n ∈ natural n
   
   [natural_not_0]  Theorem
      
      ⊢ ∀n. 0 ∉ natural n
   
   [natural_property]  Theorem
      
      ⊢ ∀n. natural n = {j | 0 < j ∧ j ≤ n}
   
   [natural_suc]  Theorem
      
      ⊢ ∀n. natural (SUC n) = SUC n INSERT natural n
   
   
*)
end


Source File Identifier index Theory binding index

HOL 4, Trindemossen-2