src/ZF/Induct/Tree_Forest.thy
changeset 45602 2a858377c3d2
parent 41526 54b4686704af
child 58871 c399ae4b836f
equal deleted inserted replaced
45601:d5178f19b671 45602:2a858377c3d2
    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)