equal
deleted
inserted
replaced
181 by (rtac (ARITH_PROVE "0 < m - Suc n ==> (m - n) = Suc(m - Suc n)" |
181 by (rtac (ARITH_PROVE "0 < m - Suc n ==> (m - n) = Suc(m - Suc n)" |
182 RS ssubst) 1); |
182 RS ssubst) 1); |
183 by (dres_inst_tac [("x","psize D - Suc n")] spec 2); |
183 by (dres_inst_tac [("x","psize D - Suc n")] spec 2); |
184 by (thin_tac "ALL n. psize D <= n --> D n = b" 2); |
184 by (thin_tac "ALL n. psize D <= n --> D n = b" 2); |
185 by (Asm_full_simp_tac 2); |
185 by (Asm_full_simp_tac 2); |
186 by (Blast_tac 1); |
186 by (arith_tac 1); |
187 qed "partition_ub"; |
187 qed "partition_ub"; |
188 |
188 |
189 Goal "[| partition(a,b) D; n < psize D |] ==> D(n) < b"; |
189 Goal "[| partition(a,b) D; n < psize D |] ==> D(n) < b"; |
190 by (blast_tac (claset() addIs [partition_rhs RS subst] addIs |
190 by (blast_tac (claset() addIs [partition_rhs RS subst] addIs |
191 [partition_gt]) 1); |
191 [partition_gt]) 1); |