equal
deleted
inserted
replaced
95 \ r: list(UN t:term(A). C(t)) |] \ |
95 \ r: list(UN t:term(A). C(t)) |] \ |
96 \ ==> d(x, zs, r): C(Apply(x,zs)) \ |
96 \ ==> d(x, zs, r): C(Apply(x,zs)) \ |
97 \ |] ==> term_rec(t,d) : C(t)"; |
97 \ |] ==> term_rec(t,d) : C(t)"; |
98 by (rtac (major RS term.induct) 1); |
98 by (rtac (major RS term.induct) 1); |
99 by (forward_tac [list_CollectD] 1); |
99 by (forward_tac [list_CollectD] 1); |
100 by (rtac (term_rec RS ssubst) 1); |
100 by (stac term_rec 1); |
101 by (REPEAT (ares_tac prems 1)); |
101 by (REPEAT (ares_tac prems 1)); |
102 by (etac list.induct 1); |
102 by (etac list.induct 1); |
103 by (ALLGOALS (asm_simp_tac (list_ss addsimps [term_rec]))); |
103 by (ALLGOALS (asm_simp_tac (list_ss addsimps [term_rec]))); |
104 by (etac CollectE 1); |
104 by (etac CollectE 1); |
105 by (REPEAT (ares_tac [list.Cons_I, UN_I] 1)); |
105 by (REPEAT (ares_tac [list.Cons_I, UN_I] 1)); |