equal
deleted
inserted
replaced
1388 end; |
1388 end; |
1389 |
1389 |
1390 |
1390 |
1391 (*Rotates a rule's premises to the left by k, leaving the first j premises |
1391 (*Rotates a rule's premises to the left by k, leaving the first j premises |
1392 unchanged. Does nothing if k=0 or if k equals n-j, where n is the |
1392 unchanged. Does nothing if k=0 or if k equals n-j, where n is the |
1393 number of premises. Useful with etac and underlies defer_tac*) |
1393 number of premises. Useful with eresolve_tac and underlies defer_tac*) |
1394 fun permute_prems j k rl = |
1394 fun permute_prems j k rl = |
1395 let |
1395 let |
1396 val Thm (der, {thy, maxidx, shyps, hyps, tpairs, prop, ...}) = rl; |
1396 val Thm (der, {thy, maxidx, shyps, hyps, tpairs, prop, ...}) = rl; |
1397 val prems = Logic.strip_imp_prems prop |
1397 val prems = Logic.strip_imp_prems prop |
1398 and concl = Logic.strip_imp_concl prop; |
1398 and concl = Logic.strip_imp_concl prop; |