src/HOL/Tools/Metis/metis_reconstruct.ML
changeset 69597 ff784d5a5bfb
parent 69593 3dda49e08b9d
child 70485 b203aaf373cf
equal deleted inserted replaced
69596:c8a2755bf220 69597:ff784d5a5bfb
   220         if null ps then raise TERM z
   220         if null ps then raise TERM z
   221         else res (apply2 (Drule.instantiate_normalize (ps, [])) (tha, thb))
   221         else res (apply2 (Drule.instantiate_normalize (ps, [])) (tha, thb))
   222       end
   222       end
   223   end
   223   end
   224 
   224 
   225 fun s_not (@{const Not} $ t) = t
   225 fun s_not (\<^const>\<open>Not\<close> $ t) = t
   226   | s_not t = HOLogic.mk_not t
   226   | s_not t = HOLogic.mk_not t
   227 fun simp_not_not (@{const Trueprop} $ t) = @{const Trueprop} $ simp_not_not t
   227 fun simp_not_not (\<^const>\<open>Trueprop\<close> $ t) = \<^const>\<open>Trueprop\<close> $ simp_not_not t
   228   | simp_not_not (@{const Not} $ t) = s_not (simp_not_not t)
   228   | simp_not_not (\<^const>\<open>Not\<close> $ t) = s_not (simp_not_not t)
   229   | simp_not_not t = t
   229   | simp_not_not t = t
   230 
   230 
   231 val normalize_literal = simp_not_not o Envir.eta_contract
   231 val normalize_literal = simp_not_not o Envir.eta_contract
   232 
   232 
   233 (* Find the relative location of an untyped term within a list of terms as a
   233 (* Find the relative location of an untyped term within a list of terms as a