equal
deleted
inserted
replaced
17 datatype "tree(A)" = Tcons ("a \<in> A", "f \<in> forest(A)") |
17 datatype "tree(A)" = Tcons ("a \<in> A", "f \<in> forest(A)") |
18 and "forest(A)" = Fnil | Fcons ("t \<in> tree(A)", "f \<in> forest(A)") |
18 and "forest(A)" = Fnil | Fcons ("t \<in> tree(A)", "f \<in> forest(A)") |
19 |
19 |
20 (* FIXME *) |
20 (* FIXME *) |
21 lemmas tree'induct = |
21 lemmas tree'induct = |
22 tree_forest.mutual_induct [THEN conjunct1, THEN spec, THEN [2] rev_mp, of concl: _ t, standard, consumes 1] |
22 tree_forest.mutual_induct [THEN conjunct1, THEN spec, THEN [2] rev_mp, of concl: _ t, consumes 1] |
23 and forest'induct = |
23 and forest'induct = |
24 tree_forest.mutual_induct [THEN conjunct2, THEN spec, THEN [2] rev_mp, of concl: _ f, standard, consumes 1] |
24 tree_forest.mutual_induct [THEN conjunct2, THEN spec, THEN [2] rev_mp, of concl: _ f, consumes 1] |
|
25 for t |
25 |
26 |
26 declare tree_forest.intros [simp, TC] |
27 declare tree_forest.intros [simp, TC] |
27 |
28 |
28 lemma tree_def: "tree(A) == Part(tree_forest(A), Inl)" |
29 lemma tree_def: "tree(A) == Part(tree_forest(A), Inl)" |
29 by (simp only: tree_forest.defs) |
30 by (simp only: tree_forest.defs) |