diff options
Diffstat (limited to 'src/proposition.c')
| -rw-r--r-- | src/proposition.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/proposition.c b/src/proposition.c new file mode 100644 index 0000000..6f28fbe --- /dev/null +++ b/src/proposition.c @@ -0,0 +1,48 @@ +#include "proposition.h" +/* a proposition defines a relation between two propositions */ +prop_t init_prop(char isNegative, prop_t* propA, prop_t* propB, tokenType_t relation) { + prop_t prop; + prop.isNegative = isNegative; + prop.propA = propA; + prop.propB = propB; + prop.relation = relation; + prop.isSimple = 0; + return prop; +} +/* a simple proposition is one with only a name */ +prop_t init_simple_prop(char isNegative, char* name) { + prop_t prop; + prop.isNegative = isNegative; + prop.name = name; + prop.isSimple = 1; + return prop; +} +char* jrtos(justRule_t rule) { + switch (rule) { + case PREMISE_R: + return "PREMISE"; + case ASSUMPTION_R: + return "ASSUMPTION"; + case CONJUNCT_INTRO: + return "CONJUNCTION INTRODUCTION"; + case DISJUNCT_INTRO: + return "DISJUNCTION INTRODUCTION"; + case IMPLICATION_INTRO: + return "IMPLICATION INTRODUCTION"; + case CONJUNCT_ELIM: + return "CONJUNCTION ELIMINATION"; + case DISJUNCT_ELIM: + return "DISJUNCTION ELIMINATION"; + case IMPLICATION_ELIM: + return "IMPLICATION ELIMINATION"; + default: + return "ERR"; + } +} +just_t init_just(justRule_t rule, int* references, int referencesCount) { + just_t just; + just.rule = rule; + just.references = references; + just.referencesCount = referencesCount; + return just; +} |
