Claims Analysis
Total Claims: 9
Claim 1
Independent Claim
167 words
Method for evaluating boolean expressions in a computer system comprising: forming a first constant from the expression to specify rearrangement of the variables, setting said first constant into a work area, translating said first constant in said work area using the variables as a translate table, forming a second constant from the expressions where the second constant functions to change the values of the variables to position numbers having values one less and two less than the position number of the variable and where the second constant changes the zeros between variables into position numbers which point to previous positions in the result string containing values of previously evaluated subexpressions, logically combining said translated first constant with said second constant using an exclusive OR operation, and translating the result of the exclusive OR operation using the result as the translate table as the result is changing during the translation, the result from last translation in the result being the value of the boolean expression being evaluated .
Claim 2
Dependent Claim
167 words
Method for evaluating boolean expressions in a computer system comprising: forming a first constant from the expression to specify rearrangement of the variables, setting said first constant into a work area, translating said first constant in said work area using the variables as a translate table, forming a second constant from the expressions where the second constant functions to change the values of the variables to position numbers having values one less and two less than the position number of the variable and where the second constant changes the zeros between variables into position numbers which point to previous positions in the result string containing values of previously evaluated subexpressions, logically combining said translated first constant with said second constant using an exclusive OR operation, and translating the result of the exclusive OR operation using the result as the translate table as the result is changing during the translation, the result from last translation in the result being the value of the boolean expression being evaluated .
Claim 3
Dependent Claim
295 words
Method for evaluating boolean expressions in a computer system where the boolean expressions are represented by E=P1|P2|P3-Pn and each term P is represented as the product of any number of literals Li and each literal Li consists of either the boolean variable Ii or the inverse Ii comprising the steps of: forming first and second control vectors X and Y respectively by first: ______________________________________
Set X = null string
Set Y = null string
______________________________________ second: ______________________________________
Set X = X||00
Set Y = Y||00
______________________________________ Form K by setting K=length of X minus 1 Test K for condition of odd or even Repeat second: if K is odd, third: Test boolean expression for form of leading term where the form can be "(Ij" or "(Ij" or "&Ij" or ")" or "|" and if leading term is: "(Ij" or "(Ij" delete leading term from expression, form a constant L by setting L=K, set X=X∥00∥j, set Y=Y∥01∥(F0 XOR K) if I is not inverted, set Y=Y∥01∥(F1 XOR K) if I is inverted, set K=K+2, if leading term is "&Ij" or "&Ij" delete leading term from expression, set X=X∥00∥j, set Y=Y∥L∥(F1 XOR K) if I is not inverted, set Y Y∥L∥(F0XOR K) if I is inverted, set K=K+2, if leading term is ")" or "|" delete leading term from expression, repeat third: until all terms of expression are deleted, translating first control vector X using the boolean variables Ii or Ii as the translate table, combining translated vector X with vector Y using an exclusive OR operation, translating the result of the exclusive OR operation using the result as the translation table as the result is changing during the translation, the result from the last translation in the result being the value of the boolean expression evaluated.
Claim 4
Dependent Claim
295 words
Method for evaluating boolean expressions in a computer system where the boolean expressions are represented by E=P1|P2|P3-Pn and each term P is represented as the product of any number of literals Li and each literal Li consists of either the boolean variable Ii or the inverse Ii comprising the steps of: forming first and second control vectors X and Y respectively by first: ______________________________________
Set X = null string
Set Y = null string
______________________________________ second: ______________________________________
Set X = X||00
Set Y = Y||00
______________________________________ Form K by setting K=length of X minus 1 Test K for condition of odd or even Repeat second: if K is odd, third: Test boolean expression for form of leading term where the form can be "(Ij" or "(Ij" or "&Ij" or ")" or "|" and if leading term is: "(Ij" or "(Ij" delete leading term from expression, form a constant L by setting L=K, set X=X∥00∥j, set Y=Y∥01∥(F0 XOR K) if I is not inverted, set Y=Y∥01∥(F1 XOR K) if I is inverted, set K=K+2, if leading term is "&Ij" or "&Ij" delete leading term from expression, set X=X∥00∥j, set Y=Y∥L∥(F1 XOR K) if I is not inverted, set Y Y∥L∥(F0XOR K) if I is inverted, set K=K+2, if leading term is ")" or "|" delete leading term from expression, repeat third: until all terms of expression are deleted, translating first control vector X using the boolean variables Ii or Ii as the translate table, combining translated vector X with vector Y using an exclusive OR operation, translating the result of the exclusive OR operation using the result as the translation table as the result is changing during the translation, the result from the last translation in the result being the value of the boolean expression evaluated.
Claim 5
Dependent Claim
296 words
Method for evaluating boolean expressions in a computer system comprising: creating a first vector from the boolean expression being evaluated by loading a first register with variable pointers corresponding with boolean variables in the expression and with two zeros preceding the first variable pointer and a zero between said variable pointers, creating a second vector from the boolean expression by loading a second register with values created from the boolean expression by combining the value of the boolean variables with the position numbers less one using an exclusive OR operation and using the false value of the variable in place of the true value when the variable is preceded by a logical AND operator, the created values being loaded in the odd positions of said second register starting with the third position thereof, the first position thereof being loaded with a zero and the even positions thereof being loaded with a one when the corresponding position of the variable in the boolean expression is bracketed by a left parenthesis preceded by a logical OR operator, with the value of the corresponding position of the last variable in the preceding product term and with a zero when there is no preceding product term, translating the contents of said first register using the boolean variables as a translate table, combining the translated contents of said first register with the contents of said second register using an exclusive OR operation, and translating the result produced from combining the translated contents of said first register with the contents of said second register using an exclusive OR operation where the result is used as the translate table as the result is changing during the translation, the result from last translation in the result being the value of the boolean expression evaluated.
Claim 6
Dependent Claim
296 words
Method for evaluating boolean expressions in a computer system comprising: creating a first vector from the boolean expression being evaluated by loading a first register with variable pointers corresponding with boolean variables in the expression and with two zeros preceding the first variable pointer and a zero between said variable pointers, creating a second vector from the boolean expression by loading a second register with values created from the boolean expression by combining the value of the boolean variables with the position numbers less one using an exclusive OR operation and using the false value of the variable in place of the true value when the variable is preceded by a logical AND operator, the created values being loaded in the odd positions of said second register starting with the third position thereof, the first position thereof being loaded with a zero and the even positions thereof being loaded with a one when the corresponding position of the variable in the boolean expression is bracketed by a left parenthesis preceded by a logical OR operator, with the value of the corresponding position of the last variable in the preceding product term and with a zero when there is no preceding product term, translating the contents of said first register using the boolean variables as a translate table, combining the translated contents of said first register with the contents of said second register using an exclusive OR operation, and translating the result produced from combining the translated contents of said first register with the contents of said second register using an exclusive OR operation where the result is used as the translate table as the result is changing during the translation, the result from last translation in the result being the value of the boolean expression evaluated.
Claim 7
Dependent Claim
19 words
The method of claim 3 where the translated contents of said first register are returned to said first register.
Claim 8
Dependent Claim
41 words
The method of claim 3 where the result of combining the translated contents of said first register with the contents of said second register using an exclusive OR operation is entered into said first register to replace the previous contents thereof.
Claim 9
Dependent Claim
60 words
The method of claim 3 where the boolean variables used as a translate table in the translation of the contents of said first register are loaded into a third register in positions succeeding the first position thereof in order according to the index numbers of said boolean variables, said first position of said third register being loaded with a zero.