boolean_algebra.imply_gate ========================== .. py:module:: boolean_algebra.imply_gate .. autoapi-nested-parse:: An IMPLY Gate is a logic gate in boolean algebra which results to 1 if either input 1 is 0, or if input 1 is 1, then the output is 1 only if input 2 is 1. It is true if input 1 implies input 2. Following is the truth table of an IMPLY Gate: ------------------------------ | Input 1 | Input 2 | Output | ------------------------------ | 0 | 0 | 1 | | 0 | 1 | 1 | | 1 | 0 | 0 | | 1 | 1 | 1 | ------------------------------ Refer - https://en.wikipedia.org/wiki/IMPLY_gate Functions --------- .. autoapisummary:: boolean_algebra.imply_gate.imply_gate boolean_algebra.imply_gate.recursive_imply_list Module Contents --------------- .. py:function:: imply_gate(input_1: int, input_2: int) -> int Calculate IMPLY of the input values >>> imply_gate(0, 0) 1 >>> imply_gate(0, 1) 1 >>> imply_gate(1, 0) 0 >>> imply_gate(1, 1) 1 .. py:function:: recursive_imply_list(input_list: list[int]) -> int Recursively calculates the implication of a list. Strictly the implication is applied consecutively left to right: ( (a -> b) -> c ) -> d ... >>> recursive_imply_list([]) Traceback (most recent call last): ... ValueError: Input list must contain at least two elements >>> recursive_imply_list([0]) Traceback (most recent call last): ... ValueError: Input list must contain at least two elements >>> recursive_imply_list([1]) Traceback (most recent call last): ... ValueError: Input list must contain at least two elements >>> recursive_imply_list([0, 0]) 1 >>> recursive_imply_list([0, 1]) 1 >>> recursive_imply_list([1, 0]) 0 >>> recursive_imply_list([1, 1]) 1 >>> recursive_imply_list([0, 0, 0]) 0 >>> recursive_imply_list([0, 0, 1]) 1 >>> recursive_imply_list([0, 1, 0]) 0 >>> recursive_imply_list([0, 1, 1]) 1 >>> recursive_imply_list([1, 0, 0]) 1 >>> recursive_imply_list([1, 0, 1]) 1 >>> recursive_imply_list([1, 1, 0]) 0 >>> recursive_imply_list([1, 1, 1]) 1