I was trying to prove the following implication:
lemma Max_lemma:
fixes s::nat and S :: "nat set"
shows " ((Max S) = (0::nat)) ⟹ (∀ s ∈ S . (s = 0))"
sorry
(*
Note: I added additional parentheses just to be sure.*)
I thought this would be rather trivial, which is why I tried to get a proof using sledgehammer. Unfortunately this failed. Either my definition is wrong or there is some difficulties with automatic proofs involving big operators like Max.
I tried to get a better understanding of Max and max by looking at their definitions as well as any documentation I could find. As I previously ran into a problem with Isabelle which in the end turned out to require a lot of experience despite its trivial appearance ("Why won't Isabelle simplify the body of my "if _ then _ else" construct?"), I decided to post this question here.