src/HOL/Eisbach/Examples.thy
changeset 69597 ff784d5a5bfb
parent 63013 37a74da77be7
equal deleted inserted replaced
69596:c8a2755bf220 69597:ff784d5a5bfb
   229   done
   229   done
   230 
   230 
   231 text \<open>
   231 text \<open>
   232   Eisbach_Tools provides the curry and uncurry attributes. This is useful
   232   Eisbach_Tools provides the curry and uncurry attributes. This is useful
   233   when the number of premises of a thm isn't known statically. The pattern
   233   when the number of premises of a thm isn't known statically. The pattern
   234   @{term "P \<Longrightarrow> Q"} matches P against the major premise of a thm, and Q is the
   234   \<^term>\<open>P \<Longrightarrow> Q\<close> matches P against the major premise of a thm, and Q is the
   235   rest of the premises with the conclusion. If we first uncurry, then @{term
   235   rest of the premises with the conclusion. If we first uncurry, then \<^term>\<open>P \<Longrightarrow> Q\<close> will match P with the conjunction of all the premises, and Q with
   236   "P \<Longrightarrow> Q"} will match P with the conjunction of all the premises, and Q with
       
   237   the final conclusion of the rule.
   236   the final conclusion of the rule.
   238 \<close>
   237 \<close>
   239 
   238 
   240 lemma
   239 lemma
   241   assumes imps: "A \<Longrightarrow> B \<Longrightarrow> C" "D \<Longrightarrow> C" "E \<Longrightarrow> D \<Longrightarrow> A"
   240   assumes imps: "A \<Longrightarrow> B \<Longrightarrow> C" "D \<Longrightarrow> C" "E \<Longrightarrow> D \<Longrightarrow> A"