# HG changeset patch # User nipkow # Date 1366975401 -7200 # Node ID 4b3d9b2412b45e5cbe2ab644c0f821ed4e487955 # Parent c4db685eaed05f84a1f38d8e941b097d521b0ed2 simplified def diff -r c4db685eaed0 -r 4b3d9b2412b4 src/HOL/IMP/Abs_Int3.thy --- a/src/HOL/IMP/Abs_Int3.thy Fri Apr 26 13:12:14 2013 +0200 +++ b/src/HOL/IMP/Abs_Int3.thy Fri Apr 26 13:23:21 2013 +0200 @@ -396,7 +396,7 @@ lemma m_c_widen: "strip C1 = strip C2 \ top_on_acom C1 (-vars C1) \ top_on_acom C2 (-vars C2) \ \ C2 \ C1 \ m_c (C1 \ C2) < m_c C1" -apply(auto simp: m_c_def widen_acom_def listsum_setsum_nth atLeast0LessThan) +apply(auto simp: m_c_def widen_acom_def listsum_setsum_nth) apply(subgoal_tac "length(annos C2) = length(annos C1)") prefer 2 apply (simp add: size_annos_same2) apply (auto) @@ -443,7 +443,7 @@ definition n_c :: "'av st option acom \ nat" ("n\<^isub>c") where -"n\<^isub>c C = (let as = annos C in \io (as!i) (vars C))" +"n\<^isub>c C = listsum (map (\a. n\<^isub>o a (vars C)) (annos C))" lemma less_annos_iff: "(C1 < C2) = (C1 \ C2 \ (\i top_on_acom C1 (- vars C1) \ top_on_acom C2 (- vars C2) \ C2 \ C1 \ C1 \ C2 < C1 \ n\<^isub>c (C1 \ C2) < n\<^isub>c C1" -apply(auto simp: n_c_def Let_def narrow_acom_def) +apply(auto simp: n_c_def narrow_acom_def listsum_setsum_nth) apply(subgoal_tac "length(annos C2) = length(annos C1)") prefer 2 apply (simp add: size_annos_same2) apply (auto)