equal
  deleted
  inserted
  replaced
  
    
    
|      1 (*  Author:     Thomas M. Rasmussen |      1 (*  Title:      HOL/Old_Number_Theory/Chinese.thy | 
|         |      2     Author:     Thomas M. Rasmussen | 
|      2     Copyright   2000  University of Cambridge |      3     Copyright   2000  University of Cambridge | 
|      3 *) |      4 *) | 
|      4  |      5  | 
|      5 header {* The Chinese Remainder Theorem *} |      6 header {* The Chinese Remainder Theorem *} | 
|      6  |      7  | 
|     17 *} |     18 *} | 
|     18  |     19  | 
|     19  |     20  | 
|     20 subsection {* Definitions *} |     21 subsection {* Definitions *} | 
|     21  |     22  | 
|     22 consts |     23 primrec funprod :: "(nat => int) => nat => nat => int" | 
|     23   funprod :: "(nat => int) => nat => nat => int" |     24 where | 
|     24   funsum :: "(nat => int) => nat => nat => int" |         | 
|     25  |         | 
|     26 primrec |         | 
|     27   "funprod f i 0 = f i" |     25   "funprod f i 0 = f i" | 
|     28   "funprod f i (Suc n) = f (Suc (i + n)) * funprod f i n" |     26 | "funprod f i (Suc n) = f (Suc (i + n)) * funprod f i n" | 
|     29  |     27  | 
|     30 primrec |     28 primrec funsum :: "(nat => int) => nat => nat => int" | 
|         |     29 where | 
|     31   "funsum f i 0 = f i" |     30   "funsum f i 0 = f i" | 
|     32   "funsum f i (Suc n) = f (Suc (i + n)) + funsum f i n" |     31 | "funsum f i (Suc n) = f (Suc (i + n)) + funsum f i n" | 
|     33  |     32  | 
|     34 definition |     33 definition | 
|     35   m_cond :: "nat => (nat => int) => bool" where |     34   m_cond :: "nat => (nat => int) => bool" where | 
|     36   "m_cond n mf = |     35   "m_cond n mf = | 
|     37     ((\<forall>i. i \<le> n --> 0 < mf i) \<and> |     36     ((\<forall>i. i \<le> n --> 0 < mf i) \<and> |