src/FOLP/IFOLP.thy
changeset 27150 a42aef558ce3
parent 26956 1309a6a0a29f
child 27152 192954a9a549
equal deleted inserted replaced
27149:123377499a8e 27150:a42aef558ce3
   214   shows "?p:Q"
   214   shows "?p:Q"
   215   apply (assumption | rule assms impI notE)+
   215   apply (assumption | rule assms impI notE)+
   216   done
   216   done
   217 
   217 
   218 (* For substitution int an assumption P, reduce Q to P-->Q, substitute into
   218 (* For substitution int an assumption P, reduce Q to P-->Q, substitute into
   219    this implication, then apply impI to move P back into the assumptions.
   219    this implication, then apply impI to move P back into the assumptions.*)
   220    To specify P use something like
       
   221       eres_inst_tac [ ("P","ALL y. ?S(x,y)") ] rev_mp 1   *)
       
   222 lemma rev_mp: "[| p:P;  q:P --> Q |] ==> ?p:Q"
   220 lemma rev_mp: "[| p:P;  q:P --> Q |] ==> ?p:Q"
   223   apply (assumption | rule mp)+
   221   apply (assumption | rule mp)+
   224   done
   222   done
   225 
   223 
   226 
   224