hol

Why can't I make my cases explicit in Isabelle when the proof is already complete but gives a “fails to refine any pending goal” error?

℡╲_俬逩灬. 提交于 2020-06-08 19:59:33
问题 I'm going through chapter 5 of concrete semantics. I got some error while working through this toy example proof: lemma shows "¬ ev (Suc 0)" I know this is more than needed (since by cases ) magically solves everything & gives a finished proof, but I wanted to make explicit the cases. I tried this: lemma shows "¬ ev (Suc 0)" proof (rule notI) assume "ev (Suc 0)" then show False proof (cases) case ev0 then show ?case by blast next case evSS then show ?case sorry qed but if I put my mouse on

Theorem proving from first principles using SML with HOL inference rules

♀尐吖头ヾ 提交于 2020-01-04 09:23:31
问题 I am trying to prove the theorem [] |- p /\ q <=> q /\ p :thm using SML with HOL Inference Rules. Here's the SML code: val thm1 = ASSUME ``p:bool /\ q:bool``; val thm2 = ASSUME ``p:bool``; val thm3 = ASSUME ``q:bool``; val thm4 = CONJ thm2 thm3; val thm5 = CONJ thm3 thm2; val thm6 = DISCH ``(q:bool/\p:bool)`` thm4; val thm7 = DISCH ``(p:bool/\q:bool)`` thm5; val thm8 = IMP_ANTISYM_RULE thm6 thm7; The result of the above code produces : val thm8 = [(p :bool), (q :bool)] |- (q :bool) /\ (p