J'essayais de prouver l'implication suivante :
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.*)
Je pensais que cela serait plutôt trivial, c'est pourquoi j'ai essayé d'obtenir une preuve à l'aide de sledgehammer. Malheureusement, cela a échoué. Soit ma définition est fausse, soit il y a des difficultés avec les preuves automatiques impliquant de gros opérateurs comme Max.
J'ai essayé de mieux comprendre Max et max en regardant leurs définitions ainsi que toute documentation que j'ai pu trouver. Comme je l'ai fait précédemment, j'ai rencontré un problème avec Isabelle qui, en fin de compte, s'est avéré nécessiter beaucoup d'expérience malgré son apparence triviale (" Pourquoi Isabelle ne simplifie-t-elle pas le corps de ma construction "if _ then _ else" ? "), j'ai décidé de poster cette question ici.