equal
deleted
inserted
replaced
474 by (simp_tac (simpset() addsimps [lemma]) 1); |
474 by (simp_tac (simpset() addsimps [lemma]) 1); |
475 qed "Least_nat_def"; |
475 qed "Least_nat_def"; |
476 |
476 |
477 val [prem1,prem2] = Goalw [Least_nat_def] |
477 val [prem1,prem2] = Goalw [Least_nat_def] |
478 "[| P(k::nat); !!x. x<k ==> ~P(x) |] ==> (LEAST x. P(x)) = k"; |
478 "[| P(k::nat); !!x. x<k ==> ~P(x) |] ==> (LEAST x. P(x)) = k"; |
479 by (rtac select_equality 1); |
479 by (rtac some_equality 1); |
480 by (blast_tac (claset() addSIs [prem1,prem2]) 1); |
480 by (blast_tac (claset() addSIs [prem1,prem2]) 1); |
481 by (cut_facts_tac [less_linear] 1); |
481 by (cut_facts_tac [less_linear] 1); |
482 by (blast_tac (claset() addSIs [prem1] addSDs [prem2]) 1); |
482 by (blast_tac (claset() addSIs [prem1] addSDs [prem2]) 1); |
483 qed "Least_equality"; |
483 qed "Least_equality"; |
484 |
484 |