diff --git a/dev/sidekick/Sidekick_sat/Proof_dummy/Make/Step_vec/index.html b/dev/sidekick/Sidekick_sat/Proof_dummy/Make/Step_vec/index.html new file mode 100644 index 00000000..ba92c1e1 --- /dev/null +++ b/dev/sidekick/Sidekick_sat/Proof_dummy/Make/Step_vec/index.html @@ -0,0 +1,2 @@ + +
Make.Step_vecA vector of steps
include Sidekick_util.Vec_sig.BASE with type elt = proof_stepinclude Sidekick_util.Vec_sig.BASE_RO with type elt = proof_steptype elt = proof_stepval size : t -> intval create : ?cap:int -> unit -> tval clear : t -> unitval is_empty : t -> boolval fast_remove : t -> int -> unitRemove element at index i without preserving order (swap with last element)
val ensure_size : t -> int -> unitval shrink : t -> int -> unitMake.1-LitProof_dummy.Makemodule Lit : sig ... endinclude Solver_intf.PROOF with type lit = Lit.t and type t = unit and type proof_step = unitmodule Step_vec : Sidekick_util.Vec_sig.S with type elt = proof_stepA vector of steps
type lit = Lit.tA boolean literal for the proof trace
type proof_rule = t -> proof_stepA proof proof_rule constructor, used to obtain proofs from theories
val enabled : t -> boolReturns true if proof production is enabled
val emit_input_clause : lit Iter.t -> proof_ruleEmit an input clause.
val emit_redundant_clause : lit Iter.t -> hyps:proof_step Iter.t -> proof_ruleEmit a clause deduced by the SAT solver, redundant wrt previous clauses. The clause must be RUP wrt hyps.
val emit_unsat_core : lit Iter.t -> proof_ruleProduce a proof of the empty clause given this subset of the assumptions. FIXME: probably needs the list of proof_step that disprove the lits?
val emit_unsat : proof_step -> t -> unitSignal "unsat" result at the given proof
val del_clause : proof_step -> lit Iter.t -> t -> unitForget a clause. Only useful for performance considerations.
Sidekick_sat.Proof_dummyModule for dummy proofs based on unit
Dummy proof module that does nothing.
Sidekick_satMain API
module Solver_intf : sig ... endInterface for Solvers
module type S = Solver_intf.Smodule type LIT = Solver_intf.LITmodule type PLUGIN_CDCL_T = Solver_intf.PLUGIN_CDCL_Tmodule type PROOF = Solver_intf.PROOFmodule type SAT_STATE = Solver_intf.SAT_STATEtype 'form sat_state = 'form Solver_intf.sat_statetype ('lit, 'proof) reason = ('lit, 'proof) Solver_intf.reason = | Consequence of unit -> 'lit list * 'proof |
module type ACTS = Solver_intf.ACTStype ('lit, 'proof, 'proof_step) acts = ('lit, 'proof, 'proof_step) Solver_intf.actsmodule Solver : sig ... endmodule Make_cdcl_t = Solver.Make_cdcl_tmodule Make_pure_sat = Solver.Make_pure_satSidekick_satMain API
module Solver_intf : sig ... endInterface for Solvers
module type S = Solver_intf.Smodule type LIT = Solver_intf.LITmodule type PLUGIN_CDCL_T = Solver_intf.PLUGIN_CDCL_Tmodule type PROOF = Solver_intf.PROOFmodule type SAT_STATE = Solver_intf.SAT_STATEtype 'form sat_state = 'form Solver_intf.sat_statetype ('lit, 'proof) reason = ('lit, 'proof) Solver_intf.reason = | Consequence of unit -> 'lit list * 'proof |
module type ACTS = Solver_intf.ACTStype ('lit, 'proof, 'proof_step) acts = ('lit, 'proof, 'proof_step) Solver_intf.actsmodule Solver : sig ... endmodule Make_cdcl_t = Solver.Make_cdcl_tmodule Make_pure_sat = Solver.Make_pure_satmodule Proof_dummy : sig ... endModule for dummy proofs based on unit
Sidekick_sat__Proof_dummySidekick_util.Backtrackable_refval create : ?copy:('a -> 'a) -> 'a -> 'a tCreate a backtrackable reference holding the given value initially.
val set : 'a t -> 'a -> unitSet the reference's current content
val get : 'a t -> 'aGet the reference's current content
val update : 'a t -> ('a -> 'a) -> unitUpdate the reference's current content
val push_level : _ t -> unitPush a backtracking level, copying the current value on top of some stack. The copy function will be used if it was provided in create.
val n_levels : _ t -> intNumber of saved values
val pop_levels : _ t -> int -> unitPop n levels, restoring to the value the reference was storing n calls to push_level earlier.
Sidekick_utilmodule Util : sig ... endmodule Vec : sig ... endVectors
module VecSmallInt : sig ... endVectors of int32 integers
module VecI32 : sig ... endVectors of int32 integers
module Vec_float : sig ... endVectors of floats
module Vec_unit : sig ... endmodule Vec_sig : sig ... endmodule Bitvec : sig ... endBitvector
module Int_id : sig ... endmodule Int_tbl = Util.Int_tblmodule Int_set = Util.Int_setmodule Int_map = Util.Int_mapmodule IArray : sig ... endmodule Backtrack_stack : sig ... endmodule Backtrackable_tbl : sig ... endmodule Log : sig ... endLogging function, for debugging
module Error : sig ... endmodule Bag : sig ... endmodule Stat : sig ... endmodule Hash : sig ... endmodule Profile : sig ... endmodule Chunk_stack : sig ... endManage a list of chunks.
module Intf = Sidekick_sigsSidekick_utilmodule Util : sig ... endmodule Vec : sig ... endVectors
module VecSmallInt : sig ... endVectors of int32 integers
module VecI32 : sig ... endVectors of int32 integers
module Vec_float : sig ... endVectors of floats
module Vec_unit : sig ... endmodule Vec_sig : sig ... endmodule Bitvec : sig ... endBitvector
module Int_id : sig ... endmodule Int_tbl = Util.Int_tblmodule Int_set = Util.Int_setmodule Int_map = Util.Int_mapmodule IArray : sig ... endmodule Backtrack_stack : sig ... endmodule Backtrackable_tbl : sig ... endmodule Backtrackable_ref : sig ... endmodule Log : sig ... endLogging function, for debugging
module Error : sig ... endmodule Bag : sig ... endmodule Stat : sig ... endmodule Hash : sig ... endmodule Profile : sig ... endmodule Chunk_stack : sig ... endManage a list of chunks.
module Intf = Sidekick_sigsSidekick_util__Backtrackable_ref