ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
weaken.h File Reference
#include "global.h"
Include dependency graph for weaken.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void kissat_weaken_unit (struct kissat *, unsigned lit)
 
void kissat_weaken_binary (struct kissat *, unsigned lit, unsigned other)
 
void kissat_weaken_clause (struct kissat *, unsigned lit, struct clause *)
 

Function Documentation

◆ kissat_weaken_binary()

void kissat_weaken_binary ( struct kissat * solver,
unsigned lit,
unsigned other )

Definition at line 48 of file weaken.c.

48 {
49 INC (weakened);
50 LOGBINARY (lit, other, "blocking on %s and weakening", LOGLIT (lit));
51 push_witness_literal (solver, lit);
52 push_clause_literal (solver, other);
53 LOGPUSHED (2);
54}
#define INC(NAME)
#define solver
Definition kitten.c:211
#define LOGBINARY(...)
Definition logging.h:442
#define LOGLIT(...)
Definition logging.hpp:99
int lit
Definition satVec.h:130
#define LOGPUSHED(SIZE)
Definition weaken.c:31

◆ kissat_weaken_clause()

void kissat_weaken_clause ( struct kissat * solver,
unsigned lit,
struct clause * c )

Definition at line 38 of file weaken.c.

38 {
39 INC (weakened);
40 LOGCLS (c, "blocking on %s and weakening", LOGLIT (lit));
41 push_witness_literal (solver, lit);
42 for (all_literals_in_clause (other, c))
43 if (lit != other)
44 push_clause_literal (solver, other);
45 LOGPUSHED (c->size);
46}
#define all_literals_in_clause(LIT, C)
Definition clause.h:47
#define LOGCLS(...)
Definition logging.h:415
unsigned size
Definition clause.h:37

◆ kissat_weaken_unit()

void kissat_weaken_unit ( struct kissat * solver,
unsigned lit )

Definition at line 56 of file weaken.c.

56 {
57 INC (weakened);
58 LOG ("blocking and weakening unit %s", LOGLIT (lit));
59 push_witness_literal (solver, lit);
60 LOGEXT (1, END_STACK (solver->extend) - 1,
61 "pushed witness labelled unit clause at");
62}
#define END_STACK(S)
Definition stack.h:48
#define LOG(...)
#define LOGEXT(...)
Definition logging.h:388