src/HOL/List.ML
changeset 5758 27a2b36efd95
parent 5644 85fd64148873
child 5983 79e301a6a51b
equal deleted inserted replaced
5757:0ad476dabbc6 5758:27a2b36efd95
   860 by (Asm_full_simp_tac 1);
   860 by (Asm_full_simp_tac 1);
   861 by (blast_tac (claset() addIs [trans_le_add1]) 1);
   861 by (blast_tac (claset() addIs [trans_le_add1]) 1);
   862 qed_spec_mp "start_le_sum";
   862 qed_spec_mp "start_le_sum";
   863 
   863 
   864 Goal "n : set ns ==> n <= foldl op+ 0 ns";
   864 Goal "n : set ns ==> n <= foldl op+ 0 ns";
   865 by (auto_tac (claset() addIs [start_le_sum],
   865 by (force_tac (claset() addIs [start_le_sum],
   866              simpset() addsimps [in_set_conv_decomp]));
   866               simpset() addsimps [in_set_conv_decomp]) 1);
   867 qed "elem_le_sum";
   867 qed "elem_le_sum";
   868 
   868 
   869 Goal "!m. (foldl op+ m ns = 0) = (m=0 & (!n : set ns. n=0))";
   869 Goal "!m. (foldl op+ m ns = 0) = (m=0 & (!n : set ns. n=0))";
   870 by (induct_tac "ns" 1);
   870 by (induct_tac "ns" 1);
   871 by Auto_tac;
   871 by Auto_tac;