void context::display_binary_clauses(std::ostream & out) const { bool first = true; unsigned l_idx = 0; for (watch_list const& wl : m_watches) { literal l1 = to_literal(l_idx++); literal neg_l1 = ~l1; literal const * it2 = wl.begin_literals(); literal const * end2 = wl.end_literals(); for (; it2 != end2; ++it2) { literal l2 = *it2; if (l1.index() < l2.index()) { if (first) { out << "binary clauses:\n"; first = false; } expr_ref t1(m_manager), t2(m_manager); literal2expr(neg_l1, t1); literal2expr(l2, t2); expr_ref disj(m_manager.mk_or(t1, t2), m_manager); out << disj << "\n"; #if 0 out << "(clause "; display_literal(out, neg_l1); out << " "; display_literal(out, l2); out << ")\n"; #endif } } } }
int mate(int x, int y) { int arg1,arg2; arg1=not(x); arg2=y; return disj(arg1,arg2); }
void udoc_relation::to_formula(expr_ref& fml) const { ast_manager& m = fml.get_manager(); expr_ref_vector disj(m); for (unsigned i = 0; i < m_elems.size(); ++i) { disj.push_back(to_formula(m_elems[i])); } fml = mk_or(m, disj.size(), disj.c_ptr()); }
int excl(int x, int y) { int arg1,arg2,arg3; arg1=disj(x,y); arg2=conj(x,y); arg3=not(arg2); return conj(arg1,arg3); }
cmp(u,v) { int x; eu = u; ev = v; x = disj(1); if(x!=1) return(x); return(eat(1,0)); }
int excl (int x, int y){ int temp1,temp2,temp3,temp4; temp1=disj(x,y); temp2=conj(x,y); temp3=not (temp2); temp4=conj(temp1,temp3); return temp4; /*END_OF_MAIN*/ }
int main () { /*START_OF_MAIN*/ int x,y; /*END_OF_VARIABLES*/ /* Oluşturdugum fonksiyonları burada cagırdım */ conj(x,y); disj(x,y); not(x); mate(x,y); excl(x,y); return 0; }
int mate (int x, int y){ int temp1,temp2; temp1=not(x); temp2=disj(temp1,y); return temp2; }
int main() { int part; int t1,t2; printf(" MENU OF BOOLEAN ALGEBRA \n"); printf("1.Conjunction\n2.Disjunction\n3.Negation\n"); printf("4.Material Implication\n5.Exclusive Or\n"); printf("6.Test the calculator with Monotone Laws\n7.Exit\n"); printf("Selection Time!\nEnter a part: "); scanf("%d",&part); switch(part) { case 1: printf("CONJUNCTION\n"); printf("\tYou can test true of conjunction law.\nLet's start test!!!"); printf("Enter two value (1 or 0) for test: "); scanf("%d %d",&t1,&t2); printf("%d and %d = %d\n",t1,t2,conj(t1,t2)); printf(" <<<<<>>>>>\n "); break; case 2: printf("DISJUNCTION\n"); printf("\tYou can test true of dijunction law.\nLet's start test!!!"); printf("Enter two value (1 or 0) for test: "); scanf("%d %d",&t1,&t2); printf("%d or %d = %d\n",t1,t2,disj(t1,t2)); printf(" <<<<<<>>>>>\n "); break; case 3: printf("NEGATION\n"); printf("\tYou can test true of negation law.\nLet's start test!!!"); printf("Enter a value (1 or 0) for test: "); scanf("%d",&t1); printf("'(%d) = %d\n",t1,not(t1,t2)); printf(" <<<<<<>>>>>>\n "); break; case 4: printf("MATERİAL IMPLICATION\n"); printf("\tYou can test true of material law.\nLet's start test!!!"); printf("Enter two value (1 or 0) for test: "); scanf("%d %d",&t1,&t2); printf("%d mate %d = %d\n",t1,t2,mate(t1,t2)); printf(" <<<<<<>>>>>\n "); break; case 5: printf("5.EXCLUSIVE OR\n"); printf("\tYou can test true of exclusive law.\nLet's start test!!!"); printf("Enter two value (1 or 0) for test: "); scanf("%d %d",&t1,&t2); printf("%d excl %d = %d\n",t1,t2,excl(t1,t2) ); printf(" <<<<<<>>>>>\n "); break; case 6: printf("Test the calculator with Monotone Laws\n"); printf("Enter the 'results.txt' for Monotone Laws\n"); testMonotone(); break; case 7: printf("7.EXIT\n"); printf(" <<<<<<THE END OF MENU>>>>>>\n "); break; default: printf("NOT IN MENU\n"); break; } return 0; }
void testMonotone() { FILE *out=fopen("results.txt","w"); int x,y,z; char c1,c2,c3,c4; char c5,c6,c7,c8; /*--------------------------------1.KURAL----------------------------*/ fprintf(out,"**********Associativity of V**********\n"); x=1; y=1; z=1; if(disj(x,disj(y,z))==disj(disj(x,y),z)) { fprintf(out,"x=1, y=1, z=1 için dogru\n"); c1='t'; /* control1 */ } else fprintf(out,"x=1, y=1, z=1 için yanlıs\n"); x=1; y=1; z=0; if(disj(x,disj(y,z))==disj(disj(x,y),z)) { fprintf(out,"x=1, y=1, z=0 için dogru\n"); c2='t'; /* control2 */ } else fprintf(out,"x=1, y=1, z=0 için yanlıs\n"); x=1; y=0; z=1; if(disj(x,disj(y,z))==disj(disj(x,y),z)) { fprintf(out,"x=1, y=0, z=1 için dogru\n"); c3='t'; /* control3 */ } else fprintf(out,"x=1, y=0, z=1 için yanlıs\n"); x=1; y=0; z=0; if(disj(x,disj(y,z))==disj(disj(x,y),z)) { fprintf(out,"x=1, y=0, z=0 için dogru\n"); c4='t'; /* control4 */ } else fprintf(out,"x=1, y=0, z=0 için yanlıs\n"); x=0; y=1; z=1; if(disj(x,disj(y,z))==disj(disj(x,y),z)) { fprintf(out,"x=0, y=1, z=1 için dogru\n"); c5='t'; /* control5 */ } else fprintf(out,"x=0, y=1, z=1 için yanlıs\n"); x=0; y=1; z=0; if(disj(x,disj(y,z))==disj(disj(x,y),z)) { fprintf(out,"x=0, y=1, z=0 için dogru\n"); c6='t'; /* control6 */ } else fprintf(out,"x=0, y=1, z=0 için yanlıs\n"); x=0; y=0; z=1; if(disj(x,disj(y,z))==disj(disj(x,y),z)) { fprintf(out,"x=0, y=0, z=1 için dogru\n"); c7='t'; /* control7 */ } else fprintf(out,"x=0, y=0, z=1 için yanlıs\n"); x=0; y=0; z=0; if(disj(x,disj(y,z))==disj(disj(x,y),z)) { fprintf(out,"x=0, y=0, z=0 için dogru\n"); c8='t'; /* control8 */ } else fprintf(out,"x=0, y=0, z=0 için yanlıs\n"); if(c1=='t' && c2=='t' && c3=='t' && c4=='t') { if(c5=='t' && c6=='t' && c7=='t' && c8=='t') fprintf(out,"\n1.Kural sağlandı!\n\n"); } /*--------------------------------2.KURAL----------------------------*/ fprintf(out,"**********Associativity of Λ**********\n"); x=1; y=1; z=1; if(conj(x,conj(y,z))==conj(conj(x,y),z)) { fprintf(out,"x=1, y=1, z=1 için dogru\n"); c1='t'; /* control1 */ } else fprintf(out,"x=1, y=1, z=1 için yanlıs\n"); x=1; y=1; z=0; if(conj(x,conj(y,z))==conj(conj(x,y),z)) { fprintf(out,"x=1, y=1, z=0 için dogru\n"); c2='t'; /* control2 */ } else fprintf(out,"x=1, y=1, z=0 için yanlıs\n"); x=1; y=0; z=1; if(conj(x,conj(y,z))==conj(conj(x,y),z)) { fprintf(out,"x=1, y=0, z=1 için dogru\n"); c3='t'; /* control3 */ } else fprintf(out,"x=1, y=0, z=1 için yanlıs\n"); x=1; y=0; z=0; if(conj(x,conj(y,z))==conj(conj(x,y),z)) { fprintf(out,"x=1, y=0, z=0 için dogru\n"); c4='t'; /* control4 */ } else fprintf(out,"x=1, y=0, z=0 için yanlıs\n"); x=0; y=1; z=1; if(conj(x,conj(y,z))==conj(conj(x,y),z)) { fprintf(out,"x=0, y=1, z=1 için dogru\n"); c5='t'; /* control5 */ } else fprintf(out,"x=0, y=1, z=1 için yanlıs\n"); x=0; y=1; z=0; if(conj(x,conj(y,z))==conj(conj(x,y),z)) { fprintf(out,"x=0, y=1, z=0 için dogru\n"); c6='t'; /* control6 */ } else fprintf(out,"x=0, y=1, z=0 için yanlıs\n"); x=0; y=0; z=1; if(conj(x,conj(y,z))==conj(conj(x,y),z)) { fprintf(out,"x=0, y=0, z=1 için dogru\n"); c7='t'; /* control7 */ } else fprintf(out,"x=0, y=0, z=1 için yanlıs\n"); x=0; y=0; z=0; if(conj(x,conj(y,z))==conj(conj(x,y),z)) { fprintf(out,"x=0, y=0, z=0 için dogru\n"); c8='t'; /* control8 */ } else fprintf(out,"x=0, y=0, z=0 için yanlıs\n"); if(c1=='t' && c2=='t' && c3=='t' && c4=='t') { if(c5=='t' && c6=='t' && c7=='t' && c8=='t') fprintf(out,"\n2.Kural sağlandı!\n\n"); } /*--------------------------------3.KURAL----------------------------*/ fprintf(out,"**********Commutativity of V**********\n"); x=1; y=1; if(disj(x,y)==disj(y,x)) { fprintf(out,"x=1, y=1 için dogru\n"); c1='t'; /* control1 */ } else fprintf(out,"x=1, y=1 için yanlıs\n"); x=1; y=0; if(disj(x,y)==disj(y,x)) { fprintf(out,"x=1, y=0 için dogru\n"); c2='t'; /* control2 */ } else fprintf(out,"x=1, y=0 için yanlıs\n"); x=0; y=1; if(disj(x,y)==disj(y,x)) { fprintf(out,"x=0, y=1 için dogru\n"); c3='t'; /* control3 */ } else fprintf(out,"x=0, y=1 için yanlıs\n"); x=0; y=0; if(disj(x,y)==disj(y,x)) { fprintf(out,"x=0, y=0 için dogru\n"); c4='t'; /* control4 */ } else fprintf(out,"x=0, y=0 için yanlıs\n"); if(c1=='t' && c2=='t' && c3=='t' && c4=='t') fprintf(out,"\n3.Kural sağlandı!\n\n"); /*--------------------------------4.KURAL----------------------------*/ fprintf(out,"********** Commutativity of Λ**********\n"); x=1; y=1; if(conj(x,y)==conj(y,x)) { fprintf(out,"x=1, y=1 için dogru\n"); c1='t'; /* control1 */ } else fprintf(out,"x=1, y=1 için yanlıs\n"); x=1; y=0; if(conj(x,y)==conj(y,x)) { fprintf(out,"x=1, y=0 için dogru\n"); c2='t'; /* control2 */ } else fprintf(out,"x=1, y=0 için yanlıs\n"); x=0; y=1; if(conj(x,y)==conj(y,x)) { fprintf(out,"x=0, y=1 için dogru\n"); c3='t'; /* control3 */ } else fprintf(out,"x=0, y=1 için yanlıs\n"); x=0; y=0; if(conj(x,y)==conj(y,x)) { fprintf(out,"x=0, y=0 için dogru\n"); c4='t'; /* control4 */ } else fprintf(out,"x=0, y=0 için yanlıs\n"); if(c1=='t' && c2=='t' && c3=='t' && c4=='t') fprintf(out,"\n4.Kural sağlandı!\n\n"); /*--------------------------------5.KURAL----------------------------*/ fprintf(out,"**********Distributivity of Λ over V**********\n"); x=1; y=1; z=1; if(conj(x,disj(y,z))==disj(conj(x,y),conj(x,z))) { fprintf(out,"x=1, y=1, z=1 için dogru\n"); c1='t'; /* control1 */ } else fprintf(out,"x=1, y=1, z=1 için yanlıs\n"); x=1; y=1; z=0; if(conj(x,disj(y,z))==disj(conj(x,y),conj(x,z))) { fprintf(out,"x=1, y=1, z=0 için dogru\n"); c2='t'; /* control2 */ } else fprintf(out,"x=1, y=1, z=0 için yanlıs\n"); x=1; y=0; z=1; if(conj(x,disj(y,z))==disj(conj(x,y),conj(x,z))) { fprintf(out,"x=1, y=0, z=1 için dogru\n"); c3='t'; /* control3 */ } else fprintf(out,"x=1, y=0, z=1 için yanlıs\n"); x=1; y=0; z=0; if(conj(x,disj(y,z))==disj(conj(x,y),conj(x,z))) { fprintf(out,"x=1, y=0, z=0 için dogru\n"); c4='t'; /* control4 */ } else fprintf(out,"x=1, y=0, z=0 için yanlıs\n"); x=0; y=1; z=1; if(conj(x,disj(y,z))==disj(conj(x,y),conj(x,z))) { fprintf(out,"x=0, y=1, z=1 için dogru\n"); c5='t'; /* control5 */ } else fprintf(out,"x=0, y=1, z=1 için yanlıs\n"); x=0; y=1; z=0; if(conj(x,disj(y,z))==disj(conj(x,y),conj(x,z))) { fprintf(out,"x=0, y=1, z=0 için dogru\n"); c6='t'; /* control6 */ } else fprintf(out,"x=0, y=1, z=0 için yanlıs\n"); x=0; y=0; z=1; if(conj(x,disj(y,z))==disj(conj(x,y),conj(x,z))) { fprintf(out,"x=0, y=0, z=1 için dogru\n"); c7='t'; /* control7 */ } else fprintf(out,"x=0, y=0, z=1 için yanlıs\n"); x=0; y=0; z=0; if(conj(x,disj(y,z))==disj(conj(x,y),conj(x,z))) { fprintf(out,"x=0, y=0, z=0 için dogru\n"); c8='t'; /* control8 */ } else fprintf(out,"x=0, y=0, z=0 için yanlıs\n"); if(c1=='t' && c2=='t' && c3=='t' && c4=='t') { if(c5=='t' && c6=='t' && c7=='t' && c8=='t') fprintf(out,"\n5.Kural sağlandı!\n\n"); } /*--------------------------------6.KURAL----------------------------*/ fprintf(out,"**********Identity for V**********\n"); x=1; if(disj(x,0)==x) { fprintf(out,"x=1 için dogru\n"); c1='t'; /* control1 */ } else fprintf(out,"x=1 için yanlıs\n"); x=0; if(disj(x,0)==x) { fprintf(out,"x=0 için dogru\n"); c2='t'; /* control2 */ } else fprintf(out,"x=0 için yanlıs\n"); if(c1=='t' && c2=='t') fprintf(out,"\n6.Kural sağlandı!\n\n"); /*--------------------------------7.KURAL----------------------------*/ fprintf(out,"**********Identity for Λ**********\n"); x=1; if(conj(x,1)==x) { fprintf(out,"x=1 için dogru\n"); c1=='t'; /* control1 */ } else fprintf(out,"x=1 için yanlıs\n"); x=0; if(conj(x,1)==x) { fprintf(out,"x=0 için dogru\n"); c2=='t' ; /* control2 */ } else fprintf(out,"x=0 için yanlıs\n"); if(c1=='t' && c2=='t') fprintf(out,"\n7.Kural sağlandı!\n\n"); /*--------------------------------8.KURAL----------------------------*/ fprintf(out,"**********Annihilator for Λ**********\n"); x=1; if(conj(x,0)==0) { fprintf(out,"x=1 için dogru\n"); c1=='t'; /* control1 */ } else fprintf(out,"x=1 için yanlıs\n"); x=0; if(conj(x,0)==0) { fprintf(out,"x=0 için dogru\n"); c2=='t'; /* control2 */ } else fprintf(out,"x=0 için yanlıs\n"); if(c1=='t' && c2=='t') fprintf(out,"\n8.Kural sağlandı!\n\n"); fclose(out); }