src/HOL/List.ML
changeset 1908 55d8e38262a8
parent 1812 debfc40b7756
child 1936 979e8b4f5fa5
equal deleted inserted replaced
1907:d069f23e941f 1908:55d8e38262a8
    78 goal List.thy "x mem [x:xs.P(x)] = (x mem xs & P(x))";
    78 goal List.thy "x mem [x:xs.P(x)] = (x mem xs & P(x))";
    79 by (list.induct_tac "xs" 1);
    79 by (list.induct_tac "xs" 1);
    80 by (ALLGOALS (asm_simp_tac (!simpset setloop (split_tac [expand_if]))));
    80 by (ALLGOALS (asm_simp_tac (!simpset setloop (split_tac [expand_if]))));
    81 qed "mem_filter";
    81 qed "mem_filter";
    82 
    82 
    83 (** setOfList **)
    83 (** set_of_list **)
    84 
    84 
    85 goal thy "setOfList (xs@ys) = (setOfList xs Un setOfList ys)";
    85 goal thy "set_of_list (xs@ys) = (set_of_list xs Un set_of_list ys)";
    86 by (list.induct_tac "xs" 1);
    86 by (list.induct_tac "xs" 1);
    87 by (ALLGOALS Asm_simp_tac);
    87 by (ALLGOALS Asm_simp_tac);
    88 by (Fast_tac 1);
    88 by (Fast_tac 1);
    89 qed "setOfList_append";
    89 qed "set_of_list_append";
    90 
    90 
    91 goal thy "(x mem xs) = (x: setOfList xs)";
    91 goal thy "(x mem xs) = (x: set_of_list xs)";
    92 by (list.induct_tac "xs" 1);
    92 by (list.induct_tac "xs" 1);
    93 by (ALLGOALS (asm_simp_tac (!simpset setloop (split_tac [expand_if]))));
    93 by (ALLGOALS (asm_simp_tac (!simpset setloop (split_tac [expand_if]))));
    94 by (Fast_tac 1);
    94 by (Fast_tac 1);
    95 qed "setOfList_mem_eq";
    95 qed "set_of_list_mem_eq";
    96 
    96 
    97 
    97 
    98 (** list_all **)
    98 (** list_all **)
    99 
    99 
   100 goal List.thy "(Alls x:xs.True) = True";
   100 goal List.thy "(Alls x:xs.True) = True";