For some cases, the condition found to make a property hold is not included in the output lemma, even though the lemma proven to hold is the conditioned version.
eg.: with the usual naturals Nat, leq and
fun lezP :: "Nat ⇒ bool" where
"lezP Z = True"
| "lezP _ = False"
the call hipster_cond lezP leq proves lezP y ⟹ lezP x = leq x y but returns the (invalid) lemma
For some cases, the condition found to make a property hold is not included in the output lemma, even though the lemma proven to hold is the conditioned version.
eg.: with the usual naturals
Nat
,leq
andthe call
hipster_cond lezP leq
proveslezP y ⟹ lezP x = leq x y
but returns the (invalid) lemmaSee theory
Examples/NatsBug.thy
.