درباره این برنامه
این برنامه ای است که می تواند جبر بولی را با استفاده از قانون و Kmaps ساده کند
اصل بولی، خواص، و قضایا
فرض، خواص و قضایای زیر در جبر بولی معتبر است و در ساده سازی عبارات یا توابع منطقی استفاده می شود:
فرضیه ها حقایق بدیهی هستند.
1a: $A=1$ (اگر A ≠ 0) 1b: $A=0$ (اگر A ≠ 1)
2a: $0∙0=0$ 2b: $0+0=0$
3a: $1∙1=1$ 3b: $1+1=1$
4a: $1∙0=0$ 4b: $1+0=1$
5a: $overline{1}=0$ 5b: $overline{0}=1$
ویژگی هایی که در جبر بولی معتبر هستند، مشابه ویژگی های جبر معمولی هستند
جایگزینی $A∙B=B∙A$ $A+B=B+A$
انجمنی $A∙(B∙C)=(A∙B)∙C$$A+(B+C)=(A+B)+C$
توزیعی $A∙(B+C)=A∙B+A∙C$ $A+(B∙C)=(A+B)∙(A+C)$
قضایایی که در جبر بولی تعریف می شوند عبارتند از:
1a: $A∙0=0$ 1b: $A+0=A$
2a: $A∙1=A$ 2b: $A+1=1$
3a: $A∙A=A$ 3b: $A+A=A$
4a: $A∙overline{A}=0$ 4b: $A+overline{A}=1$
5a: $overline{overline{A}}=A$ 5b: $A=overline{overline{A}}$
6a: $overline{A∙B}=overline{A}+overline{B}6b$: $overline{A+B}=overline{A}∙overline{B}$
با استفاده از فرضیهها، خواص و/یا قضایای بولی، میتوانیم عبارات بولی پیچیده را سادهسازی کنیم و یک نمودار بلوک منطقی کوچکتر بسازیم (مدار ارزانتر).
برای مثال، برای ساده کردن $AB(A+C)$ داریم:
قانون توزیع $AB(A+C)$
قانون تجمعی =$ABA+ABC$
=$AAB+ABC$ قضیه 3a
قانون توزیع =$AB+ABC$
=$AB(1+C)$ قضیه 2b
=$AB1$ قضیه 2a
=$AB$
اگرچه موارد فوق تمام چیزی است که برای ساده کردن یک معادله بولی نیاز دارید. میتوانید از بسط قضایا/قوانین برای سادهتر کردن آن استفاده کنید. موارد زیر مقدار مراحل مورد نیاز برای ساده سازی را کاهش می دهد اما شناسایی آن دشوارتر خواهد بود.
7a: $A∙(A+B)=A$ 7b: $A+A∙B=A$
8a: $(A+B)∙(A+overline{B})=A$ 8b: $A∙B+A∙overline{B}=A$
9a: $(A+overline{B})∙B=A∙B$ 9b: $A∙overline{B}+B=A+B$
10: $A⊕B=overline{A}∙B+A∙overline{B}$
11: $A⊙B=overline{A}∙overline{B}+A∙B$
⊕ = XOR، ⊙ = XNOR
اکنون با استفاده از این قضایا/قوانین جدید میتوانیم عبارت قبلی را به این صورت ساده کنیم.
برای ساده کردن $AB(A+C)$ داریم:
قانون توزیع $AB(A+C)$
قانون تجمعی =$ABA+ABC$
=$AAB+ABC$ قضیه 3a
=$AB+ABC$ قضیه 7b
نمایش برنامه
![Boolean simplifier](/static/lazy.gif)
![Boolean simplifier](/static/lazy.gif)
![Boolean simplifier](/static/lazy.gif)
![Boolean simplifier](/static/lazy.gif)
![Boolean simplifier](/static/lazy.gif)