src/HOL/Hoare/Examples.ML
changeset 5983 79e301a6a51b
parent 5655 afd75136b236
child 6162 484adda70b65
equal deleted inserted replaced
5982:aeb97860d352 5983:79e301a6a51b
   149 by(asm_simp_tac HOL_basic_ss 1);
   149 by(asm_simp_tac HOL_basic_ss 1);
   150 by(REPEAT(etac thin_rl 1));
   150 by(REPEAT(etac thin_rl 1));
   151 by (hoare_tac Asm_full_simp_tac 1);
   151 by (hoare_tac Asm_full_simp_tac 1);
   152     by(asm_full_simp_tac (simpset() addsimps [neq_Nil_conv]) 1);
   152     by(asm_full_simp_tac (simpset() addsimps [neq_Nil_conv]) 1);
   153     by(Clarify_tac 1);
   153     by(Clarify_tac 1);
   154     by(asm_full_simp_tac (simpset() addsimps [nth_list_update]
   154     by(asm_full_simp_tac (simpset() addsimps [nth_list_update]) 1);
   155                                     addSolver cut_trans_tac) 1);
       
   156    by(blast_tac (claset() addSEs [less_SucE] addIs [Suc_leI]) 1);
   155    by(blast_tac (claset() addSEs [less_SucE] addIs [Suc_leI]) 1);
   157   br conjI 1;
   156   br conjI 1;
   158    by(Clarify_tac 1);
   157    by(Clarify_tac 1);
   159    bd (pred_less_imp_le RS le_imp_less_Suc) 1;
   158    bd (pred_less_imp_le RS le_imp_less_Suc) 1;
   160    by(blast_tac (claset() addSEs [less_SucE]) 1);
   159    by(blast_tac (claset() addSEs [less_SucE]) 1);
   161   br less_imp_diff_less 1;
   160   br less_imp_diff_less 1;
   162   by(Blast_tac 1);
   161   by(Blast_tac 1);
   163  by(Clarify_tac 1);
   162  by(Clarify_tac 1);
   164  by(asm_simp_tac (simpset() addsimps [nth_list_update]
   163  by(asm_simp_tac (simpset() addsimps [nth_list_update]) 1);
   165                             addSolver cut_trans_tac) 1);
       
   166  by(Clarify_tac 1);
   164  by(Clarify_tac 1);
   167  by(trans_tac 1);
   165  by(Simp_tac 1);
   168 by(Clarify_tac 1);
   166 by(Clarify_tac 1);
   169 by(asm_simp_tac (simpset() addSolver cut_trans_tac) 1);
   167 by(Asm_simp_tac 1);
   170 br conjI 1;
   168 br conjI 1;
   171  by(Clarify_tac 1);
   169  by(Clarify_tac 1);
   172  br order_antisym 1;
   170  br order_antisym 1;
   173   by(asm_simp_tac (simpset() addSolver cut_trans_tac) 1);
   171   by(Asm_simp_tac 1);
   174  by(asm_simp_tac (simpset() addSolver cut_trans_tac) 1);
   172  by(Asm_simp_tac 1);
   175 by(Clarify_tac 1);
   173 by(Clarify_tac 1);
   176 by(asm_simp_tac (simpset() addSolver cut_trans_tac) 1);
   174 by(Asm_simp_tac 1);
   177 qed "Partition";
   175 qed "Partition";