src/HOL/Tools/lin_arith.ML
changeset 58412 f65f11f4854c
parent 57955 f28337c2c0a8
child 58839 ccda99401bc8
equal deleted inserted replaced
58411:e3d0354d2129 58412:f65f11f4854c
   660 
   660 
   661 (* return true iff TRY (etac notE) THEN eq_assume_tac would succeed on a     *)
   661 (* return true iff TRY (etac notE) THEN eq_assume_tac would succeed on a     *)
   662 (* subgoal that has 'terms' as premises                                      *)
   662 (* subgoal that has 'terms' as premises                                      *)
   663 
   663 
   664 fun negated_term_occurs_positively (terms : term list) : bool =
   664 fun negated_term_occurs_positively (terms : term list) : bool =
   665   List.exists
   665   exists
   666     (fn (Trueprop $ (Const (@{const_name Not}, _) $ t)) =>
   666     (fn (Trueprop $ (Const (@{const_name Not}, _) $ t)) =>
   667       member Envir.aeconv terms (Trueprop $ t)
   667       member Envir.aeconv terms (Trueprop $ t)
   668       | _ => false)
   668       | _ => false)
   669     terms;
   669     terms;
   670 
   670