equal
deleted
inserted
replaced
22 |
22 |
23 goal Conversion.thy |
23 goal Conversion.thy |
24 "!!u. m<--->n ==> EX p.(m --->p) & (n ---> p)"; |
24 "!!u. m<--->n ==> EX p.(m --->p) & (n ---> p)"; |
25 by (etac Sconv.induct 1); |
25 by (etac Sconv.induct 1); |
26 by (etac Sconv1.induct 1); |
26 by (etac Sconv1.induct 1); |
27 by (blast_tac (!claset addIs [red1D1,redD2]) 1); |
27 by (blast_tac (claset() addIs [red1D1,redD2]) 1); |
28 by (blast_tac (!claset addIs [red1D1,redD2]) 1); |
28 by (blast_tac (claset() addIs [red1D1,redD2]) 1); |
29 by (blast_tac (!claset addIs [red1D1,redD2]) 1); |
29 by (blast_tac (claset() addIs [red1D1,redD2]) 1); |
30 by (cut_facts_tac [confluence_beta_reduction] 1); |
30 by (cut_facts_tac [confluence_beta_reduction] 1); |
31 by (rewtac confluence_def); |
31 by (rewtac confluence_def); |
32 by (blast_tac (!claset addIs [Sred.trans]) 1); |
32 by (blast_tac (claset() addIs [Sred.trans]) 1); |
33 qed "Church_Rosser"; |
33 qed "Church_Rosser"; |
34 |
34 |