equal
deleted
inserted
replaced
31 by (rtac (major RS acc.induct) 1); |
31 by (rtac (major RS acc.induct) 1); |
32 by (rtac indhyp 1); |
32 by (rtac indhyp 1); |
33 by (resolve_tac acc.intrs 1); |
33 by (resolve_tac acc.intrs 1); |
34 by (rewtac pred_def); |
34 by (rewtac pred_def); |
35 by (fast_tac set_cs 2); |
35 by (fast_tac set_cs 2); |
36 be (Int_lower1 RS Pow_mono RS subsetD) 1; |
36 by (etac (Int_lower1 RS Pow_mono RS subsetD) 1); |
37 qed "acc_induct"; |
37 qed "acc_induct"; |
38 |
38 |
39 |
39 |
40 val [major] = goal Acc.thy "r <= Sigma (acc r) (%u. acc(r)) ==> wf(r)"; |
40 val [major] = goal Acc.thy "r <= Sigma (acc r) (%u. acc(r)) ==> wf(r)"; |
41 by (rtac (major RS wfI) 1); |
41 by (rtac (major RS wfI) 1); |
44 by (fast_tac set_cs 1); |
44 by (fast_tac set_cs 1); |
45 qed "acc_wfI"; |
45 qed "acc_wfI"; |
46 |
46 |
47 val [major] = goal Acc.thy "wf(r) ==> ALL x. (x,y): r | (y,x):r --> y: acc(r)"; |
47 val [major] = goal Acc.thy "wf(r) ==> ALL x. (x,y): r | (y,x):r --> y: acc(r)"; |
48 by (rtac (major RS wf_induct) 1); |
48 by (rtac (major RS wf_induct) 1); |
49 br (impI RS allI) 1; |
49 by (rtac (impI RS allI) 1); |
50 br accI 1; |
50 by (rtac accI 1); |
51 by (fast_tac set_cs 1); |
51 by (fast_tac set_cs 1); |
52 qed "acc_wfD_lemma"; |
52 qed "acc_wfD_lemma"; |
53 |
53 |
54 val [major] = goal Acc.thy "wf(r) ==> r <= Sigma (acc r) (%u. acc(r))"; |
54 val [major] = goal Acc.thy "wf(r) ==> r <= Sigma (acc r) (%u. acc(r))"; |
55 by (rtac subsetI 1); |
55 by (rtac subsetI 1); |