src/HOL/Decision_Procs/Cooper.thy
changeset 31730 d74830dc3e4a
parent 31715 2eb55a82acd9
child 31952 40501bb2d57c
equal deleted inserted replaced
31729:b9299916d618 31730:d74830dc3e4a
  1104 proof (induct p rule: iszlfm.induct)
  1104 proof (induct p rule: iszlfm.induct)
  1105   case (1 p q) 
  1105   case (1 p q) 
  1106   let ?d = "\<delta> (And p q)"
  1106   let ?d = "\<delta> (And p q)"
  1107   from prems int_lcm_pos have dp: "?d >0" by simp
  1107   from prems int_lcm_pos have dp: "?d >0" by simp
  1108   have d1: "\<delta> p dvd \<delta> (And p q)" using prems by simp
  1108   have d1: "\<delta> p dvd \<delta> (And p q)" using prems by simp
  1109   hence th: "d\<delta> p ?d" using delta_mono prems(3-4) by(simp del:int_lcm_dvd1)
  1109   hence th: "d\<delta> p ?d" using delta_mono prems(3-4) by(simp only: iszlfm.simps)
  1110   have "\<delta> q dvd \<delta> (And p q)" using prems by simp
  1110   have "\<delta> q dvd \<delta> (And p q)" using prems by simp
  1111   hence th': "d\<delta> q ?d" using delta_mono prems by(simp del:int_lcm_dvd2)
  1111   hence th': "d\<delta> q ?d" using delta_mono prems by(simp only: iszlfm.simps)
  1112   from th th' dp show ?case by simp
  1112   from th th' dp show ?case by simp
  1113 next
  1113 next
  1114   case (2 p q)  
  1114   case (2 p q)  
  1115   let ?d = "\<delta> (And p q)"
  1115   let ?d = "\<delta> (And p q)"
  1116   from prems int_lcm_pos have dp: "?d >0" by simp
  1116   from prems int_lcm_pos have dp: "?d >0" by simp
  1117   have "\<delta> p dvd \<delta> (And p q)" using prems by simp
  1117   have "\<delta> p dvd \<delta> (And p q)" using prems by simp
  1118   hence th: "d\<delta> p ?d" using delta_mono prems by(simp del:int_lcm_dvd1)
  1118   hence th: "d\<delta> p ?d" using delta_mono prems by(simp only: iszlfm.simps)
  1119   have "\<delta> q dvd \<delta> (And p q)" using prems by simp
  1119   have "\<delta> q dvd \<delta> (And p q)" using prems by simp
  1120   hence th': "d\<delta> q ?d" using delta_mono prems by(simp del:int_lcm_dvd2)
  1120   hence th': "d\<delta> q ?d" using delta_mono prems by(simp only: iszlfm.simps)
  1121   from th th' dp show ?case by simp
  1121   from th th' dp show ?case by simp
  1122 qed simp_all
  1122 qed simp_all
  1123 
  1123 
  1124 
  1124 
  1125 consts 
  1125 consts