src/Tools/Argo/argo_common.ML
author wenzelm
Sat, 05 Dec 2020 13:12:18 +0100
changeset 72819 0f01783400b2
parent 63960 3daf02070be5
permissions -rw-r--r--
tuned;

(*  Title:      Tools/Argo/argo_common.ML
    Author:     Sascha Boehme

Common infrastructure for the decision procedures of Argo.
*)

signature ARGO_COMMON =
sig
  type literal = Argo_Lit.literal * Argo_Proof.proof option
  datatype 'a implied = Implied of 'a list | Conflict of Argo_Cls.clause
end

structure Argo_Common: ARGO_COMMON =
struct

type literal = Argo_Lit.literal * Argo_Proof.proof option
  (* Implied new knowledge accompanied with an optional proof. If there is no proof,
     the literal is to be treated hypothetically. If there is a proof, the literal is
     to be treated as uni clause. *)

datatype 'a implied = Implied of 'a list | Conflict of Argo_Cls.clause
  (* A result of a step of a decision procedure, either an implication of new knowledge
     or clause whose literals are known to be false. *)

end