src/HOLCF/FOCUS/Fstream.ML
changeset 18362 e8b7e0a22727
parent 17293 ecf182ccc3ca
child 18368 2f9b2539c5bb
equal deleted inserted replaced
18361:3126d01e9e35 18362:e8b7e0a22727
    64 
    64 
    65 qed_goal "fstream_prefix'" (the_context ())
    65 qed_goal "fstream_prefix'" (the_context ())
    66         "x << a~> z = (x = <> |  (? y. x = a~> y &  y << z))" (fn _ => [
    66         "x << a~> z = (x = <> |  (? y. x = a~> y &  y << z))" (fn _ => [
    67         simp_tac(HOL_ss addsimps [fscons_def2, Def_not_UU RS thm "stream_prefix'"])1,
    67         simp_tac(HOL_ss addsimps [fscons_def2, Def_not_UU RS thm "stream_prefix'"])1,
    68         Step_tac 1,
    68         Step_tac 1,
    69          ALLGOALS(etac swap),
    69          ALLGOALS(etac BasicClassical.swap),
    70          fast_tac (HOL_cs addIs [refl_less] addEs [DefE]) 2,
    70          fast_tac (HOL_cs addIs [refl_less] addEs [DefE]) 2,
    71         rtac Lift_cases 1,
    71         rtac Lift_cases 1,
    72          contr_tac 1,
    72          contr_tac 1,
    73         Step_tac 1,
    73         Step_tac 1,
    74         dtac (Def_inject_less_eq RS iffD1) 1,
    74         dtac (Def_inject_less_eq RS iffD1) 1,
   137         step_tac (HOL_cs addSEs [DefE]) 1,
   137         step_tac (HOL_cs addSEs [DefE]) 1,
   138         step_tac (HOL_cs addSEs [DefE]) 1,
   138         step_tac (HOL_cs addSEs [DefE]) 1,
   139         step_tac (HOL_cs addSEs [DefE]) 1,
   139         step_tac (HOL_cs addSEs [DefE]) 1,
   140         step_tac (HOL_cs addSEs [DefE]) 1,
   140         step_tac (HOL_cs addSEs [DefE]) 1,
   141         step_tac (HOL_cs addSEs [DefE]) 1,
   141         step_tac (HOL_cs addSEs [DefE]) 1,
   142         etac swap 1,
   142         etac BasicClassical.swap 1,
   143         fast_tac (HOL_cs addDs [not_Undef_is_Def RS iffD1] addEs [DefE]) 1]);
   143         fast_tac (HOL_cs addDs [not_Undef_is_Def RS iffD1] addEs [DefE]) 1]);
   144 
   144 
   145 qed_goal "slen_fscons_less_eq" (the_context ())
   145 qed_goal "slen_fscons_less_eq" (the_context ())
   146         "(#(a~> y) < Fin (Suc (Suc n))) = (#y < Fin (Suc n))" (fn _ => [
   146         "(#(a~> y) < Fin (Suc (Suc n))) = (#y < Fin (Suc n))" (fn _ => [
   147         stac slen_fscons_eq_rev 1,
   147         stac slen_fscons_eq_rev 1,