src/HOL/Decision_Procs/Ferrack.thy
changeset 33639 603320b93668
parent 33063 4d462963a7db
child 35416 d8d7d1b785af
equal deleted inserted replaced
33638:548a34929e98 33639:603320b93668
  1926   have Y_l: "\<forall> (t,n) \<in> set ?Y. numbound0 t \<and> n > 0" 
  1926   have Y_l: "\<forall> (t,n) \<in> set ?Y. numbound0 t \<and> n > 0" 
  1927   proof-
  1927   proof-
  1928     { fix t n assume tnY: "(t,n) \<in> set ?Y" 
  1928     { fix t n assume tnY: "(t,n) \<in> set ?Y" 
  1929       hence "(t,n) \<in> set ?SS" by simp
  1929       hence "(t,n) \<in> set ?SS" by simp
  1930       hence "\<exists> (t',n') \<in> set ?S. simp_num_pair (t',n') = (t,n)"
  1930       hence "\<exists> (t',n') \<in> set ?S. simp_num_pair (t',n') = (t,n)"
  1931         by (auto simp add: split_def) (rule_tac x="((aa,ba),(ab,bb))" in bexI, simp_all)
  1931         by (auto simp add: split_def simp del: map_map)
       
  1932            (rule_tac x="((aa,ba),(ab,bb))" in bexI, simp_all)
  1932       then obtain t' n' where tn'S: "(t',n') \<in> set ?S" and tns: "simp_num_pair (t',n') = (t,n)" by blast
  1933       then obtain t' n' where tn'S: "(t',n') \<in> set ?S" and tns: "simp_num_pair (t',n') = (t,n)" by blast
  1933       from tn'S Snb have tnb: "numbound0 t'" and np: "n' > 0" by auto
  1934       from tn'S Snb have tnb: "numbound0 t'" and np: "n' > 0" by auto
  1934       from simp_num_pair_l[OF tnb np tns]
  1935       from simp_num_pair_l[OF tnb np tns]
  1935       have "numbound0 t \<and> n > 0" . }
  1936       have "numbound0 t \<and> n > 0" . }
  1936     thus ?thesis by blast
  1937     thus ?thesis by blast