43 lines
847 B
C
Executable File
43 lines
847 B
C
Executable File
enum SmtPropBop{
|
|
SMTPROP_AND ,
|
|
SMTPROP_OR, SMTPROP_IMPLY, SMTPROP_IFF
|
|
};
|
|
typedef enum SmtPropBop SmtPropBop;
|
|
|
|
enum SmtPropUop{
|
|
SMTPROP_NOT = 4
|
|
};
|
|
typedef enum SmtPropUop SmtPropUop;
|
|
|
|
enum SmtPropType {
|
|
SMTB_PROP = 5,
|
|
SMTU_PROP,
|
|
SMT_PROPVAR
|
|
};
|
|
typedef enum SmtPropType SmtPropType;
|
|
|
|
struct SmtProp {
|
|
SmtPropType type;
|
|
union {
|
|
struct {
|
|
SmtPropBop op;
|
|
struct SmtProp * prop1;
|
|
struct SmtProp * prop2;
|
|
} Binary_prop;
|
|
struct {
|
|
SmtPropUop op;
|
|
struct SmtProp *prop1;
|
|
} Unary_prop;
|
|
int Propvar; //表示将原子命题抽象成的命题变元对应的编号
|
|
} prop;
|
|
};
|
|
|
|
typedef struct SmtProp SmtProp;
|
|
|
|
struct SmtProplist {
|
|
SmtProp* prop;
|
|
struct SmtProplist* next;
|
|
};
|
|
|
|
typedef struct SmtProplist SmtProplist;
|