Can someone help me with solving boolean expressions with the help of forward chaining. A good tutorial will also help me.

Example: A.(A + B) = A

A.(A + B) => A.A + A.B [Applying distributive law]

A.A + A.B => A + A.B [Applying idempotency law]

A + A.B => A.(1 + B)

A.(1 + B) => A.(1) => A

I have made huge efforts but still am unable to do this. The procedure would require parsing the boolean expression and then recursive rule checking. I was thinking about creating a binary tree of the expression and then doing the rule check. Is my approach correct ? If not then suggest me an alternative.