src/HOL/HOL.thy
changeset 10383 a092ae7bb2a6
parent 9970 dfe4747c8318
child 10432 3dfbc913d184
equal deleted inserted replaced
10382:1fb807260ff1 10383:a092ae7bb2a6
   194 
   194 
   195 (* theory and package setup *)
   195 (* theory and package setup *)
   196 
   196 
   197 use "HOL_lemmas.ML"
   197 use "HOL_lemmas.ML"
   198 
   198 
       
   199 lemma all_eq: "(!!x. P x) == Trueprop (ALL x. P x)"
       
   200 proof (rule equal_intr_rule)
       
   201   assume "!!x. P x"
       
   202   show "ALL x. P x" by (rule allI)
       
   203 next
       
   204   assume "ALL x. P x"
       
   205   thus "!!x. P x" by (rule allE)
       
   206 qed
       
   207 
       
   208 lemma imp_eq: "(A ==> B) == Trueprop (A --> B)"
       
   209 proof (rule equal_intr_rule)
       
   210   assume r: "A ==> B"
       
   211   show "A --> B" by (rule impI) (rule r)
       
   212 next
       
   213   assume "A --> B" and A
       
   214   thus B by (rule mp)
       
   215 qed
       
   216 
       
   217 lemmas atomize = all_eq imp_eq
       
   218 
   199 use "cladata.ML"
   219 use "cladata.ML"
   200 setup hypsubst_setup
   220 setup hypsubst_setup
   201 setup Classical.setup
   221 setup Classical.setup
   202 setup clasetup
   222 setup clasetup
   203 
   223 
   204 lemma all_eq: "(!!x. P x) == Trueprop (ALL x. P x)"
       
   205 proof (rule equal_intr_rule)
       
   206   assume "!!x. P x"
       
   207   show "ALL x. P x" ..
       
   208 next
       
   209   assume "ALL x. P x"
       
   210   thus "!!x. P x" ..
       
   211 qed
       
   212 
       
   213 lemma imp_eq: "(A ==> B) == Trueprop (A --> B)"
       
   214 proof (rule equal_intr_rule)
       
   215   assume r: "A ==> B"
       
   216   show "A --> B"
       
   217     by (rule) (rule r)
       
   218 next
       
   219   assume "A --> B" and A
       
   220   thus B ..
       
   221 qed
       
   222 
       
   223 lemmas atomize = all_eq imp_eq
       
   224 
       
   225 use "blastdata.ML"
   224 use "blastdata.ML"
   226 setup Blast.setup
   225 setup Blast.setup
   227 
   226 
   228 use "simpdata.ML"
   227 use "simpdata.ML"
   229 setup Simplifier.setup
   228 setup Simplifier.setup