I was hoping this would work for applying the Law of Cases to a proof, but
it adds q to the list of premises.
What could I do to remove that?

=SML
fun law_of_cases th1 th2 =
let
val D⇒ (tm,_) = dest_term (concl th1)
in asm_elim tm (undisch_rule th1)(undisch_rule th2)
end;
val L0 = asm_rule ⌜p ∨ q⌝;
val L1 = asm_rule ⌜p⇒r⌝;
val L2 = asm_rule ⌜q⇒r⌝;
law_of_cases L1 L2;
=GFT
:) val L0 = p ∨ q ⊢ p ∨ q: THM
:) val L1 = p ⇒ r ⊢ p ⇒ r: THM
:) val L2 = q ⇒ r ⊢ q ⇒ r: THM
:) val it = p ⇒ r, q ⇒ r, q ⊢ r: THM
_______________________________________________
Proofpower mailing list
Proofpower@lemma-one.com
http://lemma-one.com/mailman/listinfo/proofpower_lemma-one.com

Reply via email to