#include "lucky.h"
#include "analyze.h"
#include "backtrack.h"
#include "decide.h"
#include "inline.h"
#include "internal.h"
#include "print.h"
#include "proprobe.h"
#include "report.h"
Go to the source code of this file.
◆ kissat_lucky()
| int kissat_lucky |
( |
struct kissat * | solver | ) |
|
Definition at line 309 of file kucky.c.
309 {
310
312 return 0;
313
315 return 0;
316
322
323 int res = 0;
324
325 if (no_all_negative_clauses (
solver)) {
328 continue;
329 const unsigned lit =
LIT (idx);
331 continue;
333#ifndef KISSAT_NDEBUG
335#endif
338 }
342 res = 10;
343 }
344
345 if (!res && no_all_positive_clauses (
solver)) {
348 continue;
349 const unsigned lit =
LIT (idx);
351 continue;
352 const unsigned not_lit =
NOT (
lit);
354#ifndef KISSAT_NDEBUG
356#endif
359 }
363 res = 10;
364 }
365
366 const unsigned active_before =
solver->active;
367
368 if (!res)
369 res = forward_false_satisfiable (
solver);
370
371 if (!res)
372 res = forward_true_satisfiable (
solver);
373
374 if (!res)
375 res = backward_false_satisfiable (
solver);
376
377 if (!res)
378 res = backward_true_satisfiable (
solver);
379
380 const unsigned active_after =
solver->active;
381 const unsigned units = active_before - active_after;
382
383 if (!res && units)
385
386#ifndef KISSAT_QUIET
387 bool success = res || units;
388#endif
393
394 return res;
395}
void kissat_internal_assume(kissat *solver, unsigned lit)
#define all_variables(IDX)
#define KISSAT_assert(ignore)
#define kissat_message(...)
#define kissat_verbose(...)
clause * kissat_probing_propagate(kissat *solver, clause *ignore, bool flush)