* http://cs.unibo.it/helm/.
*)
+(* $Id$ *)
+
let absurd_tac ~term =
let absurd_tac ~term status =
let (proof, goal) = status in
term ; ty])
)
status
- else raise (ProofEngineTypes.Fail "Absurd: Not a Proposition")
+ else raise (ProofEngineTypes.Fail (lazy "Absurd: Not a Proposition"))
in
ProofEngineTypes.mk_tactic (absurd_tac ~term)
;;
~continuation: VariousTactics.assumption_tac))
status
with
- (ProofEngineTypes.Fail "Assumption: No such assumption") -> raise (ProofEngineTypes.Fail "Contradiction: No such assumption")
+ ProofEngineTypes.Fail msg when Lazy.force msg = "Assumption: No such assumption" -> raise (ProofEngineTypes.Fail (lazy "Contradiction: No such assumption"))
(* sarebbe piu' elegante se Assumtion sollevasse un'eccezione tutta sua che questa cattura, magari con l'aiuto di try_tactics *)
in
ProofEngineTypes.mk_tactic contradiction_tac