src/HOL/UNITY/GenPrefix.ML
changeset 7499 23e090051cb8
parent 7053 8f246bc87ab2
child 7839 03fd460cb8b8
equal deleted inserted replaced
7498:1e5585fd3632 7499:23e090051cb8
   134 qed "genPrefix_Cons";
   134 qed "genPrefix_Cons";
   135 
   135 
   136 Goal "[| reflexive r;  (xs,ys) : genPrefix r |] \
   136 Goal "[| reflexive r;  (xs,ys) : genPrefix r |] \
   137 \     ==>  (xs@zs, take (length xs) ys @ zs) : genPrefix r";
   137 \     ==>  (xs@zs, take (length xs) ys @ zs) : genPrefix r";
   138 by (etac genPrefix.induct 1);
   138 by (etac genPrefix.induct 1);
   139 by (forward_tac [genPrefix_length_le] 3);
   139 by (ftac genPrefix_length_le 3);
   140 by (ALLGOALS (asm_simp_tac (simpset() addsimps [diff_is_0_eq RS iffD2])));
   140 by (ALLGOALS (asm_simp_tac (simpset() addsimps [diff_is_0_eq RS iffD2])));
   141 qed "genPrefix_take_append";
   141 qed "genPrefix_take_append";
   142 
   142 
   143 Goal "[| reflexive r;  (xs,ys) : genPrefix r;  length xs = length ys |] \
   143 Goal "[| reflexive r;  (xs,ys) : genPrefix r;  length xs = length ys |] \
   144 \     ==>  (xs@zs, ys @ zs) : genPrefix r";
   144 \     ==>  (xs@zs, ys @ zs) : genPrefix r";