[isabelle] Several proof methods in one proof?

I incidentally wrote:

lemma comp_fun2: "[| g: A->B1; f: B0->C; B1<=B0 |] ==> (f O g) : A->C"
proof -
  assume "g: A->B1" "f: B0->C" "B1<=B0"
  with `g: A->B1` have "g: A->B0" by auto (rule fun_weaken_type)
  with `f: B0->C` show "(f O g) : A->C" sorry
Surprisingly it works. But I don't understand what "auto (rule fun_weaken_type)" means. Is it both "auto" and "(rule fun_weaken_type)"? If yes, in which order these proof methods are applied?
Which .pdf to read about that? Should I read a manual (tutorials seem not enough)?
Victor Porton - http://portonvictor.org

This archive was generated by a fusion of Pipermail (Mailman edition) and MHonArc.