Ejemplo n.º 1
0
/**
 * These 3 functions are used to help the readability
 * Use statusFormula with good parameters
 */
int isSatisfiedFormula(Formula c,Interpretation I) {
    while(c.clauseHead!=NULL) {
        int clauseStatus= statusClause(*c.clauseHead->clause,I);
        if (clauseStatus != TRUE ) return FALSE;
        c.clauseHead=c.clauseHead->next;
    }
    return TRUE;
}
Ejemplo n.º 2
0
int main(){
    Formula f;
    Interpretation I;
    int clauses=rand()%20;
    int var=rand()%30;
    createFormula(&f, clauses, var);
    generateFullRandomFormula(&f,clauses,var);
    createAndInitializeInterpretation(&I, f.nbVariables);

    for (int i = 0; i < f.nbVariables; ++i) {
        assignVariable(I,i,rand()%2);
    }
    int randomValue= rand()%(f.nbClauses);
    printf("\nstatus of a random clause %d: %d",randomValue,statusClause(f.clauses[randomValue],I));


    randomValue= rand()%(f.nbClauses);

    printf("\nsatifcation of a random clause %d : %d",randomValue,isSatisfiedClause(f.clauses[randomValue],I));

    randomValue= rand()%(f.nbClauses);

    printf("\nfalsefcation of a random clause %d : %d",randomValue,isFalsifiedClause(f.clauses[randomValue],I));

    randomValue= rand()%(f.nbClauses);

    printf("\nUndetermination of a random clause %d : %d",randomValue,isUndefClause(f.clauses[randomValue],I));


    randomValue= rand()%(f.nbClauses);

    printf("\nUnit of a random clause %d : %d",randomValue,isUnit(f.clauses[randomValue],I));



    printf("\nThe status of the fourmla is %d",statusFormula(f,I));

    printf("\nSatification of the fourmla is %d",isSatisfiedFormula(f,I));

    printf("\nFalefication of the fourmla is %d",isFalsifiedFormula(f,I));

    printf("\nUndetermination of the fourmla is %d",isUndefFormula(f,I));

    displayFormula(f,I);


}
Ejemplo n.º 3
0
int isUndefClause(Clause c,Interpretation I) {
    if(statusClause(c,I)==UNDEF)return TRUE;
    return FALSE;
}
Ejemplo n.º 4
0
int isFalsifiedClause(Clause c,Interpretation I) {
    if(statusClause(c,I)==FALSE)return TRUE;
    return FALSE;
}
Ejemplo n.º 5
0
int isSatisfiedClause(Clause c,Interpretation I) {
    if(statusClause(c,I)==TRUE)return TRUE;
    return FALSE;
}